• Petr Machata's avatar
    mlxsw: Treat LLDP packets as control · 0106668c
    Petr Machata authored
    When trapping packets for on-CPU processing, Spectrum machines
    differentiate between control and non-control traps. Traffic trapped
    through non-control traps is treated as data and kept in shared buffer in
    pools 0-4. Traffic trapped through control traps is kept in the dedicated
    control buffer 9. The advantage of marking traps as control is that
    pressure in the data plane does not prevent the control traffic to be
    processed.
    
    When the LLDP trap was introduced, it was marked as a control trap. But
    then in commit aed4b572 ("mlxsw: spectrum: PTP: Hook into packet
    receive path"), PTP traps were introduced. Because Ethernet-encapsulated
    PTP packets look to the Spectrum-1 ASIC as LLDP traffic and are trapped
    under the LLDP trap, this trap was reconfigured as non-control, in sync
    with the PTP traps.
    
    There is however no requirement that PTP traffic be handled as data.
    Besides, the usual encapsulation for PTP traffic is UDP, not bare Ethernet,
    and that is in deployments that even need PTP, which is far less common
    than LLDP. This is reflected by the default policer, which was not bumped
    up to the 19Kpps / 24Kpps that is the expected load of a PTP-enabled
    Spectrum-1 switch.
    
    Marking of LLDP trap as non-control was therefore probably misguided. In
    this patch, change it back to control.
    Reported-by: default avatarMaksym Yaremchuk <maksymy@nvidia.com>
    Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0106668c
spectrum_trap.c 51.9 KB