selftests/xsk: add xdp populate metadata test
authorTushar Vyavahare <tushar.vyavahare@intel.com>
Mon, 20 Mar 2023 10:27:05 +0000 (15:57 +0530)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 22 Mar 2023 16:14:07 +0000 (09:14 -0700)
commit9a321fd3308e262f2a76761bea86dd0f311e3f86
tree92878de369c68c3025b72fbaaae0fcd2b5a8fa1f
parent6a9f5cdba3c5b4e8c2af290fe6c9e3538652ab42
selftests/xsk: add xdp populate metadata test

Add a new test in copy-mode for testing the copying of metadata from the
buffer in kernel-space to user-space. This is accomplished by adding a
new XDP program and using the bss map to store a counter that is written
to the metadata field. This counter is incremented for every packet so
that the number becomes unique and should be the same as the payload. It
is store in the bss so the value can be reset between runs.

The XDP program populates the metadata and the userspace program checks
the value stored in the metadata field against the payload using the new
is_metadata_correct() function. To turn this verification on or off, add
a new parameter (use_metadata) to the ifobject structure.

Signed-off-by: Tushar Vyavahare <tushar.vyavahare@intel.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://lore.kernel.org/r/20230320102705.306187-1-tushar.vyavahare@intel.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/xsk_xdp_progs.c
tools/testing/selftests/bpf/xsk_xdp_metadata.h [new file with mode: 0644]
tools/testing/selftests/bpf/xskxceiver.c
tools/testing/selftests/bpf/xskxceiver.h