Re: [RFC PATCH v2 0/3] l3mdev icmp error route lookup fixes

From: Michael Jeanson
Date: Wed Sep 23 2020 - 13:03:06 EST


On 2020-09-23 12 h 04, Michael Jeanson wrote:
It should work without asymmetric routing; adding the return route to
the second vrf as I mentioned above fixes the FRAG_NEEDED problem. It
should work for TTL as well.

Adding a second pass on the tests with the return through r2 is fine,
but add a first pass for the more typical case.

Hi,

Before writing new tests I just want to make sure we are trying to fix the same issue. If I add a return route to the red VRF then we don't
need this patchset because whether the ICMP error are routed using the
table from the source or destination interface they will reach the source host.

The issue for which this patchset was sent only happens when the destination interface's VRF doesn't have a route back to the source host. I guess we might question if this is actually a bug or not.

So the question really is, when a packet is forwarded between VRFs through route leaking and an icmp error is generated, which table should be used for the route lookup? And does it depend on the type of icmp error? (e.g. TTL=1 happens before forwarding, but fragmentation needed happens after when on the destination interface)

As a side note, I don't mind reworking the tests as you requested even if the patchset as a whole ends up not being needed and if you think they are still useful. I just wanted to make sure we understood each other.

Cheers,

Michael