linux/tools/testing
Ido Schimmel f7240999de selftests: traceroute: Add VRF tests
Create versions of the existing test cases where the routers generating
the ICMP error messages are using VRFs. Check that the source IPs of
these messages do not change in the presence of VRFs.

IPv6 always behaved correctly, but IPv4 fails when reverting "ipv4:
icmp: Fix source IP derivation in presence of VRFs".

Without IPv4 change:

 # ./traceroute.sh
 TEST: IPv6 traceroute                                               [ OK ]
 TEST: IPv6 traceroute with VRF                                      [ OK ]
 TEST: IPv4 traceroute                                               [ OK ]
 TEST: IPv4 traceroute with VRF                                      [FAIL]
         traceroute did not return 1.0.3.1
 $ echo $?
 1

The test fails because the ICMP error message is sent with the VRF
device's IP (1.0.4.1):

 # traceroute -n -s 1.0.1.3 1.0.2.4
 traceroute to 1.0.2.4 (1.0.2.4), 30 hops max, 60 byte packets
  1  1.0.4.1  0.165 ms  0.110 ms  0.103 ms
  2  1.0.2.4  0.098 ms  0.085 ms  0.078 ms
 # traceroute -n -s 1.0.3.3 1.0.2.4
 traceroute to 1.0.2.4 (1.0.2.4), 30 hops max, 60 byte packets
  1  1.0.4.1  0.201 ms  0.138 ms  0.129 ms
  2  1.0.2.4  0.123 ms  0.105 ms  0.098 ms

With IPv4 change:

 # ./traceroute.sh
 TEST: IPv6 traceroute                                               [ OK ]
 TEST: IPv6 traceroute with VRF                                      [ OK ]
 TEST: IPv4 traceroute                                               [ OK ]
 TEST: IPv4 traceroute with VRF                                      [ OK ]
 $ echo $?
 0

Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20250908073238.119240-9-idosch@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-09-11 12:22:38 +02:00
..
crypto/chacha20-s390
cxl cxl for v6.17 2025-08-01 15:47:06 -07:00
fault-injection
ktest ktest.pl: Add new PATCHCHECK_SKIP option to skip testing individual commits 2025-07-29 09:30:08 -04:00
kunit
memblock
nvdimm mm: remove callers of pfn_t functionality 2025-07-09 22:42:19 -07:00
radix-tree tools/testing/radix-tree: test maple tree chaining mas_preallocate() calls 2025-07-09 22:42:12 -07:00
rbtree
scatterlist
selftests selftests: traceroute: Add VRF tests 2025-09-11 12:22:38 +02:00
shared tools/testing: add linux/args.h header and fix radix, VMA tests 2025-08-19 16:35:54 -07:00
vma Significant patch series in this pull request: 2025-08-05 16:02:07 +03:00
vsock vsock/test: Remove redundant semicolons 2025-08-29 19:10:52 -07:00