@@ -295,6 +295,30 @@ retval=$?
test_status $retval "${TEST_NAME}"
statusList+=($retval)
+### TEST 14
+TEST_NAME="SKB TRACE DROP FQ_EMPTY"
+
+vethXDPgeneric ${VETH0} ${VETH1} ${NS1}
+
+params=("-S" "-t" "2" "-C" "${TRACEPKTS}")
+execxdpxceiver params
+
+retval=$?
+test_status $retval "${TEST_NAME}"
+statusList+=($retval)
+
+### TEST 15
+TEST_NAME="DRV TRACE DROP FQ_EMPTY"
+
+vethXDPnative ${VETH0} ${VETH1} ${NS1}
+
+params=("-N" "-t" "2" "-C" "${TRACEPKTS}")
+execxdpxceiver params
+
+retval=$?
+test_status $retval "${TEST_NAME}"
+statusList+=($retval)
+
## END TESTS
cleanup_exit ${VETH0} ${VETH1} ${NS1}
@@ -37,6 +37,8 @@
* Reduce the RXQ size and do not read from it. Validate traces.
* f. Tracing - XSK_TRACE_DROP_PKT_TOO_BIG
* Increase the headroom size and send packets. Validate traces.
+ * g. Tracing - XSK_TRACE_DROP_FQ_EMPTY
+ * Do not populate the fill queue and send packets. Validate traces.
*
* 2. AF_XDP DRV/Native mode
* Works on any netdevice with XDP_REDIRECT support, driver dependent. Processes
@@ -50,8 +52,9 @@
* zero-copy mode
* e. Tracing - XSK_TRACE_DROP_RXQ_FULL
* f. Tracing - XSK_TRACE_DROP_PKT_TOO_BIG
+ * g. Tracing - XSK_TRACE_DROP_FQ_EMPTY
*
- * Total tests: 12
+ * Total tests: 14
*
* Flow:
* -----
@@ -989,7 +992,8 @@ static void *worker_testapp_validate(void *arg)
thread_common_ops(arg, bufs, &sync_mutex_tx, &spinning_rx);
ksft_print_msg("Interface [%s] vector [Rx]\n", ((struct ifobject *)arg)->ifname);
- xsk_populate_fill_ring(((struct ifobject *)arg)->umem);
+ if (opt_trace_code != XSK_TRACE_DROP_FQ_EMPTY)
+ xsk_populate_fill_ring(((struct ifobject *)arg)->umem);
TAILQ_INIT(&head);
if (debug_pkt_dump) {
@@ -1196,6 +1200,10 @@ int main(int argc, char **argv)
expected_traces = opt_pkt_count;
reason_str = "packet too big";
break;
+ case XSK_TRACE_DROP_FQ_EMPTY:
+ expected_traces = opt_pkt_count;
+ reason_str = "fq empty";
+ break;
default:
ksft_test_result_fail("ERROR: unsupported trace %i\n",
opt_trace_code);
This test skips the populating of the fill queue which causes packet drops and traces reporting the drop. The test validates that these traces were successfully generated. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> --- tools/testing/selftests/bpf/test_xsk.sh | 24 ++++++++++++++++++++++++ tools/testing/selftests/bpf/xdpxceiver.c | 12 ++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-)