summaryrefslogtreecommitdiffstats
path: root/xdp-trafficgen/tests/test-xdp-trafficgen.sh
diff options
context:
space:
mode:
Diffstat (limited to 'xdp-trafficgen/tests/test-xdp-trafficgen.sh')
-rw-r--r--xdp-trafficgen/tests/test-xdp-trafficgen.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/xdp-trafficgen/tests/test-xdp-trafficgen.sh b/xdp-trafficgen/tests/test-xdp-trafficgen.sh
new file mode 100644
index 0000000..a42032d
--- /dev/null
+++ b/xdp-trafficgen/tests/test-xdp-trafficgen.sh
@@ -0,0 +1,42 @@
+XDP_LOADER=${XDP_LOADER:-./xdp-loader}
+XDP_TRAFFICGEN=${XDP_TRAFFICGEN:-./xdp-trafficgen}
+ALL_TESTS="test_udp test_tcp"
+
+PIDS=""
+
+skip_if_missing_kernel_support()
+{
+ $XDP_TRAFFICGEN probe
+ ret=$?
+ if [ "$ret" -eq "161" ]; then
+ exit $SKIPPED_TEST
+ elif [ "$ret" -ne "0" ]; then
+ exit 1
+ fi
+}
+
+test_udp()
+{
+ skip_if_missing_kernel_support
+ export XDP_SAMPLE_IMMEDIATE_EXIT=1
+
+ check_run $XDP_TRAFFICGEN udp $NS -n 1
+}
+
+test_tcp()
+{
+ skip_if_missing_kernel_support
+ export XDP_SAMPLE_IMMEDIATE_EXIT=1
+
+ PID=$(start_background_ns_devnull "nc -6 -l 10000")
+ $XDP_TRAFFICGEN tcp -i $NS $INSIDE_IP6 -n 1
+ res=$?
+ stop_background $PID
+ return $res
+}
+
+cleanup_tests()
+{
+ $XDP_LOADER unload $NS --all >/dev/null 2>&1
+ $XDP_LOADER clean >/dev/null 2>&1
+}