summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2009-04-07 10:35:11 +0200
committerVlad Yasevich <vladislav.yasevich@hp.com>2009-06-03 15:14:46 +0200
commita2c395846cf6abfdda3c04a19a0982adbb6469c2 (patch)
tree61bd4a2939f686fffc8e9d2c2a29d3ec2456f436
parentsctp: fix a typo in net/sctp/sm_statetable.c (diff)
downloadlinux-a2c395846cf6abfdda3c04a19a0982adbb6469c2.tar.xz
linux-a2c395846cf6abfdda3c04a19a0982adbb6469c2.zip
sctp: fix to only enable IPv6 address support on PF_INET6 socket
If socket is create by PF_INET type, it can not used IPv6 address to send/recv DATA. So only enable 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>
-rw-r--r--net/sctp/associola.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index f4b23043b610..e7b69a7360e2 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -293,7 +293,8 @@ static struct sctp_association *sctp_association_init(struct sctp_association *a
* told otherwise.
*/
asoc->peer.ipv4_address = 1;
- asoc->peer.ipv6_address = 1;
+ if (asoc->base.sk->sk_family == PF_INET6)
+ asoc->peer.ipv6_address = 1;
INIT_LIST_HEAD(&asoc->asocs);
asoc->autoclose = sp->autoclose;