]> git.ipfire.org Git - thirdparty/qemu.git/commit
net/af-xdp: Remove XDP program cleanup logic
authorDaniel Borkmann <daniel@iogearbox.net>
Fri, 11 Jul 2025 09:44:14 +0000 (11:44 +0200)
committerJason Wang <jasowang@redhat.com>
Tue, 15 Jul 2025 02:26:08 +0000 (10:26 +0800)
commitd38c5e0d0c206dc52421b8bb777cefdf47c13b7e
treea2d0ec3dc086ed64ebfd8f542e7d8b1ed669c2a3
parentda703b06a52bfb5fe1a77b0eddbb8d68d3f70762
net/af-xdp: Remove XDP program cleanup logic

There are two issues with the XDP program removal in af_xdp_cleanup():

1) Starting from libxdp 1.3.0 [0] the XDP program gets automatically
   detached when we call xsk_socket__delete() for the last successfully
   configured queue. libxdp internally keeps track of that. For QEMU
   we require libxdp >= 1.4.0. Given QEMU is not loading the program,
   lets also not attempt to remove it and delegate this instead.

2) The removal logic is incorrect anyway because we are setting n_queues
   into the last queue that never has xdp_flags on failure, so the logic
   is always skipped since the non-zero test for s->xdp_flags in
   af_xdp_cleanup() fails.

Fixes: cb039ef3d9e3 ("net: add initial support for AF_XDP network backend")
Suggested-by: Ilya Maximets <i.maximets@ovn.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Ilya Maximets <i.maximets@ovn.org>
Cc: Ilya Maximets <i.maximets@ovn.org>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Anton Protopopov <aspsk@isovalent.com>
Link: https://github.com/xdp-project/xdp-tools/commit/38c2914988fd5c1ef65f2381fc8af9f3e8404e2b
Signed-off-by: Jason Wang <jasowang@redhat.com>
net/af-xdp.c