• Tobias Waldekranz's avatar
    net: bridge: mst: Multiple Spanning Tree (MST) mode · ec7328b5
    Tobias Waldekranz authored
    Allow the user to switch from the current per-VLAN STP mode to an MST
    mode.
    
    Up to this point, per-VLAN STP states where always isolated from each
    other. This is in contrast to the MSTP standard (802.1Q-2018, Clause
    13.5), where VLANs are grouped into MST instances (MSTIs), and the
    state is managed on a per-MSTI level, rather that at the per-VLAN
    level.
    
    Perhaps due to the prevalence of the standard, many switching ASICs
    are built after the same model. Therefore, add a corresponding MST
    mode to the bridge, which we can later add offloading support for in a
    straight-forward way.
    
    For now, all VLANs are fixed to MSTI 0, also called the Common
    Spanning Tree (CST). That is, all VLANs will follow the port-global
    state.
    
    Upcoming changes will make this actually useful by allowing VLANs to
    be mapped to arbitrary MSTIs and allow individual MSTI states to be
    changed.
    Signed-off-by: default avatarTobias Waldekranz <tobias@waldekranz.com>
    Acked-by: default avatarNikolay Aleksandrov <razor@blackwall.org>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    ec7328b5
br_stp.c 16.3 KB