diff options
author | Masahide NAKAMURA <nakam@linux-ipv6.org> | 2007-12-20 23:41:12 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:59:36 -0500 |
commit | a1b051405bc16222d92c73b0c26d65b333a154ee (patch) | |
tree | 2950e34bbb51838f8da3e1d03c8ee608d3b56f55 /include | |
parent | bd515c3e48ececd774eb3128e81b669dbbd32637 (diff) |
[XFRM] IPv6: Fix dst/routing check at transformation.
IPv6 specific thing is wrongly removed from transformation at net-2.6.25.
This patch recovers it with current design.
o Update "path" of xfrm_dst since IPv6 transformation should
care about routing changes. It is required by MIPv6 and
off-link destined IPsec.
o Rename nfheader_len which is for non-fragment transformation used by
MIPv6 to rt6i_nfheader_len as IPv6 name space.
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/ip6_fib.h | 2 | ||||
-rw-r--r-- | include/net/xfrm.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 14830edc2ac0..d8d85b13364d 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h | |||
@@ -101,7 +101,7 @@ struct rt6_info | |||
101 | atomic_t rt6i_ref; | 101 | atomic_t rt6i_ref; |
102 | 102 | ||
103 | /* more non-fragment space at head required */ | 103 | /* more non-fragment space at head required */ |
104 | unsigned short nfheader_len; | 104 | unsigned short rt6i_nfheader_len; |
105 | 105 | ||
106 | u8 rt6i_protocol; | 106 | u8 rt6i_protocol; |
107 | 107 | ||
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index d6dae5ae7abe..eea1c327c93e 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -242,6 +242,9 @@ struct xfrm_policy_afinfo { | |||
242 | struct flowi *fl, | 242 | struct flowi *fl, |
243 | int reverse); | 243 | int reverse); |
244 | int (*get_tos)(struct flowi *fl); | 244 | int (*get_tos)(struct flowi *fl); |
245 | int (*init_path)(struct xfrm_dst *path, | ||
246 | struct dst_entry *dst, | ||
247 | int nfheader_len); | ||
245 | int (*fill_dst)(struct xfrm_dst *xdst, | 248 | int (*fill_dst)(struct xfrm_dst *xdst, |
246 | struct net_device *dev); | 249 | struct net_device *dev); |
247 | }; | 250 | }; |