Netdev List
 help / color / mirror / Atom feed
From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: <netdev-bot+sashiko@kernel.org>
Cc: <netdev@vger.kernel.org>, <bpf@vger.kernel.org>,
	<magnus.karlsson@intel.com>, <stfomichev@gmail.com>,
	<kuba@kernel.org>, <pabeni@redhat.com>,
	<tushar.vyavahare@intel.com>, <kerneljasonxing@gmail.com>,
	<bjorn@kernel.org>
Subject: Re: [PATCH v3 net-next 06/15] selftests: xsk: move the AF_XDP test suite to selftests/net
Date: Sat, 17 Oct 2026 17:31:41 +0200	[thread overview]
Message-ID: <atOU3fhtxfef6eCl@boxer> (raw)
In-Reply-To: <179220636618.434549.11404278084536397224@kernel.org>

On Sat, Oct 17, 2026 at 03:06:06AM +0000, netdev-bot+sashiko@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 2 potential
> issue(s) to consider.
> 
> Critical: 0 · High: 0 · Medium: 1 · Low: 1
> 
> If you believe none of the issues are legitimate, please reply to each
> issue of Medium severity or higher and explain why the AI is wrong.
> If any of them are legitimate and you plan to respin, please let patchwork
> know by including "pw-bot: cr" as a separate line at the end of your reply
> (one such reply per series is enough).
> 
> - [Medium] Undisclosed relicensing.
> - [Low] In tools/testing/selftests/net/lib/Makefile, the xskxceiver
>   binary is only removed by `make clean` when bpftool happens to work at…
> 
> --
> 
> selftests: xsk: move the AF_XDP test suite to selftests/net
> 
> This commit moves the xskxceiver engine, the xsk userspace library, the
> test definitions and the XDP program from selftests/bpf to
> selftests/net/lib/xsk. It also moves test_xsk.sh and xsk_prereqs.sh to
> selftests/net, and net/lib now builds xskxceiver only when a working
> bpftool is found. The two ethtool ring helpers move from
> bpf/network_helpers.c into xsk.c.
> 
> > diff --git a/tools/testing/selftests/net/lib/Makefile b/tools/testing/selftests/net/lib/Makefile
> > index ff83603397d06..c26088da04892 100644
> > --- a/tools/testing/selftests/net/lib/Makefile
> > +++ b/tools/testing/selftests/net/lib/Makefile
> > @@ -5,6 +5,15 @@ CFLAGS += -I../../../../../usr/include/ $(KHDR_INCLUDES)
> >  # Additional include paths needed by kselftest.h
> >  CFLAGS += -I../../
> >  
> > +# xskxceiver needs a working bpftool to generate its skeleton
> > +BPFTOOL ?= bpftool
> > +HAS_BPFTOOL := $(shell $(BPFTOOL) version >/dev/null 2>&1 && echo y)
> > +ifeq ($(HAS_BPFTOOL),y)
> > +COND_GEN_FILES += xskxceiver
> > +else
> > +$(warning excluding xskxceiver, bpftool not installed or not working)
> > +endif
> > +
> 
> [ ... ]
> 
> > @@ -13,6 +22,7 @@ TEST_FILES := \
> >  
> >  TEST_GEN_FILES := \
> >  	$(patsubst %.c,%.o,$(wildcard *.bpf.c)) \
> > +	$(COND_GEN_FILES) \
> >  	csum \
> >  	gro \
> >  	xdp_helper \
> > @@ -23,3 +33,28 @@ TEST_INCLUDES := $(wildcard py/*.py sh/*.sh)
> 
> [ ... ]
> 
> > +$(OUTPUT)/xskxceiver: $(XSK_SOURCES) $(XSK_HEADERS) $(XSK_SKEL) $(BPFOBJ)
> > +	$(call msg,CC,,$@)
> > +	$(Q)$(CC) -I$(top_srcdir)/tools/include $(CFLAGS) -I$(OUTPUT) \
> > +		-I$(SCRATCH_DIR)/include \
> > +		$(XSK_SOURCES) $(BPFOBJ) $(LDLIBS) $(XSK_LDLIBS) -o $@
> > +
> > +EXTRA_CLEAN += $(XSK_BPF_OBJ) $(XSK_SKEL)
> 
> [Severity: Low]
> Will make clean leave lib/xskxceiver behind if bpftool can't be used
> when clean runs?
> 
> HAS_BPFTOOL is evaluated when the Makefile is parsed. xskxceiver only
> ends up in TEST_GEN_FILES if "$(BPFTOOL) version" succeeds during that
> same make invocation.
> 
> The clean target in lib.mk removes:
> 
> 	$(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN)
> 
> Here EXTRA_CLEAN only lists the .bpf.o and the skeleton.
> 
> Say the binary was built with a working bpftool, and make clean later
> runs where bpftool doesn't work. That can happen with a different PATH,
> a BPFTOOL= override, or a cross environment. The intermediates get
> removed, but $(OUTPUT)/xskxceiver stays.
> 
> test_xsk.sh only checks:
> 
> 	if [ ! -x "./${XSKOBJ}" ]; then
> 
> So it would run the stale binary instead of skipping.

Stale binary is still a valid xskxceiver...test_xsk.sh is later gone so
this check is not something we should worry about.

However, adding it to EXTRA_CLEAN would not hurt, as a follow-up. Maybe we
should audit also other binaries (iou-zcrx) while at it.

> 
> Would it work to add $(OUTPUT)/xskxceiver to EXTRA_CLEAN
> unconditionally? The same Makefile logic is still there at the end of
> the series.
> 
> > diff --git a/tools/testing/selftests/bpf/xsk.c b/tools/testing/selftests/net/lib/xsk/xsk.c
> > similarity index 95%
> > rename from tools/testing/selftests/bpf/xsk.c
> > rename to tools/testing/selftests/net/lib/xsk/xsk.c
> > index 25d568abf0f20..6bd32caf5d085 100644
> > --- a/tools/testing/selftests/bpf/xsk.c
> > +++ b/tools/testing/selftests/net/lib/xsk/xsk.c
> 
> [ ... ]
> 
> > @@ -779,3 +778,51 @@ void xsk_socket__delete(struct xsk_socket *xsk)
> >  		close(xsk->fd);
> >  	free(xsk);
> >  }
> > +
> > +int get_hw_ring_size(char *ifname, struct ethtool_ringparam *ring_param)
> > +{
> 
> [Severity: Medium]
> Does this move change the licence of these helpers?
> 
> get_hw_ring_size() and set_hw_ring_size() come from
> tools/testing/selftests/bpf/network_helpers.c, which has:
> 
> 	// SPDX-License-Identifier: GPL-2.0-only
> 
> xsk.c starts with:
> 
> 	// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
> 
> Tushar Vyavahare added both helpers in commits 90a695c3d31e1c and
> bee3a7b0762422 under GPL-2.0-only. After the move they are unchanged,
> but they now sit in a file that offers its contents under LGPL-2.1 or
> BSD-2-Clause, with no per-function licence note.
> 
> The commit message only says "Move the two ethtool ring helpers from
> network_helpers into xsk.c". It doesn't mention the licence change, and
> there is no Ack from the original author. This is still true at the end
> of the series.
> 
> Could the helpers go into one of the GPL-2.0 files in the same
> directory instead, such as test_xsk.c or xskxceiver.c? If they need to
> stay in xsk.c, could the relicensing be stated explicitly, with an Ack
> from the copyright holder?

libbpf was at latter dual license AFAIR, I did not pay much attention that
apparently network_helpers.c had it different.

If Tushar would insist as original author I could fixup licenses, but I
don't see it as a show-stopper.

> 
> > +	struct ifreq ifr = {0};
> > +	int sockfd, err;
> 
> [ ... ]
> 
> > +int set_hw_ring_size(char *ifname, struct ethtool_ringparam *ring_param)
> > +{
> 
> [ ... ]
> 
> -- 
> Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20261014184539.774708-1-maciej.fijalkowski%40intel.com

  reply	other threads:[~2026-10-17 15:31 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-14 18:45 [PATCH v3 net-next 00/15] selftests: net: migrate AF_XDP test suite over to net Maciej Fijalkowski
2026-10-14 18:45 ` [PATCH v3 net-next 01/15] selftests: xsk: factor endpoint work out of pthread wrappers Maciej Fijalkowski
2026-10-15  8:14   ` Björn Töpel
2026-10-14 18:45 ` [PATCH v3 net-next 02/15] selftests: xsk: size the TX UMEM in HW_SW_MAX_RING_SIZE Maciej Fijalkowski
2026-10-15  8:15   ` Björn Töpel
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-17 14:40     ` Maciej Fijalkowski
2026-10-14 18:45 ` [PATCH v3 net-next 03/15] selftests: xsk: drop the single-interface loopback mode Maciej Fijalkowski
2026-10-15  8:17   ` Björn Töpel
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-17 14:50     ` Maciej Fijalkowski
2026-10-14 18:45 ` [PATCH v3 net-next 04/15] selftests/bpf: drop the test_progs AF_XDP wrapper Maciej Fijalkowski
2026-10-15  8:18   ` Björn Töpel
2026-10-14 18:45 ` [PATCH v3 net-next 05/15] selftests: net: add a generic rule for BPF skeletons Maciej Fijalkowski
2026-10-15  8:20   ` Björn Töpel
2026-10-14 18:45 ` [PATCH v3 net-next 06/15] selftests: xsk: move the AF_XDP test suite to selftests/net Maciej Fijalkowski
2026-10-15  8:22   ` Björn Töpel
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-17 15:31     ` Maciej Fijalkowski [this message]
2026-10-14 18:45 ` [PATCH v3 net-next 07/15] selftests: xsk: collect interface capabilities in struct xsk_caps Maciej Fijalkowski
2026-10-15  8:27   ` Björn Töpel
2026-10-14 18:45 ` [PATCH v3 net-next 08/15] selftests: xsk: split xskxceiver main() into setup, run and cleanup Maciej Fijalkowski
2026-10-15  8:29   ` Björn Töpel
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-14 18:45 ` [PATCH v3 net-next 09/15] selftests: xsk: run one test case per xskxceiver invocation Maciej Fijalkowski
2026-10-15  8:34   ` Björn Töpel
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-17 16:04     ` Maciej Fijalkowski
2026-10-14 18:45 ` [PATCH v3 net-next 10/15] selftests: xsk: run the RX and TX endpoints in separate processes Maciej Fijalkowski
2026-10-15  9:04   ` Björn Töpel
2026-10-14 18:45 ` [PATCH v3 net-next 11/15] selftests: xsk: add a hardware mode to xskxceiver Maciej Fijalkowski
2026-10-15  9:42   ` Björn Töpel
2026-10-15 10:55     ` Maciej Fijalkowski
2026-10-15 16:03       ` Björn Töpel
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-14 18:45 ` [PATCH v3 net-next 12/15] selftests: xsk: pass non-test traffic to the stack in hardware mode Maciej Fijalkowski
2026-10-15 10:05   ` Björn Töpel
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-14 18:45 ` [PATCH v3 net-next 13/15] selftests: xsk: list the hardware test cases Maciej Fijalkowski
2026-10-14 18:45 ` [PATCH v3 net-next 14/15] selftests: drv-net: test AF_XDP zero-copy with an SKB peer Maciej Fijalkowski
2026-10-15 10:29   ` Björn Töpel
2026-10-15 12:52     ` Maciej Fijalkowski
2026-10-17  3:06   ` netdev-bot+sashiko
2026-10-14 18:45 ` [PATCH v3 net-next 15/15] selftests: xsk: document generic and hardware endpoint runs Maciej Fijalkowski
2026-10-17  3:06   ` netdev-bot+sashiko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=atOU3fhtxfef6eCl@boxer \
    --to=maciej.fijalkowski@intel.com \
    --cc=bjorn@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=kerneljasonxing@gmail.com \
    --cc=kuba@kernel.org \
    --cc=magnus.karlsson@intel.com \
    --cc=netdev-bot+sashiko@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=stfomichev@gmail.com \
    --cc=tushar.vyavahare@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox