aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/tcp_ipv6.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r--net/ipv6/tcp_ipv6.c7
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