On 4/5/18 2:25 AM, Miguel Fadon Perlines wrote: > arp_filter performs an ip_route_output search for arp source address and > checks if output device is the same where the arp request was received, > if it is not, the arp request is not answered. > > This route lookup is always done on main route table so l3slave devices > never find the proper route and arp is not answered. > > Passing l3mdev_master_ifindex_rcu(dev) return value as oif fixes the > lookup for l3slave devices while maintaining same behavior for non > l3slave devices as this function returns 0 in that case. > > Signed-off-by: Miguel Fadon Perlines <mfa...@teldat.com> > --- > net/ipv4/arp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >
Acked-by: David Ahern <d...@cumulusnetworks.com> DaveM: this is a day 1 bug for VRF. Best guess at a Fixes tag would be: Fixes: 613d09b30f8b ("net: Use VRF device index for lookups on TX") It would be good to get this into stable releases 4.9 and up. Thanks,