[PATCH net-next v2 0/8] ipv4: icmp: Fix source IP derivation in presence of VRFs

Ido Schimmel
2025-09-08T07:35:04Z

Align IPv4 with IPv6 and in the presence of VRFs generate ICMP error
messages with a source IP that is derived from the receiving interface
and not from its VRF master. This is especially important when the error
messages are "Time Exceeded" messages as it means that utilities like
traceroute will show an incorrect packet path.

Patches #1-#2 are preparations.

Patch #3 is the actual change.

Patches #4-#7 make small improvements in the existing traceroute test.

Patch #8 extends the traceroute test with VRF test cases for both IPv4
and IPv6.

Changes since v1 [1]:
* Rebase.

[1] https://lore.kernel.org/netdev/20250901083027.183468-1-idosch@nvidia.com/

Ido Schimmel (8):
ipv4: cipso: Simplify IP options handling in cipso_v4_error()
ipv4: icmp: Pass IPv4 control block structure as an argument to
__icmp_send()
ipv4: icmp: Fix source IP derivation in presence of VRFs
selftests: traceroute: Return correct value on failure
selftests: traceroute: Use require_command()
selftests: traceroute: Reword comment
selftests: traceroute: Test traceroute with different source IPs
selftests: traceroute: Add VRF tests

include/net/icmp.h | 10 +-
net/ipv4/cipso_ipv4.c | 13 +-
net/ipv4/icmp.c | 15 +-
net/ipv4/route.c | 10 +-
tools/testing/selftests/net/traceroute.sh | 250 ++++++++++++++++++----
5 files changed, 229 insertions(+), 69 deletions(-)

--
2.51.0