From: Daniel Borkmann Date: Sun, 14 Jun 2026 10:26:05 +0000 (+0200) Subject: selftests/net: Use public NetDrvContEnv API in nk_qlease fixtures X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=96fda937b4c170ae6164419f33434830423ce0e2;p=thirdparty%2Fkernel%2Flinux.git selftests/net: Use public NetDrvContEnv API in nk_qlease fixtures Expose the netkit host ifname as a public attribute nk_host_ifname (symmetric with the already-public nk_guest_ifname), rename _attach_bpf to a public attach_bpf, and add a public detach_bpf helper that encapsulates the tc-filter teardown bookkeeping. Switch the fixtures to this public API. No functional change and keeps pylint happy. Signed-off-by: Daniel Borkmann Reviewed-by: Bobby Eshleman Link: https://patch.msgid.link/20260614102607.863838-3-daniel@iogearbox.net Signed-off-by: Jakub Kicinski --- diff --git a/tools/testing/selftests/drivers/net/hw/nk_qlease.py b/tools/testing/selftests/drivers/net/hw/nk_qlease.py index 3723574dcd30f..b97663820ccfc 100755 --- a/tools/testing/selftests/drivers/net/hw/nk_qlease.py +++ b/tools/testing/selftests/drivers/net/hw/nk_qlease.py @@ -38,12 +38,7 @@ def _create_netkit_pair(cfg, rxqueues=2): cmd(f"ip link del dev {cfg.nk_host_ifname}", fail=False) cfg.nk_host_ifname = None cfg.nk_guest_ifname = None - if getattr(cfg, "_tc_attached", False): - cmd( - f"tc filter del dev {cfg.ifname} ingress pref {cfg._bpf_prog_pref}", - fail=False, - ) - cfg._tc_attached = False + cfg.detach_bpf() all_links = ip("-d link show", json=True) old_idxs = { @@ -102,7 +97,7 @@ def _create_netkit_pair(cfg, rxqueues=2): ns=cfg.netns, ) - cfg._attach_bpf() + cfg.attach_bpf() def _setup_lease(cfg, rxqueues=2): diff --git a/tools/testing/selftests/drivers/net/lib/py/env.py b/tools/testing/selftests/drivers/net/lib/py/env.py index b188ee55c76bc..e4ab99b905b16 100644 --- a/tools/testing/selftests/drivers/net/lib/py/env.py +++ b/tools/testing/selftests/drivers/net/lib/py/env.py @@ -401,7 +401,7 @@ class NetDrvContEnv(NetDrvEpEnv): self.nk_guest_ifindex = netkit_links[0]['ifindex'] self._setup_ns() - self._attach_bpf() + self.attach_bpf() if primary_rx_redirect: self._attach_primary_rx_redirect_bpf() @@ -524,7 +524,13 @@ class NetDrvContEnv(NetDrvEpEnv): return bpf_obj return None - def _attach_bpf(self): + def detach_bpf(self): + if self._tc_attached: + cmd(f"tc filter del dev {self.ifname} ingress pref " + f"{self._bpf_prog_pref}", fail=False) + self._tc_attached = False + + def attach_bpf(self): bpf_obj = self._find_bpf_obj("nk_forward.bpf.o") if not bpf_obj: raise KsftSkipEx("BPF prog nk_forward.bpf.o not found")