Thread (5 messages) 5 messages, 2 authors, 2026-01-22

Re: [net-next 2/2] selftests: drv-net: psp: add test for VLAN sub-interface

From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-01-22 04:18:12
Also in: lkml

On Tue, 20 Jan 2026 23:35:17 -0800 Kiran Kella wrote:
quoted hunk ↗ jump to hunk
--- a/tools/testing/selftests/drivers/net/psp.py
+++ b/tools/testing/selftests/drivers/net/psp.py
@@ -17,7 +17,7 @@ from lib.py import ksft_not_none
 from lib.py import KsftSkipEx
 from lib.py import NetDrvEpEnv, PSPFamily, NlError
 from lib.py import bkg, rand_port, wait_port_listen
-
+from lib.py import ip
 
don't clean up this white space, double new line is a thing in Python
for some reason
quoted hunk ↗ jump to hunk
 def _get_outq(s):
     one = b'\0' * 4
@@ -568,6 +568,119 @@ def removal_device_bi(cfg):
     finally:
         _close_conn(cfg, s)
 
+def vlan_basic_send(cfg):
+    """
+    Test PSP over VLAN-to-VLAN traffic
+
+    Network topology:
+      Local VLAN (nsim0.100) <---> Remote VLAN (nsim1.100)
+           |                            |
+      Local Physical (nsim0) <---> Remote Physical (nsim1)
+          [PSP configured here]
+    """
+    cfg.require_nsim()
why would this only work on nsim?
+    _init_psp_dev(cfg)
+
+    # Store original interface names and addresses
+    orig_local_ifname = cfg.ifname
+    orig_local_ifindex = cfg.ifindex
+    orig_remote_ifname = cfg.remote_ifname
+    orig_local_addr_v4 = cfg.addr_v["4"]
+    orig_local_addr_v6 = cfg.addr_v["6"]
+    orig_remote_addr_v4 = cfg.remote_addr_v["4"]
+    orig_remote_addr_v6 = cfg.remote_addr_v["6"]
maybe instead of all this saving and restoring just make and object and
give it all the attributes so that it looks like cfg? Instead of
modifying the real cfg I mean.
+    # VLAN configuration
+    vlan_id = 100
+    local_vlan_ifname = f"{orig_local_ifname}.{vlan_id}"
+    remote_vlan_ifname = f"{orig_remote_ifname}.{vlan_id}"
+
+    local_vlan_addr_v4 = "192.0.2.21"
+    remote_vlan_addr_v4 = "192.0.2.22"
+    local_vlan_addr_v6 = "2001:db8::21"
+    remote_vlan_addr_v6 = "2001:db8::22"
+
+    try:
+        # Create VLAN interface on LOCAL side
+        ip(f"link add link {orig_local_ifname} name {local_vlan_ifname} type vlan id {vlan_id}")
please use defer()
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help