public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top
Subject: [PATCH 4/8] Remove --nsrun-dir option
Date: Fri, 26 Aug 2022 14:58:35 +1000	[thread overview]
Message-ID: <20220826045839.1112152-5-david@gibson.dropbear.id.au> (raw)
In-Reply-To: <20220826045839.1112152-1-david@gibson.dropbear.id.au>

[-- Attachment #1: Type: text/plain, Size: 4501 bytes --]

pasta can identify a netns as a "name", which is to say a path relative to
(usually) /run/netns, which is the place that ip(8) creates persistent
network namespaces.  Alternatively a full path to a netns can be given.

The --nsrun-dir option allows the user to change the standard path where
netns names are resolved.  However, there's no real point to this, if the
user wants to override the location of the netns, they can just as easily
use the full path to specify the netns.

Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au>
---
 conf.c  | 24 ++++--------------------
 passt.1 |  6 ------
 2 files changed, 4 insertions(+), 26 deletions(-)

diff --git a/conf.c b/conf.c
index 6770be9..e76181c 100644
--- a/conf.c
+++ b/conf.c
@@ -510,14 +510,13 @@ static int conf_ns_check(void *arg)
 /**
  * conf_ns_opt() - Open network, user namespaces descriptors from configuration
  * @c:			Execution context
- * @nsdir:		--nsrun-dir argument, can be an empty string
  * @conf_userns:	--userns argument, can be an empty string
  * @optarg:		PID, path or name of namespace
  *
  * Return: 0 on success, negative error code otherwise
  */
 static int conf_ns_opt(struct ctx *c,
-		       char *nsdir, const char *conf_userns, const char *optarg)
+		       const char *conf_userns, const char *optarg)
 {
 	int ufd = -1, nfd = -1, try, ret, netns_only_reset = c->netns_only;
 	char userns[PATH_MAX] = { 0 }, netns[PATH_MAX];
@@ -557,7 +556,7 @@ static int conf_ns_opt(struct ctx *c,
 				continue;
 		} else if (try == 2) {
 			ret = snprintf(netns, PATH_MAX, "%s/%s",
-				 *nsdir ? nsdir : NETNS_RUN_DIR, optarg);
+				       NETNS_RUN_DIR, optarg);
 			if (ret <= 0 || ret > (int)sizeof(netns))
 				continue;
 		}
@@ -859,8 +858,6 @@ pasta_opts:
 	info(   "  --userns NSPATH 	Target user namespace to join");
 	info(   "  --netns-only		Don't join existing user namespace");
 	info(   "    implied if PATH or NAME are given without --userns");
-	info(   "  --nsrun-dir		Directory for nsfs mountpoints");
-	info(   "    default: " NETNS_RUN_DIR);
 	info(   "  --config-net		Configure tap interface in namespace");
 	info(   "  --ns-mac-addr ADDR	Set MAC address on tap interface");
 
@@ -1040,7 +1037,6 @@ void conf(struct ctx *c, int argc, char **argv)
 		{"udp-ns",	required_argument,	NULL,		'U' },
 		{"userns",	required_argument,	NULL,		2 },
 		{"netns-only",	no_argument,		&c->netns_only,	1 },
-		{"nsrun-dir",	required_argument,	NULL,		3 },
 		{"config-net",	no_argument,		&c->pasta_conf_ns, 1 },
 		{"ns-mac-addr",	required_argument,	NULL,		4 },
 		{"dhcp-dns",	no_argument,		NULL,		5 },
@@ -1054,7 +1050,7 @@ void conf(struct ctx *c, int argc, char **argv)
 		{ 0 },
 	};
 	struct get_bound_ports_ns_arg ns_ports_arg = { .c = c };
-	char nsdir[PATH_MAX] = { 0 }, userns[PATH_MAX] = { 0 };
+	char userns[PATH_MAX] = { 0 };
 	enum conf_port_type tcp_tap = 0, tcp_init = 0;
 	enum conf_port_type udp_tap = 0, udp_init = 0;
 	bool v4_only = false, v6_only = false;
