Message ID | 1502025351-41261-13-git-send-email-arkadis@mellanox.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On 6.8.2017 15:15, Arkadi Sharshevsky wrote: > At this point no driver supports FDB add/del through switchdev object > but rather via notification chain, thus, it is removed. > > Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com> > Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> > --- > net/bridge/br_fdb.c | 18 ------------------ > 1 file changed, 18 deletions(-) > > diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c > index a5e4a73..a79b648 100644 > --- a/net/bridge/br_fdb.c > +++ b/net/bridge/br_fdb.c > @@ -169,29 +169,11 @@ static void fdb_del_hw_addr(struct net_bridge *br, const unsigned char *addr) > } > } > > -static void fdb_del_external_learn(struct net_bridge_fdb_entry *f) > -{ > - struct switchdev_obj_port_fdb fdb = { > - .obj = { > - .orig_dev = f->dst->dev, > - .id = SWITCHDEV_OBJ_ID_PORT_FDB, > - .flags = SWITCHDEV_F_DEFER, > - }, > - .vid = f->vlan_id, > - }; > - > - ether_addr_copy(fdb.addr, f->addr.addr); > - switchdev_port_obj_del(f->dst->dev, &fdb.obj); > -} > - > static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f) > { > if (f->is_static) > fdb_del_hw_addr(br, f->addr.addr); > > - if (f->added_by_external_learn) > - fdb_del_external_learn(f); > - > hlist_del_init_rcu(&f->hlist); > fdb_notify(br, f, RTM_DELNEIGH); > call_rcu(&f->rcu, fdb_rcu_free); > Reviewed-by: Ivan Vecera <ivecera@redhat.com>
Sun, Aug 06, 2017 at 03:15:50PM CEST, arkadis@mellanox.com wrote: >At this point no driver supports FDB add/del through switchdev object >but rather via notification chain, thus, it is removed. > >Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com> >Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Acked-by: Jiri Pirko <jiri@mellanox.com>
On 08/06/2017 06:15 AM, Arkadi Sharshevsky wrote: > At this point no driver supports FDB add/del through switchdev object > but rather via notification chain, thus, it is removed. > > Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com> > Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c index a5e4a73..a79b648 100644 --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c @@ -169,29 +169,11 @@ static void fdb_del_hw_addr(struct net_bridge *br, const unsigned char *addr) } } -static void fdb_del_external_learn(struct net_bridge_fdb_entry *f) -{ - struct switchdev_obj_port_fdb fdb = { - .obj = { - .orig_dev = f->dst->dev, - .id = SWITCHDEV_OBJ_ID_PORT_FDB, - .flags = SWITCHDEV_F_DEFER, - }, - .vid = f->vlan_id, - }; - - ether_addr_copy(fdb.addr, f->addr.addr); - switchdev_port_obj_del(f->dst->dev, &fdb.obj); -} - static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f) { if (f->is_static) fdb_del_hw_addr(br, f->addr.addr); - if (f->added_by_external_learn) - fdb_del_external_learn(f); - hlist_del_init_rcu(&f->hlist); fdb_notify(br, f, RTM_DELNEIGH); call_rcu(&f->rcu, fdb_rcu_free);