Hi Doug,
This patch-set adds a new implementation for multicast loopback prevention for
mlx4 driver. The current implementation is very limited, especially if link
layer is Ethernet. The new implementation is based on HW feature of dropping
incoming multicast packets if the sender QP counter index is equal to the
receiver counter index.
Patch 0001 extends ib_uverbs_create_qp in order to allow receiving the
multicast loopback flag at create flags.
Patch 0002 adds an infrastructure for the counters' loopback prevention in the
mlx4_core.
Patch 0003 modifies mlx4_en QPs to use the new loopback prevention mode.
Patches 0004-0006 implements this feature for mlx4_ib driver.
Patch 0007 allows setting IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK in create_flag
field both from uverbs and ib_create_qp.
Changes from v0:
Move loopback assignment outside the for loop according to Yuval's comment
rebase over to-be-rebased/for-4.3
Thanks,
Eran.
Eran Ben Elisha (5):
IB/core: Extend ib_uverbs_create_qp
IB/core: Allow setting create flags in QP init attribute
IB/mlx4: Add IB counters table
IB/mlx4: Add counter based implementation for QP multicast loopback
block
IB/mlx4: Add support for blocking multicast loopback QP creation user
flag
Maor Gottlieb (2):
net/mlx4_core: Add support for filtering multicast loopback
net/mlx4_en: Implement mcast loopback prevention for ETH qps
drivers/infiniband/core/uverbs.h | 1 +
drivers/infiniband/core/uverbs_cmd.c | 259 +++++++++++++++------
drivers/infiniband/core/uverbs_main.c | 1 +
drivers/infiniband/hw/mlx4/mad.c | 25 +-
drivers/infiniband/hw/mlx4/main.c | 66 ++++--
drivers/infiniband/hw/mlx4/mlx4_ib.h | 10 +-
drivers/infiniband/hw/mlx4/qp.c | 88 ++++++-
drivers/net/ethernet/mellanox/mlx4/en_main.c | 22 ++
drivers/net/ethernet/mellanox/mlx4/en_resources.c | 25 ++
drivers/net/ethernet/mellanox/mlx4/fw.c | 6 +
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 3 +-
drivers/net/ethernet/mellanox/mlx4/qp.c | 19 +-
.../net/ethernet/mellanox/mlx4/resource_tracker.c | 30 ++-
include/linux/mlx4/device.h | 2 +
include/linux/mlx4/qp.h | 24 +-
include/uapi/rdma/ib_user_verbs.h | 26 +++
16 files changed, 498 insertions(+), 109 deletions(-)
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html