aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/datagram.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2006-08-29 17:15:09 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 14:55:45 -0700
commit8e1ef0a95b87e8b4292b2ba733e8cb854ea2d2fe (patch)
tree245489015b33604df5b270ce3c027205d867a929 /net/ipv6/datagram.c
parentcf6b1982599cbb60f410adeda659b0b29cdf7ad7 (diff)
downloadlinux-8e1ef0a95b87e8b4292b2ba733e8cb854ea2d2fe.tar.gz
[IPV6]: Cache source address as well in ipv6_pinfo{}.
Based on MIPL2 kernel patch. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/datagram.c')
-rw-r--r--net/ipv6/datagram.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c
index c73508e090a64..8561b9da6db61 100644
--- a/net/ipv6/datagram.c
+++ b/net/ipv6/datagram.c
@@ -193,7 +193,12 @@ ipv4_connected:
ip6_dst_store(sk, dst,
ipv6_addr_equal(&fl.fl6_dst, &np->daddr) ?
- &np->daddr : NULL);
+ &np->daddr : NULL,
+#ifdef CONFIG_IPV6_SUBTREES
+ ipv6_addr_equal(&fl.fl6_src, &np->saddr) ?
+ &np->saddr :
+#endif
+ NULL);
sk->sk_state = TCP_ESTABLISHED;
out: