Hi, This patch series add support to get the LAG master xmit slave by introducing new .ndo - ndo_xmit_slave_get. Every LAG module can implement it. In this RFC, we added the support to the bond module. The main motivation for doing this is for drivers that offload part of the LAG functionality [1]. For example, Mellanox Connect-X hardware implements RoCE LAG which selects the TX affinity when the resources are created and port is remapped when it goes down [2]. Because of that and the fact that the RDMA frames are bypass the bonding driver completely, we need a function to get the xmit slave assume all the slaves are active. The idea is that the same UDP header will get the same hash result so they will be transmitted from the same port. Thanks [1] https://www.spinics.net/lists/netdev/msg624832.html [2] https://www.spinics.net/lists/netdev/msg626758.html Maor Gottlieb (4): net/core: Introduce master_xmit_slave_get bonding: Rename slave_arr to active_slaves bonding: Add helpers to get xmit slave bonding: Implement ndo_xmit_slave_get drivers/net/bonding/bond_alb.c | 41 ++++-- drivers/net/bonding/bond_main.c | 231 ++++++++++++++++++++++---------- include/linux/netdevice.h | 3 + include/net/bond_alb.h | 4 + include/net/bonding.h | 3 +- include/net/lag.h | 19 +++ 6 files changed, 215 insertions(+), 86 deletions(-) -- 2.17.2