From: Bob Pearson <rpearsonhpe@gmail.com>
To: jgg@nvidia.com, yanjun.zhu@linux.dev, linux-rdma@vger.kernel.org
Cc: Bob Pearson <rpearsonhpe@gmail.com>
Subject: [PATCH for-next v3 0/7] RDMA/rxe: Make multicast work
Date: Wed, 29 Nov 2023 14:25:52 -0600 [thread overview]
Message-ID: <20231129202558.31682-1-rpearsonhpe@gmail.com> (raw)
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
next reply other threads:[~2023-11-29 20:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-29 20:25 Bob Pearson [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231129202558.31682-1-rpearsonhpe@gmail.com \
--to=rpearsonhpe@gmail.com \
--cc=jgg@nvidia.com \
--cc=linux-rdma@vger.kernel.org \
--cc=yanjun.zhu@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.