diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2013-09-02 09:34:56 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-04 00:27:25 -0400 |
commit | 8b27f27797cac5ed9b2f3e63dac89a7ae70e70a7 (patch) | |
tree | c77b49fdf6883aab5bea6988d89f7e204f49329b /net/ipv4 | |
parent | 117961878cc1386923cfddcdd9016b777827c8dd (diff) |
skb: allow skb_scrub_packet() to be used by tunnels
This function was only used when a packet was sent to another netns. Now, it can
also be used after tunnel encapsulation or decapsulation.
Only skb_orphan() should not be done when a packet is not crossing netns.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/ip_tunnel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 0a6cf0e69478..b0e74e17088f 100644 --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c | |||
@@ -462,7 +462,7 @@ int ip_tunnel_rcv(struct ip_tunnel *tunnel, struct sk_buff *skb, | |||
462 | } | 462 | } |
463 | 463 | ||
464 | if (!net_eq(tunnel->net, dev_net(tunnel->dev))) | 464 | if (!net_eq(tunnel->net, dev_net(tunnel->dev))) |
465 | skb_scrub_packet(skb); | 465 | skb_scrub_packet(skb, true); |
466 | 466 | ||
467 | gro_cells_receive(&tunnel->gro_cells, skb); | 467 | gro_cells_receive(&tunnel->gro_cells, skb); |
468 | return 0; | 468 | return 0; |
@@ -615,7 +615,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev, | |||
615 | } | 615 | } |
616 | 616 | ||
617 | if (!net_eq(tunnel->net, dev_net(dev))) | 617 | if (!net_eq(tunnel->net, dev_net(dev))) |
618 | skb_scrub_packet(skb); | 618 | skb_scrub_packet(skb, true); |
619 | 619 | ||
620 | if (tunnel->err_count > 0) { | 620 | if (tunnel->err_count > 0) { |
621 | if (time_before(jiffies, | 621 | if (time_before(jiffies, |