lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