From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 035C05A0272 for ; Tue, 4 Apr 2023 03:46:47 +0200 (CEST) Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4Pr9bj3PZnz4xDh; Tue, 4 Apr 2023 11:46:41 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=201602; t=1680572801; bh=gbbdrIiCsaRGG+beIFocKKszGJJC/reldo/xisFWVHA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GcleWcma5yvZ21qQP2h5mKe59tbaz7EcYZjZXOpf2Zgy339GaifrEzU4+VGiBPMJX zejskFhJrWAsY31l8g2MG/xzW1FHByneSbQ65fhT1F0tkMfhd/QOfEaUyHLupVRL7B Gw1J6vhy3l7p4iR7C03m+6fwBaFR9yu/u20/Ftug= From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH 02/14] nstool: Reverse parameters to nstool Date: Tue, 4 Apr 2023 11:46:26 +1000 Message-Id: <20230404014638.3225556-3-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230404014638.3225556-1-david@gibson.dropbear.id.au> References: <20230404014638.3225556-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: J22C6JOMFBB42Q7RAOTJJNO3XBAJRJUC X-Message-ID-Hash: J22C6JOMFBB42Q7RAOTJJNO3XBAJRJUC X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Having the "subcommand" first is more conventional and will make it more natural for future extensions I have planned. Signed-off-by: David Gibson --- test/lib/setup | 28 ++++++++++++++-------------- test/nstool.c | 28 ++++++++++++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/test/lib/setup b/test/lib/setup index 3bd434b..e6180b1 100755 --- a/test/lib/setup +++ b/test/lib/setup @@ -77,8 +77,8 @@ setup_pasta() { layout_pasta - context_run_bg unshare "unshare -rUnpf ${NSTOOL} ${STATESETUP}/ns.hold hold" - __target_pid=$(${NSTOOL} ${STATESETUP}/ns.hold pid) + context_run_bg unshare "unshare -rUnpf ${NSTOOL} hold ${STATESETUP}/ns.hold" + __target_pid=$(${NSTOOL} pid ${STATESETUP}/ns.hold) context_setup_nsenter ns -U -n -p --preserve-credentials -t ${__target_pid} @@ -126,9 +126,9 @@ setup_passt_in_ns() { [ ${DEBUG} -eq 1 ] && __opts="${__opts} -d" [ ${TRACE} -eq 1 ] && __opts="${__opts} --trace" - context_run_bg pasta "./pasta ${__opts} -t 10001,10002,10011,10012 -T 10003,10013 -u 10001,10002,10011,10012 -U 10003,10013 -P ${STATESETUP}/pasta.pid --config-net ${NSTOOL} ${STATESETUP}/ns.hold hold" + context_run_bg pasta "./pasta ${__opts} -t 10001,10002,10011,10012 -T 10003,10013 -u 10001,10002,10011,10012 -U 10003,10013 -P ${STATESETUP}/pasta.pid --config-net ${NSTOOL} hold ${STATESETUP}/ns.hold" wait_for [ -f "${STATESETUP}/pasta.pid" ] - __ns_pid=$(${NSTOOL} ${STATESETUP}/ns.hold pid) + __ns_pid=$(${NSTOOL} pid ${STATESETUP}/ns.hold) context_setup_nsenter qemu "-t ${__ns_pid} -U -n -p --preserve-credentials" context_setup_nsenter ns "-t ${__ns_pid} -U -n -p --preserve-credentials" @@ -189,16 +189,16 @@ setup_two_guests() { [ ${PCAP} -eq 1 ] && __opts="${__opts} -p ${LOGDIR}/pasta_1.pcap" [ ${DEBUG} -eq 1 ] && __opts="${__opts} -d" [ ${TRACE} -eq 1 ] && __opts="${__opts} --trace" - context_run_bg pasta_1 "./pasta ${__opts} --trace -l /tmp/pasta1.log -P ${STATESETUP}/pasta_1.pid -t 10001,10002 -T 10003,10004 -u 10001,10002 -U 10003,10004 --config-net ${NSTOOL} ${STATESETUP}/ns1.hold hold" - __ns1_pid=$(${NSTOOL} ${STATESETUP}/ns1.hold pid) + context_run_bg pasta_1 "./pasta ${__opts} --trace -l /tmp/pasta1.log -P ${STATESETUP}/pasta_1.pid -t 10001,10002 -T 10003,10004 -u 10001,10002 -U 10003,10004 --config-net ${NSTOOL} hold ${STATESETUP}/ns1.hold" + __ns1_pid=$(${NSTOOL} pid ${STATESETUP}/ns1.hold) context_setup_nsenter passt_1 -U -n -p --preserve-credentials -t ${__ns1_pid} __opts= [ ${PCAP} -eq 1 ] && __opts="${__opts} -p ${LOGDIR}/pasta_2.pcap" [ ${DEBUG} -eq 1 ] && __opts="${__opts} -d" [ ${TRACE} -eq 1 ] && __opts="${__opts} --trace" - context_run_bg pasta_2 "./pasta ${__opts} --trace -l /tmp/pasta2.log -P ${STATESETUP}/pasta_2.pid -t 10004,10005 -T 10003,10001 -u 10004,10005 -U 10003,10001 --config-net ${NSTOOL} ${STATESETUP}/ns2.hold hold" - __ns2_pid=$(${NSTOOL} ${STATESETUP}/ns2.hold pid) + context_run_bg pasta_2 "./pasta ${__opts} --trace -l /tmp/pasta2.log -P ${STATESETUP}/pasta_2.pid -t 10004,10005 -T 10003,10001 -u 10004,10005 -U 10003,10001 --config-net ${NSTOOL} hold ${STATESETUP}/ns2.hold" + __ns2_pid=$(${NSTOOL} pid ${STATESETUP}/ns2.hold) context_setup_nsenter passt_2 -U -n -p --preserve-credentials -t ${__ns2_pid} context_setup_nsenter qemu_1 -U -n -p --preserve-credentials -t ${__ns1_pid} @@ -284,7 +284,7 @@ teardown_passt() { # teardown_pasta() - Exit namespace, kill pasta process teardown_pasta() { - ${NSTOOL} "${STATESETUP}/ns.hold" stop + ${NSTOOL} stop "${STATESETUP}/ns.hold" context_wait unshare teardown_context_watch ${PANE_HOST} host @@ -297,7 +297,7 @@ teardown_passt_in_ns() { context_run ns kill $(cat "${STATESETUP}/qemu.pid") context_wait qemu - ${NSTOOL} "${STATESETUP}/ns.hold" stop + ${NSTOOL} stop "${STATESETUP}/ns.hold" context_wait pasta rm "${STATESETUP}/passt.pid" "${STATESETUP}/pasta.pid" @@ -310,8 +310,8 @@ teardown_passt_in_ns() { # teardown_two_guests() - Exit namespaces, kill qemu processes, passt and pasta teardown_two_guests() { - __ns1_pid=$(${NSTOOL} "${STATESETUP}/ns1.hold" pid) - __ns2_pid=$(${NSTOOL} "${STATESETUP}/ns2.hold" pid) + __ns1_pid=$(${NSTOOL} pid "${STATESETUP}/ns1.hold") + __ns2_pid=$(${NSTOOL} pid "${STATESETUP}/ns2.hold") nsenter -U -p --preserve-credentials -t ${__ns1_pid} kill $(cat "${STATESETUP}/qemu_1.pid") nsenter -U -p --preserve-credentials -t ${__ns2_pid} kill $(cat "${STATESETUP}/qemu_2.pid") context_wait qemu_1 @@ -321,8 +321,8 @@ teardown_two_guests() { nsenter -U -p --preserve-credentials -t ${__ns2_pid} kill $(cat "${STATESETUP}/passt_2.pid") context_wait passt_1 context_wait passt_2 - ${NSTOOL} "${STATESETUP}/ns1.hold" stop - ${NSTOOL} "${STATESETUP}/ns2.hold" stop + ${NSTOOL} stop "${STATESETUP}/ns1.hold" + ${NSTOOL} stop "${STATESETUP}/ns2.hold" context_wait pasta_1 context_wait pasta_2 diff --git a/test/nstool.c b/test/nstool.c index 4ae0f85..cc6d617 100644 --- a/test/nstool.c +++ b/test/nstool.c @@ -7,17 +7,17 @@ * * Can run in 3 modes: * - * nstool hold + * nstool hold * Designed to be run inside a namespace, opens a Unix domain * control socket at and waits until instructed to stop - * with "nstool stop" - * nstool pid - * Prints the PID of the nstool hold process with control - * socket . This is given in the PID namespace where - * nstool pid is executed, not the one where nstool hold is - * running - * nstool stop - * Instruct the nstool hold with control socket at to exit. + * with "nstool stop " + * nstool pid + * Prints the PID of the nstool hold process with control socket + * . This is given in the PID namespace where nstool pid + * is executed, not the one where nstool hold is running + * nstool stop + * Instruct the nstool hold with control socket at to + * exit. */ #define _GNU_SOURCE @@ -38,7 +38,7 @@ static void usage(void) { - die("Usage: nstool hold|pid\n"); + die("Usage: nstool hold|pid|stop \n"); } static void hold(int fd, const struct sockaddr_un *addr) @@ -119,18 +119,18 @@ int main(int argc, char *argv[]) if (argc != 3) usage(); - sockname = argv[1]; + sockname = argv[2]; strncpy(sockaddr.sun_path, sockname, UNIX_PATH_MAX); fd = socket(AF_UNIX, SOCK_STREAM, PF_UNIX); if (fd < 0) die("socket(): %s\n", strerror(errno)); - if (strcmp(argv[2], "hold") == 0) + if (strcmp(argv[1], "hold") == 0) hold(fd, &sockaddr); - else if (strcmp(argv[2], "pid") == 0) + else if (strcmp(argv[1], "pid") == 0) pid(fd, &sockaddr); - else if (strcmp(argv[2], "stop") == 0) + else if (strcmp(argv[1], "stop") == 0) stop(fd, &sockaddr); else usage(); -- 2.39.2