Message ID | 20221206090826.2957-7-magnus.karlsson@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | BPF |
Headers | show |
Series | selftests/xsk: speed-ups, fixes, and new XDP programs | expand |
Magnus Karlsson <magnus.karlsson@gmail.com> writes: > From: Magnus Karlsson <magnus.karlsson@intel.com> > > Add a new option to the test_xsk.sh script that only creates the two > veth netdevs and the extra namespace, then exits without running any > tests. The failed test can then be executed in the debugger without > having to create the netdevs and namespace manually. For ease-of-use, > the veth netdevs to use are printed so they can be copied into the > debugger. > > Here is an example how to use it: > >> sudo ./test_xsk.sh -d > > veth10 veth11 > >> gdb xskxceiver > > In gdb: > > run -i veth10 -i veth11 > > And now the test cases can be dugged with gdb. Nit: "debugged"
diff --git a/tools/testing/selftests/bpf/test_xsk.sh b/tools/testing/selftests/bpf/test_xsk.sh index d821fd098504..cb315d85148b 100755 --- a/tools/testing/selftests/bpf/test_xsk.sh +++ b/tools/testing/selftests/bpf/test_xsk.sh @@ -74,6 +74,9 @@ # Run and dump packet contents: # sudo ./test_xsk.sh -D # +# Set up veth interfaces and leave them up so xskxceiver can be launched in a debugger: +# sudo ./test_xsk.sh -d +# # Run test suite for physical device in loopback mode # sudo ./test_xsk.sh -i IFACE @@ -81,11 +84,12 @@ ETH="" -while getopts "vDi:" flag +while getopts "vDi:d" flag do case "${flag}" in v) verbose=1;; D) dump_pkts=1;; + d) debug=1;; i) ETH=${OPTARG};; esac done @@ -174,6 +178,11 @@ statusList=() TEST_NAME="XSK_SELFTESTS_${VETH0}_SOFTIRQ" +if [[ $debug -eq 1 ]]; then + echo "-i" ${VETH0} "-i" ${VETH1},${NS1} + exit +fi + exec_xskxceiver if [ -z $ETH ]; then