* [PATCH net-next v2 0/2] vxlan: misc fdb fixes
@ 2017-01-24 4:44 Roopa Prabhu
2017-01-24 4:44 ` [PATCH net-next v2 1/2] vxlan: don't flush static fdb entries on admin down Roopa Prabhu
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Roopa Prabhu @ 2017-01-24 4:44 UTC (permalink / raw)
To: davem; +Cc: netdev, ramanb, stephen, jbenc, pshelar
From: Roopa Prabhu <roopa@cumulusnetworks.com>
Balakrishnan Raman (1):
vxlan: do not age static remote mac entries
Roopa Prabhu (1):
vxlan: don't flush static fdb entries on admin down
drivers/net/vxlan.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
--
v1 -> v2: use bool as suggested by DavidM
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next v2 1/2] vxlan: don't flush static fdb entries on admin down
2017-01-24 4:44 [PATCH net-next v2 0/2] vxlan: misc fdb fixes Roopa Prabhu
@ 2017-01-24 4:44 ` Roopa Prabhu
2017-01-24 4:44 ` [PATCH net-next v2 2/2] vxlan: do not age static remote mac entries Roopa Prabhu
2017-01-24 20:02 ` [PATCH net-next v2 0/2] vxlan: misc fdb fixes David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Roopa Prabhu @ 2017-01-24 4:44 UTC (permalink / raw)
To: davem; +Cc: netdev, ramanb, stephen, jbenc, pshelar
From: Roopa Prabhu <roopa@cumulusnetworks.com>
This patch skips flushing static fdb entries in
ndo_stop, but flushes all fdb entries during vxlan
device delete. This is consistent with the bridge
driver fdb
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
---
drivers/net/vxlan.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 19b1653..b34822f 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -2354,7 +2354,7 @@ static int vxlan_open(struct net_device *dev)
}
/* Purge the forwarding table */
-static void vxlan_flush(struct vxlan_dev *vxlan)
+static void vxlan_flush(struct vxlan_dev *vxlan, bool do_all)
{
unsigned int h;
@@ -2364,6 +2364,8 @@ static void vxlan_flush(struct vxlan_dev *vxlan)
hlist_for_each_safe(p, n, &vxlan->fdb_head[h]) {
struct vxlan_fdb *f
= container_of(p, struct vxlan_fdb, hlist);
+ if (!do_all && (f->state & (NUD_PERMANENT | NUD_NOARP)))
+ continue;
/* the all_zeros_mac entry is deleted at vxlan_uninit */
if (!is_zero_ether_addr(f->eth_addr))
vxlan_fdb_destroy(vxlan, f);
@@ -2385,7 +2387,7 @@ static int vxlan_stop(struct net_device *dev)
del_timer_sync(&vxlan->age_timer);
- vxlan_flush(vxlan);
+ vxlan_flush(vxlan, false);
vxlan_sock_release(vxlan);
return ret;
@@ -3058,6 +3060,8 @@ static void vxlan_dellink(struct net_device *dev, struct list_head *head)
struct vxlan_dev *vxlan = netdev_priv(dev);
struct vxlan_net *vn = net_generic(vxlan->net, vxlan_net_id);
+ vxlan_flush(vxlan, true);
+
spin_lock(&vn->sock_lock);
if (!hlist_unhashed(&vxlan->hlist))
hlist_del_rcu(&vxlan->hlist);
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net-next v2 2/2] vxlan: do not age static remote mac entries
2017-01-24 4:44 [PATCH net-next v2 0/2] vxlan: misc fdb fixes Roopa Prabhu
2017-01-24 4:44 ` [PATCH net-next v2 1/2] vxlan: don't flush static fdb entries on admin down Roopa Prabhu
@ 2017-01-24 4:44 ` Roopa Prabhu
2017-01-24 20:02 ` [PATCH net-next v2 0/2] vxlan: misc fdb fixes David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Roopa Prabhu @ 2017-01-24 4:44 UTC (permalink / raw)
To: davem; +Cc: netdev, ramanb, stephen, jbenc, pshelar
From: Balakrishnan Raman <ramanb@cumulusnetworks.com>
Mac aging is applicable only for dynamically learnt remote mac
entries. Check for user configured static remote mac entries
and skip aging.
Signed-off-by: Balakrishnan Raman <ramanb@cumulusnetworks.com>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
---
drivers/net/vxlan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index b34822f..09aa52e 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -2268,7 +2268,7 @@ static void vxlan_cleanup(unsigned long arg)
= container_of(p, struct vxlan_fdb, hlist);
unsigned long timeout;
- if (f->state & NUD_PERMANENT)
+ if (f->state & (NUD_PERMANENT | NUD_NOARP))
continue;
timeout = f->used + vxlan->cfg.age_interval * HZ;
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next v2 0/2] vxlan: misc fdb fixes
2017-01-24 4:44 [PATCH net-next v2 0/2] vxlan: misc fdb fixes Roopa Prabhu
2017-01-24 4:44 ` [PATCH net-next v2 1/2] vxlan: don't flush static fdb entries on admin down Roopa Prabhu
2017-01-24 4:44 ` [PATCH net-next v2 2/2] vxlan: do not age static remote mac entries Roopa Prabhu
@ 2017-01-24 20:02 ` David Miller
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2017-01-24 20:02 UTC (permalink / raw)
To: roopa; +Cc: netdev, ramanb, stephen, jbenc, pshelar
Series applied, thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-01-24 20:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-24 4:44 [PATCH net-next v2 0/2] vxlan: misc fdb fixes Roopa Prabhu
2017-01-24 4:44 ` [PATCH net-next v2 1/2] vxlan: don't flush static fdb entries on admin down Roopa Prabhu
2017-01-24 4:44 ` [PATCH net-next v2 2/2] vxlan: do not age static remote mac entries Roopa Prabhu
2017-01-24 20:02 ` [PATCH net-next v2 0/2] vxlan: misc fdb fixes David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.