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 ---