From: Leon Romanovsky <leon@kernel.org>
To: "Yanjun.Zhu" <yanjun.zhu@linux.dev>
Cc: jgg@ziepe.ca, zyjzyj2000@gmail.com, shuah@kernel.org,
linux-rdma@vger.kernel.org, linux-kselftest@vger.kernel.org,
dsahern@kernel.org
Subject: Re: [PATCH v5 1/4] RDMA/nldev: Add dellink function pointer
Date: Wed, 11 Mar 2026 10:54:34 +0200 [thread overview]
Message-ID: <20260311085434.GW12611@unreal> (raw)
In-Reply-To: <5700c718-d10e-4b23-adfc-c14ee1930b18@linux.dev>
On Tue, Mar 10, 2026 at 06:58:00PM -0700, Yanjun.Zhu wrote:
> On 3/10/26 12:01 PM, Leon Romanovsky wrote:
> > It is an RXE‑specific description, but you are adding code to the general
> > nldev path. Please clarify that this behavior applies only to RXE, and
> > include examples showing when and how it is invoked. In particular, explain
> > how the socket is cleaned up if delink is not called.
>
> Hi, Leon
>
> You are correct that this logic should be driver-specific. I will add an
> explicit check for RDMA_DRIVER_RXE in the nldev path to ensure this behavior
> is strictly scoped to RXE and does not impact other drivers (like iWARP).
No, you don't need this driver_id check, because iWARP doesn't have link_ops->dellink,
but you should document the rationale and how it is triggered for RXE.
Thanks
>
> This function path is primarily invoked when a user executes the
> administrative command: rdma link delete <dev>.
>
> Regarding socket cleanup: RXE does not rely solely on this path for resource
> management. It monitors the underlying net_device state via a registered
> netdev_notifier. Even if delink is not explicitly called (e.g., if the
> parent interface is removed or the driver is forcefully unloaded), the
> rxe_net_event callback ensures that the transport sockets are forcibly
> closed and all allocated resources are released when the parent net_device
> is destroyed.
>
> The code diff is as below:
>
> --- a/drivers/infiniband/core/nldev.c
> +++ b/drivers/infiniband/core/nldev.c
> @@ -1824,6 +1824,12 @@ static int nldev_dellink(struct sk_buff *skb, struct
> nlmsghdr *nlh,
> return -EINVAL;
> }
>
> + if (device->link_ops && device->ops.driver_id == RDMA_DRIVER_RXE) {
> + err = device->link_ops->dellink(device);
> + if (err)
> + return err;
> + }
> +
> ib_unregister_device_and_put(device);
> return 0;
> }
>
> Zhu Yanjun
>
>
next prev parent reply other threads:[~2026-03-11 8:54 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-10 2:05 [PATCH v5 0/4] RDMA/rxe: Add the support that rxe can work in net namespace Zhu Yanjun
2026-03-10 2:05 ` [PATCH v5 1/4] RDMA/nldev: Add dellink function pointer Zhu Yanjun
2026-03-10 15:47 ` David Ahern
2026-03-10 19:01 ` Leon Romanovsky
2026-03-11 1:58 ` Yanjun.Zhu
2026-03-11 8:54 ` Leon Romanovsky [this message]
2026-03-11 22:01 ` Yanjun.Zhu
2026-03-11 22:09 ` Yanjun.Zhu
2026-03-12 2:04 ` David Ahern
2026-03-12 3:59 ` Zhu Yanjun
2026-03-12 5:09 ` Zhu Yanjun
2026-03-12 18:04 ` Yanjun.Zhu
2026-03-10 2:05 ` [PATCH v5 2/4] RDMA/rxe: Add net namespace support for IPv4/IPv6 sockets Zhu Yanjun
2026-03-10 15:48 ` David Ahern
2026-03-10 2:05 ` [PATCH v5 3/4] RDMA/rxe: Support RDMA link creation and destruction per net namespace Zhu Yanjun
2026-03-10 15:48 ` David Ahern
2026-03-10 18:57 ` Leon Romanovsky
2026-03-10 20:32 ` Yanjun.Zhu
2026-03-11 8:45 ` Leon Romanovsky
2026-03-11 19:08 ` Yanjun.Zhu
2026-03-10 2:05 ` [PATCH v5 4/4] RDMA/rxe: Add testcase for net namespace rxe Zhu Yanjun
2026-03-10 15:49 ` David Ahern
2026-03-10 18:53 ` Leon Romanovsky
2026-03-10 21:01 ` Yanjun.Zhu
2026-03-11 8:51 ` Leon Romanovsky
2026-03-11 22:51 ` Yanjun.Zhu
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=20260311085434.GW12611@unreal \
--to=leon@kernel.org \
--cc=dsahern@kernel.org \
--cc=jgg@ziepe.ca \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=shuah@kernel.org \
--cc=yanjun.zhu@linux.dev \
--cc=zyjzyj2000@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox