[PATCH 3.19.y-ckt 100/107] bridge: mdb: start delete timer for temp static entries
Kamal Mostafa
kamal at canonical.com
Wed Aug 5 21:49:32 UTC 2015
3.19.8-ckt5 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Satish Ashok <sashok at cumulusnetworks.com>
commit f7e2965db17dd3b60f05fad88e7afc79ea75b48f upstream.
Start the delete timer when adding temp static entries so they can expire.
Signed-off-by: Satish Ashok <sashok at cumulusnetworks.com>
Signed-off-by: Nikolay Aleksandrov <nikolay at cumulusnetworks.com>
Fixes: ccb1c31a7a87 ("bridge: add flags to distinguish permanent mdb entires")
Signed-off-by: David S. Miller <davem at davemloft.net>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
net/bridge/br_mdb.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c
index d8b1833..2192740 100644
--- a/net/bridge/br_mdb.c
+++ b/net/bridge/br_mdb.c
@@ -322,6 +322,7 @@ static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port,
struct net_bridge_port_group *p;
struct net_bridge_port_group __rcu **pp;
struct net_bridge_mdb_htable *mdb;
+ unsigned long now = jiffies;
int err;
mdb = mlock_dereference(br->mdb, br);
@@ -346,6 +347,8 @@ static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port,
if (unlikely(!p))
return -ENOMEM;
rcu_assign_pointer(*pp, p);
+ if (state == MDB_TEMPORARY)
+ mod_timer(&p->timer, now + br->multicast_membership_interval);
br_mdb_notify(br->dev, port, group, RTM_NEWMDB);
return 0;
--
1.9.1
More information about the kernel-team
mailing list