[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5aaa43fb-cc44-4af8-8c78-201bcc04ea00@david-bauer.net>
Date: Sat, 20 Apr 2024 16:39:19 +0200
From: David Bauer <mail@...id-bauer.net>
To: Daniel Golle <daniel@...rotopia.org>
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, netdev@...r.kernel.org
Subject: Re: [PATCH net-next] net l2tp: drop flow hash on forward
Hi Daniel,
On 4/20/24 16:02, Daniel Golle wrote:
> On Sat, Apr 20, 2024 at 03:39:40PM +0200, David Bauer wrote:
>> 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.
>>
>> Signed-off-by: David Bauer <mail@...id-bauer.net>
>
> While it's difficult to say which exact commit this fixes, I still
> consider it being a fix, as otherwise flow-offloading on mentioned
> platforms will face difficulties when using L2TP (right?).
I'm unsure whether flow-offloading is affected. What is definitely affected are
network schedulers which rely on flow-information (such as fq_codel or cake)
> Hence maybe it should go via 'net' tree rather than via 'net-next'?
I was unsure where to send, i can resend it on net if it is more appropriate.
Best
David
>
> The fix itself looks fine to me.
>
>> ---
>> net/l2tp/l2tp_eth.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> 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);
>>
>> --
>> 2.43.0
>>
>>
Powered by blists - more mailing lists