On 4/20/20 11:54 AM, Jiri Pirko wrote: > Mon, Apr 20, 2020 at 07:29:15PM CEST, dsahern@xxxxxxxxx wrote: >> On 4/20/20 8:01 AM, Jiri Pirko wrote: >>> Mon, Apr 20, 2020 at 09:54:17AM CEST, maorg@xxxxxxxxxxxx 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@xxxxxxxxxxxx> >>>> --- >>>> 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.