• Ido Schimmel's avatar
    mlxsw: spectrum: Make vFID struct generic · d0ec875a
    Ido Schimmel authored
    Up until now we had a dedicated struct only for vFIDs, but before
    introducing support for L3 interfaces we need to make it generic and
    use it for all three types of FIDs:
    
    1) FIDs - 0..4K-1, used for the VLAN-aware bridge
    2) vFIDs - 4K..15K-1, used for VLAN-unaware bridges
    3) rFIDs - 15K..16K-1, used to direct traffic to / from the router in
    the device. Will be introduced later in the series.
    
    The three types of L3 interfaces - Router InterFaces, RIFs - that will
    be introduced correspond to the three types of FIDs and are configured
    using them. Therefore, we'll need to store the links between them as
    well as a reference count on the underlying FID, so that the
    corresponding RIF will be destroyed when it reaches zero.
    
    Note that the lower 0.5K vFIDs are currently used for for non-bridged
    netdevs, so that traffic could be flooded to the CPU port. However, when
    rFIDs will be introduced we'll no longer need these and they too will be
    used for VLAN-unaware bridges.
    
    Make the vFID struct generic by renaming it and some of its fields. FIDs
    will be converted to use it later in the series.
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d0ec875a
spectrum_switchdev.c 40.2 KB