linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails
@ 2009-03-04  2:38 Brian Haley
  2009-03-04 11:22 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Brian Haley @ 2009-03-04  2:38 UTC (permalink / raw)
  To: David Miller
  Cc: Andrey Borzenkov, Vladislav Yasevich, Chuck Lever, Theodore Tso,
	Valdis.Kletnieks, Rafael J. Wysocki, netdev, bonding-devel,
	"J.A. Magallón",
	Linux Kernel Mailing List, Jay Vosburgh


Change sctp_ctl_sock_init() to try IPv4 if IPv6 socket registration
fails.  Required if the IPv6 module is loaded with "disable=1",
else SCTP will fail to load.


Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
---
  net/sctp/protocol.c |   11 ++++++++---
  1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
index c1e316e..e8c6287 100644
--- a/net/sctp/protocol.c
+++ b/net/sctp/protocol.c
@@ -692,15 +692,20 @@ static int sctp_inetaddr_event(struct notifier_block 
*this, unsigned long ev,
  static int sctp_ctl_sock_init(void)
  {
  	int err;
-	sa_family_t family;
+	sa_family_t family = PF_INET;

  	if (sctp_get_pf_specific(PF_INET6))
  		family = PF_INET6;
-	else
-		family = PF_INET;

  	err = inet_ctl_sock_create(&sctp_ctl_sock, family,
  				   SOCK_SEQPACKET, IPPROTO_SCTP, &init_net);
+
+	/* If IPv6 socket could not be created, try the IPv4 socket */
+	if (err < 0 && family == PF_INET6)
+		err = inet_ctl_sock_create(&sctp_ctl_sock, AF_INET,
+					   SOCK_SEQPACKET, IPPROTO_SCTP,
+					   &init_net);
+
  	if (err < 0) {
  		printk(KERN_ERR
  		       "SCTP: Failed to create the SCTP control socket.\n");
-- 
1.5.4.3


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 2/2] SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails
  2009-03-04  2:38 [PATCH 2/2] SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails Brian Haley
@ 2009-03-04 11:22 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2009-03-04 11:22 UTC (permalink / raw)
  To: brian.haley
  Cc: arvidjaar, vladislav.yasevich, chuck.lever, tytso,
	Valdis.Kletnieks, rjw, netdev, bonding-devel, jamagallon,
	linux-kernel, fubar

From: Brian Haley <brian.haley@hp.com>
Date: Tue, 03 Mar 2009 21:38:54 -0500

> 
> Change sctp_ctl_sock_init() to try IPv4 if IPv6 socket registration
> fails.  Required if the IPv6 module is loaded with "disable=1",
> else SCTP will fail to load.
> 
> 
> Signed-off-by: Brian Haley <brian.haley@hp.com>
> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>

Also applied, and also this patch had the same corruption issues.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-03-04 11:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-04  2:38 [PATCH 2/2] SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails Brian Haley
2009-03-04 11:22 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).