[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <49ADE9BE.2040303@hp.com>
Date: Tue, 03 Mar 2009 21:38:54 -0500
From: Brian Haley <brian.haley@...com>
To: David Miller <davem@...emloft.net>
CC: Andrey Borzenkov <arvidjaar@...l.ru>,
Vladislav Yasevich <vladislav.yasevich@...com>,
Chuck Lever <chuck.lever@...cle.com>,
Theodore Tso <tytso@....edu>, Valdis.Kletnieks@...edu,
"Rafael J. Wysocki" <rjw@...k.pl>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
bonding-devel@...ts.sourceforge.net,
"J.A. Magallón"
<jamagallon@....com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jay Vosburgh <fubar@...ibm.com>
Subject: [PATCH 2/2] SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6
fails
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@...com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@...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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists