ipv6: Add redirect support to all protocol icmp error handlers.
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index 6af3fcf..0b5b60e 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -550,6 +550,9 @@
rel_type = ICMP_DEST_UNREACH;
rel_code = ICMP_FRAG_NEEDED;
break;
+ case NDISC_REDIRECT:
+ rel_type = ICMP_REDIRECT;
+ rel_code = ICMP_REDIR_HOST;
default:
return 0;
}
@@ -608,6 +611,10 @@
skb_dst(skb2)->ops->update_pmtu(skb_dst(skb2), rel_info);
}
+ if (rel_type == ICMP_REDIRECT) {
+ if (skb_dst(skb2)->ops->redirect)
+ skb_dst(skb2)->ops->redirect(skb_dst(skb2), skb2);
+ }
icmp_send(skb2, rel_type, rel_code, htonl(rel_info));