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/tcp_ipv6.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/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 70458a9cd837..7249e4bb9b8a 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -363,6 +363,13 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, | |||
363 | 363 | ||
364 | np = inet6_sk(sk); | 364 | np = inet6_sk(sk); |
365 | 365 | ||
366 | if (type == NDISC_REDIRECT) { | ||
367 | struct dst_entry *dst = __sk_dst_check(sk, np->dst_cookie); | ||
368 | |||
369 | if (dst && dst->ops->redirect) | ||
370 | dst->ops->redirect(dst,skb); | ||
371 | } | ||
372 | |||
366 | if (type == ICMPV6_PKT_TOOBIG) { | 373 | if (type == ICMPV6_PKT_TOOBIG) { |
367 | struct dst_entry *dst; | 374 | struct dst_entry *dst; |
368 | 375 | ||