diff options
author | David Bauer <mail@david-bauer.net> | 2024-04-24 19:11:10 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-04-26 13:48:24 +0200 |
commit | 42f853b42899d9b445763b55c3c8adc72be0f0e1 (patch) | |
tree | 86306a135594fbe76f93fa8599fb65d8ca70a14d /net/l2tp/l2tp_eth.c | |
parent | 4b911a9690d72641879ea6d13cce1de31d346d79 (diff) | |
download | linux-42f853b42899d9b445763b55c3c8adc72be0f0e1.tar.gz linux-42f853b42899d9b445763b55c3c8adc72be0f0e1.tar.bz2 linux-42f853b42899d9b445763b55c3c8adc72be0f0e1.zip |
net l2tp: drop flow hash on forward
Drop the flow-hash of the skb when forwarding to the L2TP netdev.
This avoids the L2TP qdisc from using the flow-hash from the outer
packet, which is identical for every flow within the tunnel.
This does not affect every platform but is specific for the ethernet
driver. It depends on the platform including L4 information in the
flow-hash.
One such example is the Mediatek Filogic MT798x family of networking
processors.
Fixes: d9e31d17ceba ("l2tp: Add L2TP ethernet pseudowire support")
Acked-by: James Chapman <jchapman@katalix.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240424171110.13701-1-mail@david-bauer.net
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/l2tp/l2tp_eth.c')
-rw-r--r-- | net/l2tp/l2tp_eth.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/l2tp/l2tp_eth.c b/net/l2tp/l2tp_eth.c index 39e487ccc468..8ba00ad433c2 100644 --- a/net/l2tp/l2tp_eth.c +++ b/net/l2tp/l2tp_eth.c @@ -127,6 +127,9 @@ static void l2tp_eth_dev_recv(struct l2tp_session *session, struct sk_buff *skb, /* checksums verified by L2TP */ skb->ip_summed = CHECKSUM_NONE; + /* drop outer flow-hash */ + skb_clear_hash(skb); + skb_dst_drop(skb); nf_reset_ct(skb); |