• Amit Cohen's avatar
    mlxsw: spectrum: Use different arrays of FID families per-ASIC type · 04e85970
    Amit Cohen authored
    Egress VID for layer 2 multicast is determined from two tables, the MPE
    and PGT tables. The MPE table is a two dimensional table indexed by local
    port and SMPE index, which should be thought of as a FID index.
    
    In Spectrum-1 the SMPE index is derived from the PGT entry, whereas in
    Spectrum-2 and newer ASICs the SMPE index is a FID attribute configured
    via the SFMR register.
    
    The validity of the SMPE index in SFMR is influenced from two factors:
    1. FID family. SMPE index is reserved for rFIDs, as their flooding is
       handled by firmware.
    2. ASIC generation. SMPE index is always reserved for Spectrum-1.
    
    As such, the validity of the SMPE index should be an attribute of the FID
    family and have different arrays of FID families per-ASIC type.
    
    As a preparation for SMPE index configuration, create separate arrays of
    FID families for different ASICs.
    Signed-off-by: default avatarAmit Cohen <amcohen@nvidia.com>
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    04e85970
spectrum.c 148 KB