Nikolay Aleksandrov
2015-Jul-13 13:36 UTC
[Bridge] [PATCH net] bridge: mdb: fix double add notification
Since the mdb add/del code was introduced there have been 2 br_mdb_notify calls when doing br_mdb_add() resulting in 2 notifications on each add. Example: Command: bridge mdb add dev br0 port eth1 grp 239.0.0.1 permanent Before patch: root at debian:~# bridge monitor all [MDB]dev br0 port eth1 grp 239.0.0.1 permanent [MDB]dev br0 port eth1 grp 239.0.0.1 permanent After patch: root at debian:~# bridge monitor all [MDB]dev br0 port eth1 grp 239.0.0.1 permanent Signed-off-by: Nikolay Aleksandrov <nikolay at cumulusnetworks.com> Fixes: cfd567543590 ("bridge: add support of adding and deleting mdb entries") --- net/bridge/br_mdb.c | 1 - 1 file changed, 1 deletion(-) diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c index c11cf2611db0..1198a3dbad95 100644 --- a/net/bridge/br_mdb.c +++ b/net/bridge/br_mdb.c @@ -351,7 +351,6 @@ static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port, 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
Cong Wang
2015-Jul-14 03:53 UTC
[Bridge] [PATCH net] bridge: mdb: fix double add notification
On Mon, Jul 13, 2015 at 6:36 AM, Nikolay Aleksandrov <nikolay at cumulusnetworks.com> wrote:> Since the mdb add/del code was introduced there have been 2 br_mdb_notify > calls when doing br_mdb_add() resulting in 2 notifications on each add. > > Example: > Command: bridge mdb add dev br0 port eth1 grp 239.0.0.1 permanent > Before patch: > root at debian:~# bridge monitor all > [MDB]dev br0 port eth1 grp 239.0.0.1 permanent > [MDB]dev br0 port eth1 grp 239.0.0.1 permanent > > After patch: > root at debian:~# bridge monitor all > [MDB]dev br0 port eth1 grp 239.0.0.1 permanent > > Signed-off-by: Nikolay Aleksandrov <nikolay at cumulusnetworks.com> > Fixes: cfd567543590 ("bridge: add support of adding and deleting mdb entries") > --- > net/bridge/br_mdb.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c > index c11cf2611db0..1198a3dbad95 100644 > --- a/net/bridge/br_mdb.c > +++ b/net/bridge/br_mdb.c > @@ -351,7 +351,6 @@ static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port, > if (state == MDB_TEMPORARY) > mod_timer(&p->timer, now + br->multicast_membership_interval); > > - br_mdb_notify(br->dev, port, group, RTM_NEWMDB); > return 0; > }Looks good to me. And probably we can convert existing __br_mdb_notify() to using non-atomic allocation too, but that is for net-next.
David Miller
2015-Jul-16 00:15 UTC
[Bridge] [PATCH net] bridge: mdb: fix double add notification
From: Nikolay Aleksandrov <nikolay at cumulusnetworks.com> Date: Mon, 13 Jul 2015 06:36:19 -0700> Since the mdb add/del code was introduced there have been 2 br_mdb_notify > calls when doing br_mdb_add() resulting in 2 notifications on each add. > > Example: > Command: bridge mdb add dev br0 port eth1 grp 239.0.0.1 permanent > Before patch: > root at debian:~# bridge monitor all > [MDB]dev br0 port eth1 grp 239.0.0.1 permanent > [MDB]dev br0 port eth1 grp 239.0.0.1 permanent > > After patch: > root at debian:~# bridge monitor all > [MDB]dev br0 port eth1 grp 239.0.0.1 permanent > > Signed-off-by: Nikolay Aleksandrov <nikolay at cumulusnetworks.com> > Fixes: cfd567543590 ("bridge: add support of adding and deleting mdb entries")Applied and queued up for -stable, thanks.