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? How does anyone deal with that? What's optional about it? Why would driver X opt out of it but Y not (apart for the case where driver X does not offload MDBs at all, that I can understand).