Message ID | 20240204165618.1489880-1-kuba@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 4b00d0c513da58b68df015968721b11396fe4ab3 |
Headers | show |
Series | [net] selftests: cmsg_ipv6: repeat the exact packet | expand |
On Sun, Feb 04, 2024 at 08:56:18AM -0800, Jakub Kicinski wrote: > cmsg_ipv6 test requests tcpdump to capture 4 packets, > and sends until tcpdump quits. Only the first packet > is "real", however, and the rest are basic UDP packets. > So if tcpdump doesn't start in time it will miss > the real packet and only capture the UDP ones. > > This makes the test fail on slow machine (no KVM or with > debug enabled) 100% of the time, while it passes in fast > environments. > > Repeat the "real" / expected packet. > > Fixes: 9657ad09e1fa ("selftests: net: test IPV6_TCLASS") > Signed-off-by: Jakub Kicinski <kuba@kernel.org> I'm not sure if it is important, but doesn't this also: Fixes: 05ae83d5a4a2 ("selftests: net: test IPV6_HOPLIMIT") In any case, this looks good to me. Reviewed-by: Simon Horman <horms@kernel.org>
Hello: This patch was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Sun, 4 Feb 2024 08:56:18 -0800 you wrote: > cmsg_ipv6 test requests tcpdump to capture 4 packets, > and sends until tcpdump quits. Only the first packet > is "real", however, and the rest are basic UDP packets. > So if tcpdump doesn't start in time it will miss > the real packet and only capture the UDP ones. > > This makes the test fail on slow machine (no KVM or with > debug enabled) 100% of the time, while it passes in fast > environments. > > [...] Here is the summary with links: - [net] selftests: cmsg_ipv6: repeat the exact packet https://git.kernel.org/netdev/net/c/4b00d0c513da You are awesome, thank you!
diff --git a/tools/testing/selftests/net/cmsg_ipv6.sh b/tools/testing/selftests/net/cmsg_ipv6.sh index f30bd57d5e38..8bc23fb4c82b 100755 --- a/tools/testing/selftests/net/cmsg_ipv6.sh +++ b/tools/testing/selftests/net/cmsg_ipv6.sh @@ -89,7 +89,7 @@ for ovr in setsock cmsg both diff; do check_result $? 0 "TCLASS $prot $ovr - pass" while [ -d /proc/$BG ]; do - $NSEXE ./cmsg_sender -6 -p u $TGT6 1234 + $NSEXE ./cmsg_sender -6 -p $p $m $((TOS2)) $TGT6 1234 done tcpdump -r $TMPF -v 2>&1 | grep "class $TOS2" >> /dev/null @@ -126,7 +126,7 @@ for ovr in setsock cmsg both diff; do check_result $? 0 "HOPLIMIT $prot $ovr - pass" while [ -d /proc/$BG ]; do - $NSEXE ./cmsg_sender -6 -p u $TGT6 1234 + $NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234 done tcpdump -r $TMPF -v 2>&1 | grep "hlim $LIM[^0-9]" >> /dev/null
cmsg_ipv6 test requests tcpdump to capture 4 packets, and sends until tcpdump quits. Only the first packet is "real", however, and the rest are basic UDP packets. So if tcpdump doesn't start in time it will miss the real packet and only capture the UDP ones. This makes the test fail on slow machine (no KVM or with debug enabled) 100% of the time, while it passes in fast environments. Repeat the "real" / expected packet. Fixes: 9657ad09e1fa ("selftests: net: test IPV6_TCLASS") Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- CC: shuah@kernel.org CC: linux-kselftest@vger.kernel.org --- tools/testing/selftests/net/cmsg_ipv6.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)