[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250313-xsk-v1-11-7374729a93b9@bootlin.com>
Date: Thu, 13 Mar 2025 11:48:09 +0100
From: "Bastien Curutchet (eBPF Foundation)" <bastien.curutchet@...tlin.com>
To: Björn Töpel <bjorn@...nel.org>,
Magnus Karlsson <magnus.karlsson@...el.com>,
Maciej Fijalkowski <maciej.fijalkowski@...el.com>,
Jonathan Lemon <jonathan.lemon@...il.com>,
Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <martin.lau@...ux.dev>,
Eduard Zingerman <eddyz87@...il.com>, Song Liu <song@...nel.org>,
Yonghong Song <yonghong.song@...ux.dev>,
John Fastabend <john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>,
Jiri Olsa <jolsa@...nel.org>, Mykola Lysenko <mykolal@...com>,
Shuah Khan <shuah@...nel.org>, "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, Jesper Dangaard Brouer <hawk@...nel.org>
Cc: Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Alexis Lothore <alexis.lothore@...tlin.com>, netdev@...r.kernel.org,
bpf@...r.kernel.org, linux-kselftest@...r.kernel.org,
linux-kernel@...r.kernel.org,
"Bastien Curutchet (eBPF Foundation)" <bastien.curutchet@...tlin.com>
Subject: [PATCH 11/13] selftests/bpf: test_xsk: Make kselftest dependency
optional
test_xsk.c uses the kselftest framework. This isn't compatible with the
test_progs framework.
Add a XSK_SELTFEST define that allows to enable/disable the kselftest
usage.
Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@...tlin.com>
---
tools/testing/selftests/bpf/Makefile | 2 +-
tools/testing/selftests/bpf/test_xsk.h | 18 +++++++++++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index ca14999fe0d832b24536f3a4f956e987c3b53cd8..3cde86a6e9b1ca467de162e0ba9670ad2085b6a6 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -777,7 +777,7 @@ $(OUTPUT)/test_verifier: test_verifier.c verifier/tests.h $(BPFOBJ) | $(OUTPUT)
EXTRA_SRC := $(TOOLSDIR)/lib/find_bit.c
$(OUTPUT)/xskxceiver: $(EXTRA_SRC) test_xsk.c xskxceiver.c xskxceiver.h $(OUTPUT)/network_helpers.o $(OUTPUT)/xsk.o $(OUTPUT)/xsk_xdp_progs.skel.h $(BPFOBJ) | $(OUTPUT)
$(call msg,BINARY,,$@)
- $(Q)$(CC) $(CFLAGS) $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@
+ $(Q)$(CC) $(CFLAGS) -D XSK_KSELFTEST $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@
$(OUTPUT)/xdp_hw_metadata: xdp_hw_metadata.c $(OUTPUT)/network_helpers.o $(OUTPUT)/xsk.o $(OUTPUT)/xdp_hw_metadata.skel.h | $(OUTPUT)
$(call msg,BINARY,,$@)
diff --git a/tools/testing/selftests/bpf/test_xsk.h b/tools/testing/selftests/bpf/test_xsk.h
index 61246013816431dca2f84ce2fec44c5160adbdad..9653687087c122ec5fdb9f23e3343e37c82373f6 100644
--- a/tools/testing/selftests/bpf/test_xsk.h
+++ b/tools/testing/selftests/bpf/test_xsk.h
@@ -5,7 +5,6 @@
#include <linux/ethtool.h>
#include <linux/if_xdp.h>
-#include "../kselftest.h"
#include "xsk.h"
#ifndef SO_PREFER_BUSY_POLL
@@ -31,12 +30,29 @@
#define SOCK_RECONF_CTR 10
#define USLEEP_MAX 10000
+
+#ifdef XSK_KSELFTEST
+#include "../kselftest.h"
+
static bool opt_verbose;
#define print_msg(x...) ksft_print_msg(x)
#define print_verbose(x...) do { if (opt_verbose) ksft_print_msg(x); } while (0)
#define skip_reason(x...) ksft_test_result_skip(x)
#define fail_reason(x...) ksft_test_result_fail(x)
+#else
+
+void xsk_log(const char *msg, ...);
+void xsk_verbose(const char *msg, ...);
+void xsk_skip(const char *msg);
+
+#define print_msg(x...) xsk_verbose(x)
+#define print_verbose(x...) xsk_verbose(x)
+#define skip_reason(x...) xsk_skip(x)
+#define fail_reason(x...) xsk_log(x)
+
+#endif
+
static inline u32 ceil_u32(u32 a, u32 b)
{
return (a + b - 1) / b;
--
2.48.1
Powered by blists - more mailing lists