diff options
author | Masahide NAKAMURA <nakam@linux-ipv6.org> | 2007-12-20 20:41:12 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 14:59:36 -0800 |
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 14830edc2ac..d8d85b13364 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -101,7 +101,7 @@ struct rt6_info atomic_t rt6i_ref; /* more non-fragment space at head required */ - unsigned short nfheader_len; + unsigned short rt6i_nfheader_len; u8 rt6i_protocol; diff --git a/include/net/xfrm.h b/include/net/xfrm.h index d6dae5ae7ab..eea1c327c93 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -242,6 +242,9 @@ struct xfrm_policy_afinfo { struct flowi *fl, int reverse); int (*get_tos)(struct flowi *fl); + int (*init_path)(struct xfrm_dst *path, + struct dst_entry *dst, + int nfheader_len); int (*fill_dst)(struct xfrm_dst *xdst, struct net_device *dev); }; |