vxlan: fix check for migration of static entry
authorstephen hemminger <stephen@networkplumber.org>
Tue, 18 Jun 2013 21:27:01 +0000 (14:27 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2013 07:50:58 +0000 (00:50 -0700)
The check introduced by:
commit 26a41ae604381c5cc0caf1c3261ca6b298b5fe69
Author: stephen hemminger <stephen@networkplumber.org>
Date:   Mon Jun 17 12:09:58 2013 -0700

    vxlan: only migrate dynamic FDB entries

was not correct because it is checking flag about type of FDB
entry, rather than the state (dynamic versus static). The confusion
arises because vxlan is reusing values from bridge, and bridge is
reusing values from neighbour table, and easy to get lost in translation.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c

index dda997a0102c39175be955077f64a79461c3cfbb..57325f356d4f125421bfa297a4beb2302c5f194b 100644 (file)
@@ -579,7 +579,7 @@ static bool vxlan_snoop(struct net_device *dev,
                        return false;
 
                /* Don't migrate static entries, drop packets */
-               if (!(f->flags & NTF_SELF))
+               if (f->state & NUD_NOARP)
                        return true;
 
                if (net_ratelimit())