From nobody Tue Dec 16 06:54:15 2025 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A6FB34D4CC for ; Thu, 23 Oct 2025 18:28:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761244101; cv=none; b=hVeS7ZzbuEYXZvhPuyQ7o4/tT+WvBdztXHzzXjCAzQ0/VPVOf0tXPQO4r66Fv82TS+Wh8x5MzwDmCCo+WeVTDKIYSCOPv+QmKXgH7k94ZameAVVfgUSXwNjDQ9O6k8jv3RVHrbwKvUoZb7gWE+YcO2aNFq10I9wTxT/kQ5zn12w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761244101; c=relaxed/simple; bh=qsdEM4mUEx6lc62dcdEXc4nlTIYZClzkDbVeOSxLeZc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TLZEdzpQ8TfflaiffUkLjF0qJuB/roRyjd8mEr47xk5YL0AD3u1G/Eq76edS2rDqjwRss35tlFGxRbM5wg8qUQz+JJBQOfmSrwA5W3v2AW6BGoILrnrAFCmUn6Qxmp1OwyM5Q62EtHzhis61SCJouZcAGVhEHtXvf3jQ2pr/1M8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CgTxk4Pt; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CgTxk4Pt" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-29476dc9860so7557365ad.0 for ; Thu, 23 Oct 2025 11:28:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761244092; x=1761848892; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=v1bBkEHiFKeL/UsD+j471vNGh5kKPPSFbcwNUOh3PyM=; b=CgTxk4PtZgzYqEwUrxug9GUWlwAOlSb/4GiXga3xzuC8xsVvOkqAma2VKwORIOW7I2 QMtsirQZM2E1Ydb3QkqIDrIat2ivOrUPcH43MbFS3SzsqWOvw9mubCVxWOVb3OIi/10r bQ1TOQpfyqn6DH8rO77mXUM/KV1CQliLqiWXhtntOTPaX6qXkLKW78hU6LgRcrx44Vkc PXKSbbmfxzqf0VlcNs2JqBsFzvvnpKzJVvgaETgKKK678wAseoGKpKLxF7VwbnerjfEK y2jJcLl3c6P0e+QoGkFum2l3IMdhkLDyJToz841o9imnGUzY6QwFJHMIBVzeo3urdrtN gcsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761244092; x=1761848892; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v1bBkEHiFKeL/UsD+j471vNGh5kKPPSFbcwNUOh3PyM=; b=ba4GB1aYO4EnfQR57/hidh1iuE4rMyc0gLJJ4415t8Q8noVUTRBKCgGpYA+I3Uk4H7 0PFcEgj3Q/pHgbgCrKlUJPGBNGwJx1KnTRlqRFNfNagU9z//+ckEobNQp+EfS5aYet4J OPTjb3ix5VOjmQyH3TaUZ678aguB08T7i8ZcJo+UOYrz/Qhch5cvH30oqyi0/a6bM2jE 7r7m9fhB50mhPyAvpBmp4zoie65lk+ByIhFBCBXXePr3dgK818eq0EQrYaajnYx54DFH KWx0pz8pxVMos3E8DZP0F/+pCyYdknu2ATVQTiys/a7ELVfEIlpJXIvOPhyxbjBq+XtA hYYA== X-Forwarded-Encrypted: i=1; AJvYcCVYib8agEdf/DMm8eCrLphE2VYtj/AkGM7X3H8Ab4huCaNT818uXnGNRO4LIBn/swyZgibPaua5FcltxME=@vger.kernel.org X-Gm-Message-State: AOJu0YwrAL8BTfiokep3qVKn1X4umAokEXBEcWbtl7+sXD91gbBVGKFL mtOvf8ciQei1WQU8SKIURbOSFi0w0wp2jnbNuTNiM/iZwIV6rTvU/llw X-Gm-Gg: ASbGncsu3wXU8apwvvMKGbaq6OymOhs0Ia+0VP/ed0q0DG01dP9H8jbt+82M915JrLF 9BstvtxyIfl18eLWv5ioWirNn9KNPHCorhBx2N+n4zdsb+UaNS25ABJgdRVzQQuafXfJJ03Q2AV r7vuFKrlKJ/CgWmIYgPfmYAxih3Wlk8nIHBdR7QkXE6oUiV1DtPeO1XE9zM0N+uKhwCGgHu5jyD 84KU7nVkVcaX/jrBPzSKYQc46q1vt3aggxTiwxWHWE497WCruJh63NHdeTyba0ZqA81/afXh0rw V6uh9YRt7mH/yfHgNJtmkLB5qPlBdg6atC9tfIokpYIQ7t3aDkLGhVHARLXWl3HOaN50Y4gqJbM g9KqOTbqR7dVCO4a77LfSrko09cnrIZQ0uSSDGL2dbN6j/qIxfRBstPd3bavY94/NObXOQjA5 X-Google-Smtp-Source: AGHT+IE/dwExmoLUemuWd0Z4IzWtCnVPvukg5v4cVC/ETItw8BzfPltzLRhLMffJHMVaO6fvdpyktg== X-Received: by 2002:a17:903:24f:b0:267:a95d:7164 with SMTP id d9443c01a7336-290cba42a8bmr268233595ad.60.1761244091859; Thu, 23 Oct 2025 11:28:11 -0700 (PDT) Received: from localhost ([2a03:2880:2ff:3::]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2946ddec8d8sm30411195ad.36.2025.10.23.11.28.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 11:28:11 -0700 (PDT) From: Bobby Eshleman Date: Thu, 23 Oct 2025 11:27:47 -0700 Subject: [PATCH net-next v8 08/14] selftests/vsock: add namespace helpers to vmtest.sh Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251023-vsock-vmtest-v8-8-dea984d02bb0@meta.com> References: <20251023-vsock-vmtest-v8-0-dea984d02bb0@meta.com> In-Reply-To: <20251023-vsock-vmtest-v8-0-dea984d02bb0@meta.com> To: Stefano Garzarella , Shuah Khan , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Stefan Hajnoczi , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , =?utf-8?q?Eugenio_P=C3=A9rez?= , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Bryan Tan , Vishnu Dasa , Broadcom internal kernel review list , Bobby Eshleman Cc: virtualization@lists.linux.dev, netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-hyperv@vger.kernel.org, berrange@redhat.com, Bobby Eshleman X-Mailer: b4 0.14.3 From: Bobby Eshleman Add functions for initializing namespaces with the different vsock NS modes. Callers can use add_namespaces() and del_namespaces() to create namespaces global0, global1, local0, and local1. The init_namespaces() function initializes global0, local0, etc... with their respective vsock NS mode. This function is separate so that tests that depend on this initialization can use it, while other tests that want to test the initialization interface itself can start with a clean slate by omitting this call. Remove namespaces upon exiting the program in cleanup(). This is unlikely to be needed for a healthy run, but it is useful for tests that are manually killed mid-test. In that case, this patch prevents the subsequent test run from finding stale namespaces with already-write-once-locked vsock ns modes. This patch is in preparation for later namespace tests. Signed-off-by: Bobby Eshleman --- tools/testing/selftests/vsock/vmtest.sh | 45 +++++++++++++++++++++++++++++= ++++ 1 file changed, 45 insertions(+) diff --git a/tools/testing/selftests/vsock/vmtest.sh b/tools/testing/selfte= sts/vsock/vmtest.sh index 62b4f5ede9f6..5f4bae952e13 100755 --- a/tools/testing/selftests/vsock/vmtest.sh +++ b/tools/testing/selftests/vsock/vmtest.sh @@ -46,6 +46,7 @@ readonly TEST_DESCS=3D( ) =20 readonly USE_SHARED_VM=3D(vm_server_host_client vm_client_host_server vm_l= oopback) +readonly NS_MODES=3D("local" "global") =20 VERBOSE=3D0 =20 @@ -100,11 +101,55 @@ check_result() { cnt_total=3D$(( cnt_total + 1 )) } =20 +add_namespaces() { + # add namespaces local0, local1, global0, and global1 + for mode in "${NS_MODES[@]}"; do + ip netns add "${mode}0" 2>/dev/null + ip netns add "${mode}1" 2>/dev/null + done +} + +init_namespaces() { + for mode in "${NS_MODES[@]}"; do + ns_set_mode "${mode}0" "${mode}" + ns_set_mode "${mode}1" "${mode}" + + log_host "set ns ${mode}0 to mode ${mode}" + log_host "set ns ${mode}1 to mode ${mode}" + + # we need lo for qemu port forwarding + ip netns exec "${mode}0" ip link set dev lo up + ip netns exec "${mode}1" ip link set dev lo up + done +} + +del_namespaces() { + for mode in "${NS_MODES[@]}"; do + ip netns del "${mode}0" &>/dev/null + ip netns del "${mode}1" &>/dev/null + log_host "removed ns ${mode}0" + log_host "removed ns ${mode}1" + done +} + +ns_set_mode() { + local ns=3D$1 + local mode=3D$2 + + echo "${mode}" | ip netns exec "${ns}" \ + tee /proc/sys/net/vsock/ns_mode &>/dev/null +} + vm_ssh() { ssh -q -o UserKnownHostsFile=3D/dev/null -p ${SSH_HOST_PORT} localhost "$= @" return $? } =20 +cleanup() { + del_namespaces +} + +trap cleanup EXIT =20 check_args() { local found --=20 2.47.3