Message ID | 1270031934-15940-3-git-send-email-jengelh@medozas.de |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
From: Jan Engelhardt <jengelh@medozas.de> Date: Wed, 31 Mar 2010 12:38:50 +0200 > Similar to how IPv4's ip_output.c works, have ip6_output also check > the IPSKB_REROUTED flag. It will be set from xt_TEE for cloned packets > since Xtables can currently only deal with a single packet in flight > at a time. > > Signed-off-by: Jan Engelhardt <jengelh@medozas.de> I defer to ipv6 experts as to whether this will cause trouble or not. If they are fine with it, feel free to add my: Acked-by: David S. Miller <davem@davemloft.net> and this can go in via the nf tree along with the other changes in this set. Thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index f314ba4..7e10f62 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -172,8 +172,9 @@ int ip6_output(struct sk_buff *skb) return 0; } - return NF_HOOK(NFPROTO_IPV6, NF_INET_POST_ROUTING, skb, NULL, dev, - ip6_finish_output); + return NF_HOOK_COND(NFPROTO_IPV6, NF_INET_POST_ROUTING, skb, NULL, dev, + ip6_finish_output, + !(IP6CB(skb)->flags & IPSKB_REROUTED)); } /*
Similar to how IPv4's ip_output.c works, have ip6_output also check the IPSKB_REROUTED flag. It will be set from xt_TEE for cloned packets since Xtables can currently only deal with a single packet in flight at a time. Signed-off-by: Jan Engelhardt <jengelh@medozas.de> --- net/ipv6/ip6_output.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)