From nobody Tue Apr 7 02:55:52 2026 Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com [209.85.128.173]) (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 03640374197 for ; Mon, 16 Mar 2026 22:29:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773700167; cv=none; b=YscTnm3J+AYYyTERjfBWRd9W+O4UChxAuiQg3+cwhOP2Gx9IK7AgbWN8ARseZcM8SKabl4tKVQAoUyeuiaWLsz2a5XHNQuJk5FIpJhxZwH2IkTf7RXtWsMDxMLkwDAFnhGxmlqifqZmZlsd8UoIbeAAG5tITmWJ3mjvDFR+QqsE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773700167; c=relaxed/simple; bh=jyNxYmx5UB2XwVBzrPIt/v521XrQK8jWoaatFoXioqs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=epJV1GkmK3/6GZJdbWJdbKiSAEDlkZuMMGIUqQgIqZLpkZP62SM8HTV5SNnbpFBBzrsVPAx7r51+/PGE5/yIxpeX20s/4OeNA4O0FOp91gRfbyP3taY62ndiNFW76NSrIDfpanZVUizyLuUz0TUs1h9O3SRjoJdiMkzOPdQWEbM= 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=XMn9rRFa; arc=none smtp.client-ip=209.85.128.173 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="XMn9rRFa" Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-79860421382so45587517b3.0 for ; Mon, 16 Mar 2026 15:29:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773700163; x=1774304963; 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=omed2F+AqWiwSMzDcFuf7st7hlR6TZL1wyoNIJPdTr0=; b=XMn9rRFal8dlvd7EaX0AqXe5plw4ois8LmhTEgSEDmwkYClkt+Pd9SFtojlgWOBOm/ tucB/NyVFiglUhpi/tqaiY8JATMVWzzp80oERakv557SKHU0pTOeEn/KkrIMFi2qWj8l tPfai8Z9vngm80FYz3ni50W3vdoQ1cZ3tq1loIZSb9/myJJdvMOwJSKICCTFA8+RXKFc fa2Gb7USJGm6RbR/bRz2xUBEN33yOkpHfq75+EK1jAyh5XaXOLJM7K6gy3QM+BNHiXO3 I9Wj9fvGATzEPyflcEALH4rhjtiEgS5g1R1Zgfh99A2UiNjBcIAEq+KHn5wTC0j92Qrm fBfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773700163; x=1774304963; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=omed2F+AqWiwSMzDcFuf7st7hlR6TZL1wyoNIJPdTr0=; b=sH/x+QeR2vHAnOXEPMDz/ZNrJw2d3U0fXRcCWPA8v8FF/acFHUobbwuS8ok9Oyp1bU 7fuZas2Y+bNaW1dSKQLnPEkkSsjsbF9TKvp/QLdk5gSE+R9syjcOPUWHxXrHARtwd5q0 SkqYIUoGcotG25R8adHmx/OrFiCvCD5zpDacLnLFKnsq/x2YmV2R+EorjodTIqRLsCtf ppybaHzYDRhPorH5z6GXxYFoUMRn0/sqcOQ8Sh2l8o7Grt5MKbKgH+T/SKqUsHsPp3n2 t1rtDEjsUeCsNI6+bRvmT4fIKoUg/sQK8gOJbWm/gVi/rc/laPUkPdoGpbLWU6Zl2KF/ v1Fw== X-Forwarded-Encrypted: i=1; AJvYcCWa8Y6QWn+Q4ZmikZr3IxLsSILW5uPctS3W1+q5xbhB9OEZQDTqbuKFc9rFcjx9CmdPyuRR+znkDxPv6JA=@vger.kernel.org X-Gm-Message-State: AOJu0YwnDjZU2wKXVmlrhV04rHZzAxzI6imyO+n/s3Jgf/4U0yd7+peK ZWIYzuNBRKdQYouJEpVB2AjLaHvKVuAwnpluP+foSyn5xhKdjIQq4Ud6 X-Gm-Gg: ATEYQzzq06qKEP/QOyCUVS3TagWDMeungxzhgk8pM1rUU+J+gI0DqRmfEtChCtedA9a x0cB4yuU33gpC6l4YHOIAZE0vO+hyuugoS9dCdmkuMD7PCUrN3F//e52NidrxSXxOjF+IsOnBUS qwU5kB0jJ2gWnKKu10P5HyQYWsAqaDqHAI/d85vOEgISIo8qnzOwWmT8axKO71dZoglrLbsHSRe Cgk3ZIoTRF5Ttr+Mf5DBHAOm9s6O+JHDv/qLSFjcVxOTfppaMhqR0ua3KdAqFBCnlh4r3zgFaZl OH5vxxuFhSCmj1AHJi5YoTCMvV/fdGM1ko95LSHblnJr8Czz1QMOC2otk6k44Gzkf8eczeqkpmD b9hiu6JOxa3HGBHFfy0Zo+ERulmmVAoxkZWeLRJ3sUx2OEJ9pqjhol5+AvXUDw/imYI7GyStyO1 vWZqfhZFvG5MNdblN1evOmwg== X-Received: by 2002:a05:690c:81:b0:79a:3a79:a4b5 with SMTP id 00721157ae682-79a3a79b4eamr90331507b3.11.1773700162705; Mon, 16 Mar 2026 15:29:22 -0700 (PDT) Received: from localhost ([2a03:2880:25ff:5b::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-79917deb69asm92905497b3.10.2026.03.16.15.29.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Mar 2026 15:29:22 -0700 (PDT) From: Bobby Eshleman Date: Mon, 16 Mar 2026 15:29:13 -0700 Subject: [PATCH net-next 2/6] selftests: drv-net: extract _find_bss_map_id helper in NetDrvContEnv 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: <20260316-scratch-bobbyeshleman-tcp-dm-netkit5-v1-2-b53c8cd72b23@meta.com> References: <20260316-scratch-bobbyeshleman-tcp-dm-netkit5-v1-0-b53c8cd72b23@meta.com> In-Reply-To: <20260316-scratch-bobbyeshleman-tcp-dm-netkit5-v1-0-b53c8cd72b23@meta.com> To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Andrew Lunn , Shuah Khan Cc: Stanislav Fomichev , Mina Almasry , Wei Wang , David Wei , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, bpf@vger.kernel.org, Bobby Eshleman X-Mailer: b4 0.14.3 From: Bobby Eshleman Factor out a _find_bss_map_id() helper from _attach_bpf() so it can be reused by other BPF attachment methods. This will be used by subsequent patches in this series that add support for netkit devmem TX testing. No functional change to existing tests. Signed-off-by: Bobby Eshleman --- tools/testing/selftests/drivers/net/lib/py/env.py | 21 ++++++++++---------= -- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/drivers/net/lib/py/env.py b/tools/test= ing/selftests/drivers/net/lib/py/env.py index ccff345fe1c1..08e90448f48d 100644 --- a/tools/testing/selftests/drivers/net/lib/py/env.py +++ b/tools/testing/selftests/drivers/net/lib/py/env.py @@ -467,6 +467,15 @@ class NetDrvContEnv(NetDrvEpEnv): return (bpf['pref'], bpf['options']['prog']['id']) raise Exception("Failed to get BPF prog ID") =20 + def _find_bss_map_id(self, prog_id): + """Find the .bss map ID for a loaded BPF program.""" + prog_info =3D bpftool(f"prog show id {prog_id}", json=3DTrue) + for map_id in prog_info.get("map_ids", []): + map_info =3D bpftool(f"map show id {map_id}", json=3DTrue) + if map_info.get("name", "").endswith("bss"): + return map_id + raise Exception(f"Failed to find .bss map for prog {prog_id}") + def _attach_bpf(self): bpf_obj =3D self.test_dir / "nk_forward.bpf.o" if not bpf_obj.exists(): @@ -478,17 +487,7 @@ class NetDrvContEnv(NetDrvEpEnv): self._tc_attached =3D True =20 (self._bpf_prog_pref, self._bpf_prog_id) =3D self._get_bpf_prog_id= s() - prog_info =3D bpftool(f"prog show id {self._bpf_prog_id}", json=3D= True) - map_ids =3D prog_info.get("map_ids", []) - - bss_map_id =3D None - for map_id in map_ids: - map_info =3D bpftool(f"map show id {map_id}", json=3DTrue) - if map_info.get("name").endswith("bss"): - bss_map_id =3D map_id - - if bss_map_id is None: - raise Exception("Failed to find .bss map") + bss_map_id =3D self._find_bss_map_id(self._bpf_prog_id) =20 ipv6_addr =3D ipaddress.IPv6Address(self.ipv6_prefix) ipv6_bytes =3D ipv6_addr.packed --=20 2.52.0