summaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2016-09-09 00:40:48 +0200
committerDavid S. Miller <davem@davemloft.net>2016-09-10 04:33:11 +0200
commitbf8d85d4f907d2156e6e5d2831378527957d9bde (patch)
treef861aa27415fa1a8355948c29cf1909c6020dd38 /net/ipv4
parentATM-ForeRunnerHE: Use kmalloc_array() in he_init_group() (diff)
downloadlinux-bf8d85d4f907d2156e6e5d2831378527957d9bde.tar.xz
linux-bf8d85d4f907d2156e6e5d2831378527957d9bde.zip
ip_tunnel: do not clear l4 hashes
If skb has a valid l4 hash, there is no point clearing hash and force a further flow dissection when a tunnel encapsulation is added. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/ip_tunnel_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c
index 0f227db0e9ac..777bc1883870 100644
--- a/net/ipv4/ip_tunnel_core.c
+++ b/net/ipv4/ip_tunnel_core.c
@@ -69,7 +69,7 @@ void iptunnel_xmit(struct sock *sk, struct rtable *rt, struct sk_buff *skb,
skb_scrub_packet(skb, xnet);
- skb_clear_hash(skb);
+ skb_clear_hash_if_not_l4(skb);
skb_dst_set(skb, &rt->dst);
memset(IPCB(skb), 0, sizeof(*IPCB(skb)));