All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Ahern <dsahern@kernel.org>
To: stephen@networkplumber.org
Cc: netdev@vger.kernel.org, leonro@nvidia.com,
	linux-rdma@vger.kernel.org, David Ahern <dahern@nvidia.com>
Subject: [PATCH iproute2-next v2 3/4] rdma: Allow netns to be specified by pid
Date: Tue, 12 May 2026 13:34:06 -0600	[thread overview]
Message-ID: <20260512193412.32019-4-dsahern@kernel.org> (raw)
In-Reply-To: <20260512193412.32019-1-dsahern@kernel.org>

From: David Ahern <dahern@nvidia.com>

Update rdma dev to work like ip link where the netns can be a
name or a pid by using netns_get_fd. Update man page and help
accordingly.

Signed-off-by: David Ahern <dahern@nvidia.com>
---
 man/man8/rdma-dev.8 |  3 ++-
 rdma/dev.c          | 11 ++++-------
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/man/man8/rdma-dev.8 b/man/man8/rdma-dev.8
index abc9f405ede5..34ea1c614ca4 100644
--- a/man/man8/rdma-dev.8
+++ b/man/man8/rdma-dev.8
@@ -32,7 +32,7 @@ rdma-dev \- RDMA device configuration
 .B rdma dev set
 .RI "[ " DEV " ]"
 .BR netns
-.BR NSNAME
+.BR { NSNAME | PID }
 
 .ti -8
 .B rdma dev set
@@ -104,6 +104,7 @@ Renames the mlx5_3 device to rdma_0.
 .RE
 .PP
 rdma dev set mlx5_3 netns foo
+rdma dev set mlx5_3 netns 1234
 .RS 4
 Changes the network namespace of RDMA device to foo where foo was
 previously created using the iproute2 ip command.
diff --git a/rdma/dev.c b/rdma/dev.c
index fd60c1a0e856..c8537912e48e 100644
--- a/rdma/dev.c
+++ b/rdma/dev.c
@@ -6,6 +6,7 @@
 
 #include <fcntl.h>
 #include "rdma.h"
+#include "namespace.h"
 
 static int dev_help(struct rd *rd)
 {
@@ -13,7 +14,7 @@ static int dev_help(struct rd *rd)
 	pr_out("       %s dev add DEVNAME type TYPE parent PARENT_DEVNAME\n", rd->filename);
 	pr_out("       %s dev delete DEVNAME\n", rd->filename);
 	pr_out("       %s dev set [DEV] name DEVNAME\n", rd->filename);
-	pr_out("       %s dev set [DEV] netns NSNAME\n", rd->filename);
+	pr_out("       %s dev set [DEV] netns { NSNAME | PID }\n", rd->filename);
 	pr_out("       %s dev set [DEV] adaptive-moderation [on|off]\n", rd->filename);
 	return 0;
 }
@@ -311,7 +312,7 @@ static int dev_set_name(struct rd *rd)
 
 static int dev_set_netns(struct rd *rd)
 {
-	char *netns_path;
+	char *arg = rd_argv(rd);
 	uint32_t seq;
 	int netns;
 	int ret;
@@ -321,10 +322,7 @@ static int dev_set_netns(struct rd *rd)
 		return -EINVAL;
 	}
 
-	if (asprintf(&netns_path, "%s/%s", NETNS_RUN_DIR, rd_argv(rd)) < 0)
-		return -ENOMEM;
-
-	netns = open(netns_path, O_RDONLY | O_CLOEXEC);
+	netns = netns_get_fd(arg);
 	if (netns < 0) {
 		fprintf(stderr, "Cannot open network namespace \"%s\": %s\n",
 			rd_argv(rd), strerror(errno));
@@ -339,7 +337,6 @@ static int dev_set_netns(struct rd *rd)
 	ret = rd_sendrecv_msg(rd, seq);
 	close(netns);
 done:
-	free(netns_path);
 	return ret;
 }
 
-- 
2.43.0


  parent reply	other threads:[~2026-05-12 19:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-12 19:34 [PATCH iproute2-next v2 0/4] Allow rdma dev netns to take a pid David Ahern
2026-05-12 19:34 ` [PATCH iproute2-next v2 1/4] namespace: Add fallback to netns by pid David Ahern
2026-05-13  5:49   ` Leon Romanovsky
2026-05-12 19:34 ` [PATCH iproute2-next v2 2/4] iplink: Drop pid fallback code for netns David Ahern
2026-05-13  5:49   ` Leon Romanovsky
2026-05-12 19:34 ` David Ahern [this message]
2026-05-13  5:49   ` [PATCH iproute2-next v2 3/4] rdma: Allow netns to be specified by pid Leon Romanovsky
2026-05-12 19:34 ` [PATCH iproute2-next v2 4/4] devlink: Drop now duplicate pid fallback for netns David Ahern
2026-05-13  5:40   ` Leon Romanovsky
2026-05-14  1:06     ` David Ahern
2026-05-15 19:30 ` [PATCH iproute2-next v2 0/4] Allow rdma dev netns to take a pid patchwork-bot+netdevbpf

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=20260512193412.32019-4-dsahern@kernel.org \
    --to=dsahern@kernel.org \
    --cc=dahern@nvidia.com \
    --cc=leonro@nvidia.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stephen@networkplumber.org \
    /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.