Mon, Apr 20, 2020 at 07:56:58PM CEST, dsahern@xxxxxxxxx wrote: >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. 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...