ip6_output.c (b2315372eac9cd9f622c32a93e323cf6f0f03462) | ip6_output.c (1e5dc146173251e7baad9a1f7586d5a009b6d9f9) |
---|---|
1/* 2 * IPv6 output functions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * $Id: ip6_output.c,v 1.34 2002/02/01 22:01:04 davem Exp $ --- 427 unchanged lines hidden (view full) --- 436 if (!xfrm6_route_forward(skb)) { 437 IP6_INC_STATS(ip6_dst_idev(dst), IPSTATS_MIB_INDISCARDS); 438 goto drop; 439 } 440 dst = skb->dst; 441 442 /* IPv6 specs say nothing about it, but it is clear that we cannot 443 send redirects to source routed frames. | 1/* 2 * IPv6 output functions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * $Id: ip6_output.c,v 1.34 2002/02/01 22:01:04 davem Exp $ --- 427 unchanged lines hidden (view full) --- 436 if (!xfrm6_route_forward(skb)) { 437 IP6_INC_STATS(ip6_dst_idev(dst), IPSTATS_MIB_INDISCARDS); 438 goto drop; 439 } 440 dst = skb->dst; 441 442 /* IPv6 specs say nothing about it, but it is clear that we cannot 443 send redirects to source routed frames. |
444 We don't send redirects to frames decapsulated from IPsec. |
|
444 */ | 445 */ |
445 if (skb->dev == dst->dev && dst->neighbour && opt->srcrt == 0) { | 446 if (skb->dev == dst->dev && dst->neighbour && opt->srcrt == 0 && 447 !skb->sp) { |
446 struct in6_addr *target = NULL; 447 struct rt6_info *rt; 448 struct neighbour *n = dst->neighbour; 449 450 /* 451 * incoming and outgoing devices are the same 452 * send a redirect. 453 */ --- 993 unchanged lines hidden --- | 448 struct in6_addr *target = NULL; 449 struct rt6_info *rt; 450 struct neighbour *n = dst->neighbour; 451 452 /* 453 * incoming and outgoing devices are the same 454 * send a redirect. 455 */ --- 993 unchanged lines hidden --- |