]> git.baikalelectronics.ru Git - kernel.git/commit
mlxsw: spectrum_trap: Add early_drop trap
authorIdo Schimmel <idosch@mellanox.com>
Mon, 3 Aug 2020 16:11:39 +0000 (19:11 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 Aug 2020 01:06:46 +0000 (18:06 -0700)
commit97a63494ab79ff3fd3419bc2539e542bf4c14380
treea04ab5f89ff2dff58ed46350935d256f3593f15e
parentbbfe417e13a38d29fab546febdd5cbbceddd97dc
mlxsw: spectrum_trap: Add early_drop trap

As previously explained, packets that are dropped due to buffer related
reasons (e.g., tail drop, early drop) can be mirrored to the CPU port.
These packets are then trapped with one of the "mirror session" traps
and their CQE includes the reason for which the packet was mirrored.

Register with devlink a new trap, early_drop, and initialize the
corresponding Rx listener with the appropriate mirror reason. Return an
error in case user tries to change the traps' action, as this is not
supported.

Since Spectrum-1 does not support these traps, the above is only done
for Spectrum-2 onwards.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/core.h
drivers/net/ethernet/mellanox/mlxsw/reg.h
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c