All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-next v3 0/7] RDMA/rxe: Make multicast work
@ 2023-11-29 20:25 Bob Pearson
  2023-11-29 20:25 ` [PATCH for-next v3 1/7] RDMA/rxe: Cleanup rxe_ah/av_chk_attr Bob Pearson
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Bob Pearson @ 2023-11-29 20:25 UTC (permalink / raw)
  To: jgg, yanjun.zhu, linux-rdma; +Cc: Bob Pearson

After developing a test program which exercises node to node
testing of RoCE multicast it became clear that there are a
number of issues with the current rdma_rxe multicast implementation.

The issues seen include:
	- There is no support for IPV4 multicast addresses.
	- Once a multicast MAC is added it is not removed.
	- Multicast packets are sent with the wrong QP number.
	- Multicast IP addresses are not created and without
	  them no multicast packets received on the interface
	  are delivered to the rdma_rxe driver.
	- The implementation in rxe_mcast.c is potentially
	  racy if multiple simultaneous attach/detach operations
	  are issued.

This patch set fixes these issues. 
---
v3:
  Removed rxe_loop_and_send(). It turns out it is not needed.
  Added module parameters to set mcast limits to small values when
  driver is loaded to enable mcast limit testing.
  Rebased to current for-next branch.
v2:
  Respond to comments by Zhu.
  Added more Fixes lines.
  Added some more explanation in the commit messages.
  Fixed an error in rxe_lookup_mcg. Should have checked
	the return from rxe_get_mcg().

Bob Pearson (7):
  RDMA/rxe: Cleanup rxe_ah/av_chk_attr
  RDMA/rxe: Fix sending of mcast packets
  RDMA/rxe: Register IP mcast address
  RDMA/rxe: Let rxe_lookup_mcg use rcu_read_lock
  RDMA/rxe: Split multicast lock
  RDMA/rxe: Cleanup mcg lifetime
  RDMA/rxe: Add module parameters for mcast limits

 drivers/infiniband/sw/rxe/Makefile     |   3 +-
 drivers/infiniband/sw/rxe/rxe.c        |   8 +-
 drivers/infiniband/sw/rxe/rxe_av.c     |  50 +--
 drivers/infiniband/sw/rxe/rxe_loc.h    |   6 +-
 drivers/infiniband/sw/rxe/rxe_mcast.c  | 519 +++++++++++--------------
 drivers/infiniband/sw/rxe/rxe_net.c    |   6 +-
 drivers/infiniband/sw/rxe/rxe_net.h    |   1 +
 drivers/infiniband/sw/rxe/rxe_opcode.h |   2 +-
 drivers/infiniband/sw/rxe/rxe_param.c  |  23 ++
 drivers/infiniband/sw/rxe/rxe_param.h  |   4 +
 drivers/infiniband/sw/rxe/rxe_qp.c     |   4 +-
 drivers/infiniband/sw/rxe/rxe_recv.c   |  11 +-
 drivers/infiniband/sw/rxe/rxe_req.c    |  11 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c  |   5 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h  |   5 +-
 15 files changed, 298 insertions(+), 360 deletions(-)
 create mode 100644 drivers/infiniband/sw/rxe/rxe_param.c

-- 
2.40.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-11-29 20:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-29 20:25 [PATCH for-next v3 0/7] RDMA/rxe: Make multicast work Bob Pearson
2023-11-29 20:25 ` [PATCH for-next v3 1/7] RDMA/rxe: Cleanup rxe_ah/av_chk_attr Bob Pearson
2023-11-29 20:25 ` [PATCH for-next v3 2/7] RDMA/rxe: Fix sending of mcast packets Bob Pearson
2023-11-29 20:25 ` [PATCH for-next v3 3/7] RDMA/rxe: Register IP mcast address Bob Pearson
2023-11-29 20:25 ` [PATCH for-next v3 4/7] RDMA/rxe: Let rxe_lookup_mcg use rcu_read_lock Bob Pearson
2023-11-29 20:25 ` [PATCH for-next v3 5/7] RDMA/rxe: Split multicast lock Bob Pearson
2023-11-29 20:25 ` [PATCH for-next v3 6/7] RDMA/rxe: Cleanup mcg lifetime Bob Pearson
2023-11-29 20:25 ` [PATCH for-next v3 7/7] RDMA/rxe: Add module parameters for mcast limits Bob Pearson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.