Willem de Bruijn wrote:
Willem de Bruijn wrote:
Jakub Kicinski wrote:
On Wed, 4 Sep 2024 23:07:03 -0400 Willem de Bruijn wrote:
+++ b/tools/testing/selftests/net/packetdrill/config @@ -0,0 +1 @@ +CONFIG_TCP_MD5SIG=y
Looks like this is not enough:
# 1..2 # open tun device: No such file or directory # not ok 1 ipv4 # open tun device: No such file or directory
https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/759141/1-tcp-inq-...
Resulting config in the build:
# CONFIG_TUN is not set
https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/759141/config
Keep in mind the "Important" note here:
https://github.com/linux-netdev/nipa/wiki/How-to-run-netdev-selftests-CI-sty...
I recommend using a fresh tree or mrproper for testing vng configs.
Feel free to post v2 without the 24h wait, it's a bit tricky to handle new targets in CI, sooner we merge this the less manual work for me..
Oops sorry. Thanks for the pointer.
Sent a v2 with CONFIG_TUN and a few other CONFIGS from reviewing the existing configs and defaults.sh. The above steps work for me now.
Packetdrill scripts are sensitive to timing. On the dbg build, I just observe a flaky test.
The tool takes --tolerance_usecs and --tolerance_percent arguments. I may have to update ksft_runner.sh to increase one if a dbg build is detected.
Let me know if I should respin now. Else I can also follow-up.
Need to figure out how best to detect debug builds. It is not in uname, and no proc/config.gz. Existence of /sys/kernel/debug/kmemleak is a proxy for current kernel/configs/debug.config, if a bit crude.
Should have kept on reading. Will use KSFT_MACHINE_SLOW:
+declare -a optargs +if [[ "${KSFT_MACHINE_SLOW}" == "yes" ]]; then + optargs+=('--tolerance_usecs=10000') +fi + ktap_print_header ktap_set_plan 2
-packetdrill ${ipv4_args[@]} $(basename $script) > /dev/null \ +packetdrill ${ipv4_args[@]} ${optargs[@]} $(basename $script) > /dev/null \ && ktap_test_pass "ipv4" || ktap_test_fail "ipv4" -packetdrill ${ipv6_args[@]} $(basename $script) > /dev/null \ +packetdrill ${ipv6_args[@]} ${optargs[@]} $(basename $script) > /dev/null \ && ktap_test_pass "ipv6" || ktap_test_fail "ipv6"
Another config affecting timing may be CONFIG_HZ. I did not observe issues with these specific scripts with CONFIG_HZ=250. It may have to be tackled eventually. Or CONFIG_HZ=1000 hardcoded in config.
I will just add the CONFIG for now.