selftests: xsk: Fix missing initialization
authorMagnus Karlsson <magnus.karlsson@intel.com>
Wed, 22 Sep 2021 07:56:07 +0000 (09:56 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 27 Sep 2021 22:18:35 +0000 (00:18 +0200)
Fix missing initialization of the member rx_pkt_nb in the packet
stream. This leads to some tests declaring success too early as the
test thought all packets had already been received.

Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20210922075613.12186-8-magnus.karlsson@gmail.com
tools/testing/selftests/bpf/xdpxceiver.c

index 127bcde..97591e2 100644 (file)
@@ -445,6 +445,12 @@ static void test_spec_set_name(struct test_spec *test, const char *name)
        strncpy(test->name, name, MAX_TEST_NAME_SIZE);
 }
 
+static void pkt_stream_reset(struct pkt_stream *pkt_stream)
+{
+       if (pkt_stream)
+               pkt_stream->rx_pkt_nb = 0;
+}
+
 static struct pkt *pkt_stream_get_pkt(struct pkt_stream *pkt_stream, u32 pkt_nb)
 {
        if (pkt_nb >= pkt_stream->nb_pkts)
@@ -1032,6 +1038,7 @@ static void testapp_validate_traffic(struct test_spec *test)
                exit_with_error(errno);
 
        test->current_step++;
+       pkt_stream_reset(ifobj_rx->pkt_stream);
 
        /*Spawn RX thread */
        pthread_create(&t0, NULL, ifobj_rx->func_ptr, test);