selftests: xsk: Use correct UMEM size in testapp_invalid_desc
authorKal Conley <kal.conley@dectris.com>
Mon, 3 Apr 2023 14:50:46 +0000 (16:50 +0200)
committerMartin KaFai Lau <martin.lau@kernel.org>
Wed, 5 Apr 2023 18:29:34 +0000 (11:29 -0700)
Avoid UMEM_SIZE macro in testapp_invalid_desc which is incorrect when
the frame size is not XSK_UMEM__DEFAULT_FRAME_SIZE. Also remove the
macro since it's no longer being used.

Fixes: 909f0e28207c ("selftests: xsk: Add tests for 2K frame size")
Signed-off-by: Kal Conley <kal.conley@dectris.com>
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Link: https://lore.kernel.org/r/20230403145047.33065-2-kal.conley@dectris.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/testing/selftests/bpf/xskxceiver.c
tools/testing/selftests/bpf/xskxceiver.h

index b65e064..3956f5d 100644 (file)
@@ -1652,6 +1652,7 @@ static void testapp_single_pkt(struct test_spec *test)
 
 static void testapp_invalid_desc(struct test_spec *test)
 {
 
 static void testapp_invalid_desc(struct test_spec *test)
 {
+       u64 umem_size = test->ifobj_tx->umem->num_frames * test->ifobj_tx->umem->frame_size;
        struct pkt pkts[] = {
                /* Zero packet address allowed */
                {0, PKT_SIZE, 0, true},
        struct pkt pkts[] = {
                /* Zero packet address allowed */
                {0, PKT_SIZE, 0, true},
@@ -1662,9 +1663,9 @@ static void testapp_invalid_desc(struct test_spec *test)
                /* Packet too large */
                {0x2000, XSK_UMEM__INVALID_FRAME_SIZE, 0, false},
                /* After umem ends */
                /* Packet too large */
                {0x2000, XSK_UMEM__INVALID_FRAME_SIZE, 0, false},
                /* After umem ends */
-               {UMEM_SIZE, PKT_SIZE, 0, false},
+               {umem_size, PKT_SIZE, 0, false},
                /* Straddle the end of umem */
                /* Straddle the end of umem */
-               {UMEM_SIZE - PKT_SIZE / 2, PKT_SIZE, 0, false},
+               {umem_size - PKT_SIZE / 2, PKT_SIZE, 0, false},
                /* Straddle a page boundrary */
                {0x3000 - PKT_SIZE / 2, PKT_SIZE, 0, false},
                /* Straddle a 2K boundrary */
                /* Straddle a page boundrary */
                {0x3000 - PKT_SIZE / 2, PKT_SIZE, 0, false},
                /* Straddle a 2K boundrary */
@@ -1682,8 +1683,8 @@ static void testapp_invalid_desc(struct test_spec *test)
        }
 
        if (test->ifobj_tx->shared_umem) {
        }
 
        if (test->ifobj_tx->shared_umem) {
-               pkts[4].addr += UMEM_SIZE;
-               pkts[5].addr += UMEM_SIZE;
+               pkts[4].addr += umem_size;
+               pkts[5].addr += umem_size;
        }
 
        pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts));
        }
 
        pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts));
index bdb4efe..cc24ab7 100644 (file)
@@ -53,7 +53,6 @@
 #define THREAD_TMOUT 3
 #define DEFAULT_PKT_CNT (4 * 1024)
 #define DEFAULT_UMEM_BUFFERS (DEFAULT_PKT_CNT / 4)
 #define THREAD_TMOUT 3
 #define DEFAULT_PKT_CNT (4 * 1024)
 #define DEFAULT_UMEM_BUFFERS (DEFAULT_PKT_CNT / 4)
-#define UMEM_SIZE (DEFAULT_UMEM_BUFFERS * XSK_UMEM__DEFAULT_FRAME_SIZE)
 #define RX_FULL_RXQSIZE 32
 #define UMEM_HEADROOM_TEST_SIZE 128
 #define XSK_UMEM__INVALID_FRAME_SIZE (XSK_UMEM__DEFAULT_FRAME_SIZE + 1)
 #define RX_FULL_RXQSIZE 32
 #define UMEM_HEADROOM_TEST_SIZE 128
 #define XSK_UMEM__INVALID_FRAME_SIZE (XSK_UMEM__DEFAULT_FRAME_SIZE + 1)