Re: [PATCH net-next v4 2/6] netdev_features: remove unused __UNUSED_NETIF_F_1

From: Alexander Lobakin
Date: Thu Aug 22 2024 - 12:23:58 EST


From: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu, 22 Aug 2024 18:12:18 +0200

> On Thu, Aug 22, 2024 at 5:24 PM Alexander Lobakin
> <aleksander.lobakin@xxxxxxxxx> wrote:
>>
>> From: Eric Dumazet <edumazet@xxxxxxxxxx>
>> Date: Wed, 21 Aug 2024 17:43:16 +0200
>>
>>> On Wed, Aug 21, 2024 at 5:07 PM Alexander Lobakin
>>> <aleksander.lobakin@xxxxxxxxx> wrote:
>>>>
>>>> NETIF_F_NO_CSUM was removed in 3.2-rc2 by commit 34324dc2bf27
>>>> ("net: remove NETIF_F_NO_CSUM feature bit") and became
>>>> __UNUSED_NETIF_F_1. It's not used anywhere in the code.
>>>> Remove this bit waste.
>>>>
>>>> It wasn't needed to rename the flag instead of removing it as
>>>> netdev features are not uAPI/ABI. Ethtool passes their names
>>>> and values separately with no fixed positions and the userspace
>>>> Ethtool code doesn't have any hardcoded feature names/bits, so
>>>> that new Ethtool will work on older kernels and vice versa.
>>>
>>> This is only true for recent enough ethtool (>= 3.4)
>>>
>>> You might refine the changelog to not claim this "was not needed".
>>>
>>> Back in 2011 (and linux-2.6.39) , this was needed for sure.
>>>
>>> I am not sure we have a documented requirement about ethtool versions.
>>
>> But how then Ethtool < 3.4 works with the latest kernels? I believe we
>> already moved some bits and/or removed some features or it's not true?
>>
>
> Presumably most of the 'old and useful' bits are at the same location,
> or ethtool has been updated by distros.
>
>> I could try building it, not sure it would build though. How do you
>> think then we should approach this? Maybe document the requirement?
>> I don't think we should leave the features as they are and sit with no
>> bits available only to support ancient Ethtool versions.
>
> I was simply suggesting to correct the changelog, and make clear we
> need a recent enough ethtool.

Yeah I got it, thanks. Will reword.

>
> We can not simply say that ethtool always supported the modern way
> (ETH_SS_FEATURES)

I didn't work with Linux at all back in 2011, so I didn't even know
there were older ways of handling this :D Always something to learn, nice.

Thanks,
Olek