]> git.baikalelectronics.ru Git - kernel.git/commit
selftests/xsk: Introduce XDP prog load based on existing AF_XDP socket
authorMaciej Fijalkowski <maciej.fijalkowski@intel.com>
Wed, 29 Jun 2022 14:34:56 +0000 (16:34 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 30 Jun 2022 20:49:05 +0000 (22:49 +0200)
commitd75b6f4f2a5e9e93fc69370c66fd23a779c3b53e
treeac2d11308bd6081b87e9b7032ece2f5341638242
parentf610675e2cd8b2998a74cf387564698e75ada392
selftests/xsk: Introduce XDP prog load based on existing AF_XDP socket

Currently, xsk_setup_xdp_prog() uses anonymous xsk_socket struct which
means that during xsk_create_bpf_link() call, xsk->config.xdp_flags is
always 0. This in turn means that from xdpxceiver it is impossible to
use xdpgeneric attachment, so since commit d78a521bfd84 ("selftests,
xsk: Fix bpf_res cleanup test") we were not testing SKB mode at all.

To fix this, introduce a function, called xsk_setup_xdp_prog_xsk(), that
will load XDP prog based on the existing xsk_socket, so that xsk
context's refcount is correctly bumped and flags from application side
are respected. Use this from xdpxceiver side so we get coverage of
generic and native XDP program attach points.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Link: https://lore.kernel.org/bpf/20220629143458.934337-3-maciej.fijalkowski@intel.com
tools/testing/selftests/bpf/xdpxceiver.c
tools/testing/selftests/bpf/xsk.c
tools/testing/selftests/bpf/xsk.h