mbox series

[0/3] l3mdev icmp error route lookup fixes

Message ID 20201012145016.2023-1-mathieu.desnoyers@efficios.com
Headers show
Series l3mdev icmp error route lookup fixes | expand

Message

Mathieu Desnoyers Oct. 12, 2020, 2:50 p.m. UTC
Hi,

Here is a series of fixes for ipv4 and ipv6 which ensure the route
lookup is performed on the right routing table in VRF configurations
when sending TTL expired icmp errors (useful for traceroute).

It includes tests for both ipv4 and ipv6.

These fixes address specifically address the code paths involved in
sending TTL expired icmp errors. As detailed in the individual commit
messages, those fixes do not address similar icmp errors related to
network namespaces and unreachable / fragmentation needed messages,
which appear to use different code paths.

Thanks,

Mathieu

Mathieu Desnoyers (2):
  ipv4/icmp: l3mdev: Perform icmp error route lookup on source device
    routing table (v2)
  ipv6/icmp: l3mdev: Perform icmp error route lookup on source device
    routing table (v2)

Michael Jeanson (1):
  selftests: Add VRF route leaking tests

 net/ipv4/icmp.c                               |  23 +-
 net/ipv6/icmp.c                               |   7 +-
 net/ipv6/ip6_output.c                         |   2 -
 tools/testing/selftests/net/Makefile          |   1 +
 .../selftests/net/vrf_route_leaking.sh        | 626 ++++++++++++++++++
 5 files changed, 653 insertions(+), 6 deletions(-)
 create mode 100755 tools/testing/selftests/net/vrf_route_leaking.sh

Comments

Jakub Kicinski Oct. 15, 2020, 12:24 a.m. UTC | #1
On Mon, 12 Oct 2020 10:50:13 -0400 Mathieu Desnoyers wrote:
> Here is a series of fixes for ipv4 and ipv6 which ensure the route
> lookup is performed on the right routing table in VRF configurations
> when sending TTL expired icmp errors (useful for traceroute).
> 
> It includes tests for both ipv4 and ipv6.
> 
> These fixes address specifically address the code paths involved in
> sending TTL expired icmp errors. As detailed in the individual commit
> messages, those fixes do not address similar icmp errors related to
> network namespaces and unreachable / fragmentation needed messages,
> which appear to use different code paths.

Applied, thank you!