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-client-pkt/stdout > > > > > > 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-style#how-to-build > > > > > > 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.