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 /net/ipv4/xfrm4_policy.c | |
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 'net/ipv4/xfrm4_policy.c')
-rw-r--r-- | net/ipv4/xfrm4_policy.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index 5ccae3a463c2..656345f75e0d 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c | |||
@@ -84,6 +84,12 @@ static int xfrm4_get_tos(struct flowi *fl) | |||
84 | return fl->fl4_tos; | 84 | return fl->fl4_tos; |
85 | } | 85 | } |
86 | 86 | ||
87 | static int xfrm4_init_path(struct xfrm_dst *path, struct dst_entry *dst, | ||
88 | int nfheader_len) | ||
89 | { | ||
90 | return 0; | ||
91 | } | ||
92 | |||
87 | static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) | 93 | static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) |
88 | { | 94 | { |
89 | struct rtable *rt = (struct rtable *)xdst->route; | 95 | struct rtable *rt = (struct rtable *)xdst->route; |
@@ -251,6 +257,7 @@ static struct xfrm_policy_afinfo xfrm4_policy_afinfo = { | |||
251 | .find_bundle = __xfrm4_find_bundle, | 257 | .find_bundle = __xfrm4_find_bundle, |
252 | .decode_session = _decode_session4, | 258 | .decode_session = _decode_session4, |
253 | .get_tos = xfrm4_get_tos, | 259 | .get_tos = xfrm4_get_tos, |
260 | .init_path = xfrm4_init_path, | ||
254 | .fill_dst = xfrm4_fill_dst, | 261 | .fill_dst = xfrm4_fill_dst, |
255 | }; | 262 | }; |
256 | 263 | ||