Commit e67b2554 authored by Magnus Karlsson's avatar Magnus Karlsson Committed by Alexei Starovoitov

selftests/xsk: automatically restore packet stream

Automatically restore the default packet stream if needed at the end
of each test. This so that test writers do not forget to do this.
Signed-off-by: default avatarMagnus Karlsson <magnus.karlsson@intel.com>
Acked-by: default avatarMaciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://lore.kernel.org/r/20230111093526.11682-15-magnus.karlsson@gmail.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 7f881984
...@@ -1501,8 +1501,6 @@ static void testapp_stats_tx_invalid_descs(struct test_spec *test) ...@@ -1501,8 +1501,6 @@ static void testapp_stats_tx_invalid_descs(struct test_spec *test)
pkt_stream_replace_half(test, XSK_UMEM__INVALID_FRAME_SIZE, 0); pkt_stream_replace_half(test, XSK_UMEM__INVALID_FRAME_SIZE, 0);
test->ifobj_tx->validation_func = validate_tx_invalid_descs; test->ifobj_tx->validation_func = validate_tx_invalid_descs;
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
} }
static void testapp_stats_rx_full(struct test_spec *test) static void testapp_stats_rx_full(struct test_spec *test)
...@@ -1518,8 +1516,6 @@ static void testapp_stats_rx_full(struct test_spec *test) ...@@ -1518,8 +1516,6 @@ static void testapp_stats_rx_full(struct test_spec *test)
test->ifobj_rx->release_rx = false; test->ifobj_rx->release_rx = false;
test->ifobj_rx->validation_func = validate_rx_full; test->ifobj_rx->validation_func = validate_rx_full;
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
} }
static void testapp_stats_fill_empty(struct test_spec *test) static void testapp_stats_fill_empty(struct test_spec *test)
...@@ -1534,8 +1530,6 @@ static void testapp_stats_fill_empty(struct test_spec *test) ...@@ -1534,8 +1530,6 @@ static void testapp_stats_fill_empty(struct test_spec *test)
test->ifobj_rx->use_fill_ring = false; test->ifobj_rx->use_fill_ring = false;
test->ifobj_rx->validation_func = validate_fill_empty; test->ifobj_rx->validation_func = validate_fill_empty;
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
} }
/* Simple test */ /* Simple test */
...@@ -1568,7 +1562,6 @@ static bool testapp_unaligned(struct test_spec *test) ...@@ -1568,7 +1562,6 @@ static bool testapp_unaligned(struct test_spec *test)
test->ifobj_rx->pkt_stream->use_addr_for_fill = true; test->ifobj_rx->pkt_stream->use_addr_for_fill = true;
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
return true; return true;
} }
...@@ -1578,7 +1571,6 @@ static void testapp_single_pkt(struct test_spec *test) ...@@ -1578,7 +1571,6 @@ static void testapp_single_pkt(struct test_spec *test)
pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts)); pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts));
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
} }
static void testapp_invalid_desc(struct test_spec *test) static void testapp_invalid_desc(struct test_spec *test)
...@@ -1619,7 +1611,6 @@ static void testapp_invalid_desc(struct test_spec *test) ...@@ -1619,7 +1611,6 @@ static void testapp_invalid_desc(struct test_spec *test)
pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts)); pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts));
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
} }
static void testapp_xdp_drop(struct test_spec *test) static void testapp_xdp_drop(struct test_spec *test)
...@@ -1640,7 +1631,6 @@ static void testapp_xdp_drop(struct test_spec *test) ...@@ -1640,7 +1631,6 @@ static void testapp_xdp_drop(struct test_spec *test)
pkt_stream_receive_half(test); pkt_stream_receive_half(test);
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
xsk_detach_xdp_program(ifobj->ifindex, ifobj->xdp_flags); xsk_detach_xdp_program(ifobj->ifindex, ifobj->xdp_flags);
err = xsk_attach_xdp_program(ifobj->xdp_progs->progs.xsk_def_prog, ifobj->ifindex, err = xsk_attach_xdp_program(ifobj->xdp_progs->progs.xsk_def_prog, ifobj->ifindex,
ifobj->xdp_flags); ifobj->xdp_flags);
...@@ -1659,8 +1649,6 @@ static void testapp_poll_txq_tmout(struct test_spec *test) ...@@ -1659,8 +1649,6 @@ static void testapp_poll_txq_tmout(struct test_spec *test)
test->ifobj_tx->umem->frame_size = 2048; test->ifobj_tx->umem->frame_size = 2048;
pkt_stream_replace(test, 2 * DEFAULT_PKT_CNT, 2048); pkt_stream_replace(test, 2 * DEFAULT_PKT_CNT, 2048);
testapp_validate_traffic_single_thread(test, test->ifobj_tx); testapp_validate_traffic_single_thread(test, test->ifobj_tx);
pkt_stream_restore_default(test);
} }
static void testapp_poll_rxq_tmout(struct test_spec *test) static void testapp_poll_rxq_tmout(struct test_spec *test)
...@@ -1766,8 +1754,6 @@ static void run_pkt_test(struct test_spec *test, enum test_mode mode, enum test_ ...@@ -1766,8 +1754,6 @@ static void run_pkt_test(struct test_spec *test, enum test_mode mode, enum test_
test->ifobj_rx->umem->frame_size = 2048; test->ifobj_rx->umem->frame_size = 2048;
pkt_stream_replace(test, DEFAULT_PKT_CNT, PKT_SIZE); pkt_stream_replace(test, DEFAULT_PKT_CNT, PKT_SIZE);
testapp_validate_traffic(test); testapp_validate_traffic(test);
pkt_stream_restore_default(test);
break; break;
case TEST_TYPE_RX_POLL: case TEST_TYPE_RX_POLL:
test->ifobj_rx->use_poll = true; test->ifobj_rx->use_poll = true;
...@@ -1822,6 +1808,7 @@ static void run_pkt_test(struct test_spec *test, enum test_mode mode, enum test_ ...@@ -1822,6 +1808,7 @@ static void run_pkt_test(struct test_spec *test, enum test_mode mode, enum test_
if (!test->fail) if (!test->fail)
ksft_test_result_pass("PASS: %s %s%s\n", mode_string(test), busy_poll_string(test), ksft_test_result_pass("PASS: %s %s%s\n", mode_string(test), busy_poll_string(test),
test->name); test->name);
pkt_stream_restore_default(test);
} }
static struct ifobject *ifobject_create(void) static struct ifobject *ifobject_create(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment