summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorWeixing Shi2011-04-26 23:36:32 +0200
committerDavid S. Miller2011-04-27 22:14:04 +0200
commit625034113bd45c71fb9e329f52f25fef9e6993a3 (patch)
treef4bd4ffc34bcf7993f8815ed55adc7cf0f4c2be9 /include
parentixgbe: convert to ethtool set_phys_id (diff)
downloadkernel-qcow2-linux-625034113bd45c71fb9e329f52f25fef9e6993a3.tar.gz
kernel-qcow2-linux-625034113bd45c71fb9e329f52f25fef9e6993a3.tar.xz
kernel-qcow2-linux-625034113bd45c71fb9e329f52f25fef9e6993a3.zip
sctp: fix sctp to work with ipv6 source address routing
In the below test case, using the source address routing, sctp can not work. Node-A 1)ifconfig eth0 inet6 add 2001:1::1/64 2)ip -6 rule add from 2001:1::1 table 100 pref 100 3)ip -6 route add 2001:2::1 dev eth0 table 100 4)sctp_darn -H 2001:1::1 -P 250 -l & Node-B 1)ifconfig eth0 inet6 add 2001:2::1/64 2)ip -6 rule add from 2001:2::1 table 100 pref 100 3)ip -6 route add 2001:1::1 dev eth0 table 100 4)sctp_darn -H 2001:2::1 -P 250 -h 2001:1::1 -p 250 -s root cause: Node-A and Node-B use the source address routing, and at begining, source address will be NULL,sctp will search the routing table by the destination address, because using the source address routing table, and the result dst_entry will be NULL. solution: walk through the bind address list to get the source address and then lookup the routing table again to get the correct dst_entry. Signed-off-by: Weixing Shi <Weixing.Shi@windriver.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions