public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
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
> 
> 

  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