After more debugging, the reason turned out to be related to the level of libxdp called out by the bpf-examples. 'master' level of libxdp works; the first commit level of libxdp that works for me is tjcw@tjcw-KVM:~/workspace/bpf-examples/lib/xdp-tools$ git bisect old b572cd6b5a6462280db389b94586c2b5450887a9 is the first new commit commit b572cd6b5a6462280db389b94586c2b5450887a9 Author: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> Date: Mon Sep 12 12:32:26 2022 +0000 xsk: remove unused variable outstanding_tx Remove the unused variable outstanding_tx. Signed-off-by: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> lib/libxdp/xsk.c | 2 -- 1 file changed, 2 deletions(-) tjcw@tjcw-KVM:~/workspace/bpf-examples/lib/xdp-tools$ I believe Toke is going to adjust the submodule level of libxdp that is selected for bpf-examples to use. On Thu, 24 Nov 2022 at 15:21, Chris Ward <tjcw01@xxxxxxxxx> wrote: > > The reason was a mismatch between the levels of libxdp and libbpf in > use. To fix this it was necessary to add -fPIC to the CFLAGS when > building libbpf. I have raised a PR > https://github.com/libbpf/libbpf/pull/631 with the fix and a little > more detail as to why I need it. Please review and merge. > > Chris Ward, IBM