[Devel] [PATCH vz10 7/7] selftests: net: let the bridged PMTU tests take the ICMP they ask for
Eva Kurchatova
eva.kurchatova at virtuozzo.com
Tue Sep 1 01:48:25 MSK 2026
The bridged tunnel PMTU tests send a packet that is too big to make the
tunnel answer with "Frag needed", which is how the route exception they
check gets created. The ping that does it from the namespace holding
the bridge is given a deadline, and ping(8) says of it:
In this case ping does not stop after count packet are sent, it waits
either for deadline expire or until count probes are answered or for
some error notification from network.
so it stops at that very ICMP and reports the loss:
# ping -M want -i 0.1 -w 1 -s 4500 192.168.2.2
From 192.168.2.2 icmp_seq=2 Frag needed and DF set (mtu = 3950)
2 packets transmitted, 0 received, +1 errors, 100% packet loss
TEST: IPv4, bridged vxlan4: PMTU exceptions [FAIL]
The exception is created all the same, and with the right value, the
test never gets to look at it. Ask for a count of pings instead, as
the line above this one already does for the other namespace, so the
error is counted and the run goes on.
All 16 bridged cases pass with this, vxlan and geneve, over IPv4 and
IPv6.
https://virtuozzo.atlassian.net/browse/VSTOR-139651
Feature: fix selftests
Signed-off-by: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
---
tools/testing/selftests/net/pmtu.sh | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/net/pmtu.sh b/tools/testing/selftests/net/pmtu.sh
index 6c651c880fe8..d607429840cf 100755
--- a/tools/testing/selftests/net/pmtu.sh
+++ b/tools/testing/selftests/net/pmtu.sh
@@ -1409,7 +1409,12 @@ test_pmtu_ipvX_over_bridged_vxlanY_or_geneveY_exception() {
mtu "${ns_b}" ${type}_b $((${ll_mtu} + 1000))
run_cmd ${ns_c} ${ping} -q -M want -i 0.1 -c 10 -s $((${ll_mtu} + 500)) ${dst} || return 1
- run_cmd ${ns_a} ${ping} -q -M want -i 0.1 -w 1 -s $((${ll_mtu} + 500)) ${dst} || return 1
+ # This ping is meant to draw the ICMP that creates the exception,
+ # and ping stops on "some error notification from network" where a
+ # deadline is given, see ping(8), so it would always report the
+ # loss and fail here. Send a count of them instead, as the ping
+ # above does.
+ run_cmd ${ns_a} ${ping} -q -M want -i 0.1 -c 10 -s $((${ll_mtu} + 500)) ${dst} || return 1
# Check that exceptions were created
pmtu="$(route_get_dst_pmtu_from_exception "${ns_c}" ${dst})"
--
2.55.0
More information about the Devel
mailing list