[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200126132126.9981-1-maorg@mellanox.com>
Date: Sun, 26 Jan 2020 15:21:22 +0200
From: Maor Gottlieb <maorg@...lanox.com>
To: j.vosburgh@...il.com, vfalico@...il.com, andy@...yhouse.net,
jiri@...lanox.com, davem@...emloft.net
Cc: Maor Gottlieb <maorg@...lanox.com>, netdev@...r.kernel.org,
saeedm@...lanox.com, jgg@...lanox.com, leonro@...lanox.com,
alexr@...lanox.com, markz@...lanox.com, parav@...lanox.com,
eranbe@...lanox.com, linux-rdma@...r.kernel.org
Subject: [RFC PATCH 0/4] Introduce master_xmit_slave_get
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
Powered by blists - more mailing lists