]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Dec 2020 12:28:15 +0000 (13:28 +0100)
commitd6b5c7c6e19a7cbdf98ffd3df5b5736841db04f8
tree874cfc8968ab934d334f92cd116e0eef790fe6f6
parent5561adefe80a4381147a04b27618ec48a96467c0
vrf: packets with lladdr src needs dst at input with orig_iif when needs strict

[ Upstream commit 205704c618af0ab2366015d2281a3b0814d918a0 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/vrf.c
tools/testing/selftests/net/fcnal-test.sh