sctp: Do not enable peer IPv6 address support on PF_INET socket
authorWei Yongjun <yjwei@cn.fujitsu.com>
Fri, 9 May 2008 22:11:17 +0000 (15:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 May 2008 10:11:43 +0000 (03:11 -0700)
If socket is create by PF_INET type, it can not used IPv6 address to
send/recv DATA, So we can not used IPv6 address even if peer tell us it
support IPv6 address.
This patch fix to only enabled peer IPv6 address support on PF_INET6 socket.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/sm_make_chunk.c

index 81b606424e122a2f033fba1d8ddb0839d3dd01f4..69a464f1d2b98f97970dd219ea705fcea6f20891 100644 (file)
@@ -2418,7 +2418,8 @@ static int sctp_process_param(struct sctp_association *asoc,
                                break;
 
                        case SCTP_PARAM_IPV6_ADDRESS:
-                               asoc->peer.ipv6_address = 1;
+                               if (PF_INET6 == asoc->base.sk->sk_family)
+                                       asoc->peer.ipv6_address = 1;
                                break;
 
                        case SCTP_PARAM_HOST_NAME_ADDRESS: