diff options
author | Noriaki TAKAMIYA <takamiya@po.ntts.co.jp> | 2007-09-06 06:31:25 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:48:32 -0400 |
commit | a47ed4cd8cb0709723392f5b841e9015f765d0a6 (patch) | |
tree | 6b79a4b94602bbc0e27df9a6a869253438833f74 /include | |
parent | e773e4faa19c54c2f32ddd16add2919588488bd9 (diff) |
[IPV6] XFRM: Fix connected socket to use transformation.
When XFRM policy and state are ready after TCP connection is started,
the traffic should be transformed immediately, however it does not
on IPv6 TCP.
It depends on a dst cache replacement policy with connected socket.
It seems that the replacement is always done for IPv4, however, on
IPv6 case it is done only when routing cookie is changed.
This patch fix that non-transformation dst can be changed to
transformation one.
This behavior is required by MIPv6 and improves IPv6 IPsec.
Fixes by Masahide NAKAMURA.
Signed-off-by: Noriaki TAKAMIYA <takamiya@po.ntts.co.jp>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/ip6_fib.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index c48ea873f1e0..857821360bb6 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h | |||
@@ -105,6 +105,10 @@ struct rt6_info | |||
105 | struct rt6key rt6i_src; | 105 | struct rt6key rt6i_src; |
106 | 106 | ||
107 | u8 rt6i_protocol; | 107 | u8 rt6i_protocol; |
108 | |||
109 | #ifdef CONFIG_XFRM | ||
110 | u32 rt6i_flow_cache_genid; | ||
111 | #endif | ||
108 | }; | 112 | }; |
109 | 113 | ||
110 | static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) | 114 | static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) |