vrf: packets with lladdr src needs dst at input with orig_iif when needs strict
authorStephen Suryaputra <ssuryaextr@gmail.com>
Fri, 4 Dec 2020 03:06:04 +0000 (22:06 -0500)
committerJakub Kicinski <kuba@kernel.org>
Sat, 5 Dec 2020 21:46:07 +0000 (13:46 -0800)
commit205704c618af0ab2366015d2281a3b0814d918a0
tree274c14874daa2beb22409d7022dd596fffca8bc0
parent4d1be581ec6b92a338bb7ed23e1381f45ddf336f
vrf: packets with lladdr src needs dst at input with orig_iif when needs strict

Depending on the order of the routes to fe80::/64 are installed on the
VRF table, the NS for the source link-local address of the originator
might be sent to the wrong interface.

This patch ensures that packets with link-local addr source is doing a
lookup with the orig_iif when the destination addr indicates that it
is strict.

Add the reproducer as a use case in self test script fcnal-test.sh.

Fixes: b4869aa2f881 ("net: vrf: ipv6 support for local traffic to local addresses")
Signed-off-by: Stephen Suryaputra <ssuryaextr@gmail.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20201204030604.18828-1-ssuryaextr@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/vrf.c
tools/testing/selftests/net/fcnal-test.sh