On Tue, Jul 20, 2021 at 05:51:24PM +0300, Ido Schimmel wrote: > On Tue, Jul 20, 2021 at 02:46:18PM +0000, Vladimir Oltean wrote: > > On Tue, Jul 20, 2021 at 05:25:08PM +0300, Ido Schimmel wrote: > > > If you don't want to change the order, then at least make the > > > replay/cleanup optional and set it to 'false' for mlxsw. This should > > > mean that the only change in mlxsw should be adding calls to > > > switchdev_bridge_port_offload() / switchdev_bridge_port_unoffload() in > > > mlxsw_sp_bridge_port_create() / mlxsw_sp_bridge_port_destroy(), > > > respectively. > > > > I mean, I could guard br_{vlan,mdb,fdb}_replay() against NULL notifier > > block pointers, and then make mlxsw pass NULL for both the atomic_nb and > > blocking_nb. > > > > But why? How do you deal with a host-joined mdb that was auto-installed > > while there was no port under the bridge? > > mlxsw does not currently support such entries. It's on my TODO list. > When we add support for that, we will also take care of the replay. Okay, that I can do. I had the impression that mlxsw does - I knew for certain that DSA isn't the only driver offloading SWITCHDEV_OBJ_ID_HOST_MDB so I looked it up right now, and I remembered. cpsw was the other driver, and it does a pretty funny thing: the same thing as for SWITCHDEV_OBJ_ID_PORT_MDB. I guess I'll just provide NULL pointers for every driver except those I already received acks for (dpaa2-switch, ocelot) and DSA. Then driver maintainers can take it from there as they wish. Hopefully this should also make the patches slide in easier.