vxlan: dont migrate permanent fdb entries during learn
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Sun, 11 Jun 2017 23:32:50 +0000 (16:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Apr 2018 17:48:29 +0000 (19:48 +0200)
[ Upstream commit e0090a9e979de5202c7d16c635dea2f005221073 ]

This patch fixes vxlan_snoop to not move permanent fdb entries
on learn events. This is consistent with the bridge fdb
handling of permanent entries.

Fixes: 26a41ae60438 ("vxlan: only migrate dynamic FDB entries")
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/vxlan.c

index 0f5dfb8a545db119a0ebe8b5fc26de2d4145f934..28afdf22b88fd43be56a3c2f60a65497988ed4b0 100644 (file)
@@ -930,7 +930,7 @@ static bool vxlan_snoop(struct net_device *dev,
                        return false;
 
                /* Don't migrate static entries, drop packets */
-               if (f->state & NUD_NOARP)
+               if (f->state & (NUD_PERMANENT | NUD_NOARP))
                        return true;
 
                if (net_ratelimit())