Re: [PATCH V2 mlx5-next 01/10] net/core: Introduce master_xmit_slave_get

Jiri Pirko
2020-04-20T18:01:50Z

Mon, Apr 20, 2020 at 07:56:58PM CEST, dsahern@gmail.com wrote:
>On 4/20/20 11:54 AM, Jiri Pirko wrote:
>> Mon, Apr 20, 2020 at 07:29:15PM CEST, dsahern@gmail.com wrote:
>>> On 4/20/20 8:01 AM, Jiri Pirko wrote:
>>>> Mon, Apr 20, 2020 at 09:54:17AM CEST, maorg@mellanox.com wrote:
>>>>> Add new ndo to get the xmit slave of master device.
>>>>> User should release the slave when it's not longer needed.
>>>>> When slave selection method is based on hash, then the user can ask to
>>>>> get the xmit slave assume all the slaves can transmit by setting the
>>>>> LAG_FLAGS_HASH_ALL_SLAVES bit in the flags argument.
>>>>>
>>>>> Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
>>>>> ---
>>>>> include/linux/netdevice.h | 3 +++
>>>>> include/net/lag.h | 32 ++++++++++++++++++++++++++++++++
>>>>> 2 files changed, 35 insertions(+)
>>>>>
>>>>> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
>>>>> index 130a668049ab..e8852f3ad0b6 100644
>>>>> --- a/include/linux/netdevice.h
>>>>> +++ b/include/linux/netdevice.h
>>>>> @@ -1389,6 +1389,9 @@ struct net_device_ops {
>>>>> struct netlink_ext_ack *extack);
>>>>> int (*ndo_del_slave)(struct net_device *dev,
>>>>> struct net_device *slave_dev);
>>>>> + struct net_device* (*ndo_xmit_get_slave)(struct net_device *master_dev,
>>>>> + struct sk_buff *skb,
>>>>> + u16 flags);
>>>>
>>>> Please adjust the name to:
>>>> ndo_get_lag_xmit_slave
>>>
>>> I disagree. There are multiple master devices and no reason to have a
>>> LAG specific get_slave.
>>
>> Btw, did you notice that Maor is passing "lag" named values in the flags?
>>
>
>yes. I disagree with enum name, but having LAG in the name of a flag is
>fine. To me that is the right place for a LAG specific request of a
>generic ndo in core code.

Generic ndo with lag-specific arg? Odd. Plus, there is a small chance
this is ever going to be used for other master. And if so, could be very
easily renamed then...