diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-12 09:25:15 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-12 09:25:15 +0200 |
commit | ec18d9a2691d69cd14b48f9b919fddcef28b7f5c (patch) | |
tree | 4d10135edfe25d4ff56e39330b0f7797b2034b8a /net/dccp | |
parent | ipv6: Add ip6_redirect() and ip6_sk_redirect() helper functions. (diff) | |
download | linux-ec18d9a2691d69cd14b48f9b919fddcef28b7f5c.tar.xz linux-ec18d9a2691d69cd14b48f9b919fddcef28b7f5c.zip |
ipv6: Add redirect support to all protocol icmp error handlers.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r-- | net/dccp/ipv6.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 02162cfa5048..b4d7d28ce6d2 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c @@ -130,6 +130,13 @@ static void dccp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, np = inet6_sk(sk); + if (type == NDISC_REDIRECT) { + struct dst_entry *dst = __sk_dst_check(sk, np->dst_cookie); + + if (dst && dst->ops->redirect) + dst->ops->redirect(dst, skb); + } + if (type == ICMPV6_PKT_TOOBIG) { struct dst_entry *dst = NULL; |