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?