projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cfa5200
)
bridge: mdb: start delete timer for temp static entries
author
Satish Ashok
<
[email protected]
>
Mon, 6 Jul 2015 12:53:35 +0000
(
05:53
-0700)
committer
David S. Miller
<
[email protected]
>
Wed, 8 Jul 2015 21:52:58 +0000
(14:52 -0700)
Start the delete timer when adding temp static entries so they can expire.
Signed-off-by: Satish Ashok <
[email protected]
>
Signed-off-by: Nikolay Aleksandrov <
[email protected]
>
Fixes: ccb1c31a7a87 ("bridge: add flags to distinguish permanent mdb entires")
Signed-off-by: David S. Miller <
[email protected]
>
net/bridge/br_mdb.c
patch
|
blob
|
history
diff --git
a/net/bridge/br_mdb.c
b/net/bridge/br_mdb.c
index e29ad70b3000be4f0e7486b172746ea62b4f216f..3bfc675cf0d128e2223d445bd16954f42a9c35cb 100644
(file)
--- a/
net/bridge/br_mdb.c
+++ b/
net/bridge/br_mdb.c
@@
-323,6
+323,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);
@@
-347,6
+348,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;