• Scott Feldman's avatar
    bridge: del external_learned fdbs from device on flush or ageout · b4ad7baa
    Scott Feldman authored
    We need to delete from offload the device externally learnded fdbs when any
    one of these events happen:
    
    1) Bridge ages out fdb.  (When bridge is doing ageing vs. device doing
    ageing.  If device is doing ageing, it would send SWITCHDEV_FDB_DEL
    directly).
    
    2) STP state change flushes fdbs on port.
    
    3) User uses sysfs interface to flush fdbs from bridge or bridge port:
    
    	echo 1 >/sys/class/net/BR_DEV/bridge/flush
    	echo 1 >/sys/class/net/BR_PORT/brport/flush
    
    4) Offload driver send event SWITCHDEV_FDB_DEL to delete fdb entry.
    
    For rocker, we can now get called to delete fdb entry in wait and nowait
    contexts, so set NOWAIT flag when deleting fdb entry.
    Signed-off-by: default avatarScott Feldman <sfeldma@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b4ad7baa
br_fdb.c 25.2 KB