@@ -1093,18 +1089,6 @@ void conf(struct ctx *c, int argc, char **argv)
 				usage(argv[0]);
 			}
 			break;
-		case 3:
-			if (c->mode != MODE_PASTA) {
-				err("--nsrun-dir is for pasta mode only");
-				usage(argv[0]);
-			}
-
-			ret = snprintf(nsdir, sizeof(nsdir), "%s", optarg);
-			if (ret <= 0 || ret >= (int)sizeof(nsdir)) {
-				err("Invalid nsrun-dir: %s", optarg);
-				usage(argv[0]);
-			}
-			break;
 		case 4:
 			if (c->mode != MODE_PASTA) {
 				err("--ns-mac-addr is for pasta mode only");
@@ -1461,7 +1445,7 @@ void conf(struct ctx *c, int argc, char **argv)
 	check_root(c);
 
 	if (c->mode == MODE_PASTA && optind + 1 == argc) {
-		ret = conf_ns_opt(c, nsdir, userns, argv[optind]);
+		ret = conf_ns_opt(c, userns, argv[optind]);
 		if (ret == -ENOENT)
 			err("Namespace %s not found", argv[optind]);
 		if (ret < 0)
diff --git a/passt.1 b/passt.1
index 78b10b8..bbdadc1 100644
--- a/passt.1
+++ b/passt.1
@@ -458,12 +458,6 @@ without \-\-userns.
 If the target network namespace is bound to the filesystem (that is, if PATH or
 NAME are given as target), do not exit once the network namespace is deleted.
 
-.TP
-.BR \-\-nsrun-dir " " \fIpath
-Directory for nsfs mountpoints, used as path prefix for names of namespaces.
-
-The default path is shown with --help.
-
 .TP
 .BR \-\-config-net
 Configure networking in the namespace: set up addresses and routes as configured
-- 
@@ -458,12 +458,6 @@ without \-\-userns.
 If the target network namespace is bound to the filesystem (that is, if PATH or
 NAME are given as target), do not exit once the network namespace is deleted.
 
-.TP
-.BR \-\-nsrun-dir " " \fIpath
-Directory for nsfs mountpoints, used as path prefix for names of namespaces.
-
-The default path is shown with --help.
-
 .TP
 .BR \-\-config-net
 Configure networking in the namespace: set up addresses and routes as configured
-- 
2.37.2


  parent reply	other threads:[~2022-08-26  4:58 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-26  4:58 [PATCH 0/8] Allow pasta to take a command to spawn instead of shell David Gibson
2022-08-26  4:58 ` [PATCH 1/8] conf: Make the argument to --pcap option mandatory David Gibson
2022-08-26  4:58 ` [PATCH 2/8] conf: Use "-D none" and "-S none" instead of missing empty option arguments David Gibson
2022-08-30 17:41   ` Stefano Brivio
2022-08-26  4:58 ` [PATCH 3/8] Correct manpage for --userns David Gibson
2022-08-26  4:58 ` David Gibson [this message]
2022-08-26  4:58 ` [PATCH 5/8] Move ENOENT error message into conf_ns_opt() David Gibson
2022-08-26  4:58 ` [PATCH 6/8] More deterministic detection of whether argument is a PID, PATH or NAME David Gibson
2022-08-26  4:58 ` [PATCH 7/8] Use explicit --netns option rather than multiplexing with PID David Gibson
2022-08-29 19:16   ` Stefano Brivio
2022-08-30  1:12     ` David Gibson
2022-08-30  8:25       ` Stefano Brivio
2022-08-26  4:58 ` [PATCH 8/8] Allow pasta to take a command to execute David Gibson
2022-08-29 19:16   ` Stefano Brivio
2022-08-30  1:16     ` David Gibson
2022-08-30  8:26       ` Stefano Brivio
2022-08-30 17:41         ` Stefano Brivio
2022-09-01 10:07 ` [PATCH 0/8] Allow pasta to take a command to spawn instead of shell Stefano Brivio

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=20220826045839.1112152-5-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=passt-dev@passt.top \
    /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.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).