selftests/xsk: add metadata copy test for multi-buff
authorMagnus Karlsson <magnus.karlsson@intel.com>
Wed, 19 Jul 2023 13:24:19 +0000 (15:24 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 19 Jul 2023 16:56:50 +0000 (09:56 -0700)
Enable the already existing metadata copy test to also run in
multi-buffer mode with 9K packets.

Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Link: https://lore.kernel.org/r/20230719132421.584801-23-maciej.fijalkowski@intel.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/xsk_xdp_progs.c
tools/testing/selftests/bpf/xskxceiver.c
tools/testing/selftests/bpf/xskxceiver.h

index ac76e73637768df04f006e515f2ab8c2eee5ad58..24369f24285371bbb3c87e60c30002255fce6de7 100644 (file)
@@ -29,7 +29,7 @@ SEC("xdp.frags") int xsk_xdp_drop(struct xdp_md *xdp)
        return bpf_redirect_map(&xsk, 0, XDP_DROP);
 }
 
-SEC("xdp") int xsk_xdp_populate_metadata(struct xdp_md *xdp)
+SEC("xdp.frags") int xsk_xdp_populate_metadata(struct xdp_md *xdp)
 {
        void *data, *data_meta;
        struct xdp_info *meta;
index 59210cb33beba5837bddfc9c75846783ebfb670d..4767d09d68934dc63a96cee5a35da085b445ec60 100644 (file)
@@ -1949,7 +1949,6 @@ static int testapp_xdp_metadata_count(struct test_spec *test)
        int count = 0;
        int key = 0;
 
-       test_spec_set_name(test, "XDP_METADATA_COUNT");
        test_spec_set_xdp_prog(test, skel_rx->progs.xsk_xdp_populate_metadata,
                               skel_tx->progs.xsk_xdp_populate_metadata,
                               skel_rx->maps.xsk, skel_tx->maps.xsk);
@@ -2163,6 +2162,12 @@ static void run_pkt_test(struct test_spec *test, enum test_mode mode, enum test_
                ret = testapp_xdp_drop(test);
                break;
        case TEST_TYPE_XDP_METADATA_COUNT:
+               test_spec_set_name(test, "XDP_METADATA_COUNT");
+               ret = testapp_xdp_metadata_count(test);
+               break;
+       case TEST_TYPE_XDP_METADATA_COUNT_MB:
+               test_spec_set_name(test, "XDP_METADATA_COUNT_MULTI_BUFF");
+               test->mtu = MAX_ETH_JUMBO_SIZE;
                ret = testapp_xdp_metadata_count(test);
                break;
        default:
index 7140943410dec454b7e28506b124c86187389f5d..9e1f66e0a3b665def71d1116791fe3cef1d99c34 100644 (file)
@@ -88,6 +88,7 @@ enum test_type {
        TEST_TYPE_BPF_RES,
        TEST_TYPE_XDP_DROP_HALF,
        TEST_TYPE_XDP_METADATA_COUNT,
+       TEST_TYPE_XDP_METADATA_COUNT_MB,
        TEST_TYPE_RUN_TO_COMPLETION_MB,
        TEST_TYPE_UNALIGNED_MB,
        TEST_TYPE_ALIGNED_INV_DESC_MB,