SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails
Subsystems (3)
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 <[email protected]>
Signed-off-by Vlad Yasevich <[email protected]>
--- net/sctp/protocol.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
net/sctp/protocol.c +8 -3
@@ -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" );
Signature · 1 line
1.5.4.3
David Miller
maintainerFrom: Brian Haley <[email protected]>
Date: Tue, 03 Mar 2009 21:38:54 -0500
Quoted 8 lines
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 <[email protected]>Signed-off-by Vlad Yasevich <[email protected]>
Also applied, and also this patch had the same corruption issues.