diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-12 03:25:15 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-12 03:25:15 -0400 |
commit | ec18d9a2691d69cd14b48f9b919fddcef28b7f5c (patch) | |
tree | 4d10135edfe25d4ff56e39330b0f7797b2034b8a /net/ipv6/xfrm6_policy.c | |
parent | 3a5ad2ee5e2c5030d8a303d06f9148a2f893a369 (diff) |
ipv6: Add redirect support to all protocol icmp error handlers.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/xfrm6_policy.c')
-rw-r--r-- | net/ipv6/xfrm6_policy.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c index bb02038b822b..f5a9cb8257b9 100644 --- a/net/ipv6/xfrm6_policy.c +++ b/net/ipv6/xfrm6_policy.c | |||
@@ -215,6 +215,14 @@ static void xfrm6_update_pmtu(struct dst_entry *dst, u32 mtu) | |||
215 | path->ops->update_pmtu(path, mtu); | 215 | path->ops->update_pmtu(path, mtu); |
216 | } | 216 | } |
217 | 217 | ||
218 | static void xfrm6_redirect(struct dst_entry *dst, struct sk_buff *skb) | ||
219 | { | ||
220 | struct xfrm_dst *xdst = (struct xfrm_dst *)dst; | ||
221 | struct dst_entry *path = xdst->route; | ||
222 | |||
223 | path->ops->redirect(path, skb); | ||
224 | } | ||
225 | |||
218 | static void xfrm6_dst_destroy(struct dst_entry *dst) | 226 | static void xfrm6_dst_destroy(struct dst_entry *dst) |
219 | { | 227 | { |
220 | struct xfrm_dst *xdst = (struct xfrm_dst *)dst; | 228 | struct xfrm_dst *xdst = (struct xfrm_dst *)dst; |
@@ -261,6 +269,7 @@ static struct dst_ops xfrm6_dst_ops = { | |||
261 | .protocol = cpu_to_be16(ETH_P_IPV6), | 269 | .protocol = cpu_to_be16(ETH_P_IPV6), |
262 | .gc = xfrm6_garbage_collect, | 270 | .gc = xfrm6_garbage_collect, |
263 | .update_pmtu = xfrm6_update_pmtu, | 271 | .update_pmtu = xfrm6_update_pmtu, |
272 | .redirect = xfrm6_redirect, | ||
264 | .cow_metrics = dst_cow_metrics_generic, | 273 | .cow_metrics = dst_cow_metrics_generic, |
265 | .destroy = xfrm6_dst_destroy, | 274 | .destroy = xfrm6_dst_destroy, |
266 | .ifdown = xfrm6_dst_ifdown, | 275 | .ifdown = xfrm6_dst_ifdown, |