Merge branch 'mlxsw-Add-support-for-buffer-drop-traps'
authorDavid S. Miller <davem@davemloft.net>
Tue, 4 Aug 2020 01:06:47 +0000 (18:06 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 Aug 2020 01:06:47 +0000 (18:06 -0700)
commitf8deaea06fb5002a9ebb7a366ef4066e2d7e0944
treee9cf6d6e724faf4042b24e4587d3fe637a174d42
parent80fbbb1672e7815a15d7329638537961d65c453d
parent8fb6ac457d5be8516eeed2b92342f7f95c448275
Merge branch 'mlxsw-Add-support-for-buffer-drop-traps'

Ido Schimmel says:

====================
mlxsw: Add support for buffer drop traps

Petr says:

A recent patch set added the ability to mirror buffer related drops
(e.g., early drops) through a netdev. This patch set adds the ability to
trap such packets to the local CPU for analysis.

The trapping towards the CPU is configured by using tc-trap action
instead of tc-mirred as was done when the packets were mirrored through
a netdev. A future patch set will also add the ability to sample the
dropped packets using tc-sample action.

The buffer related drop traps are added to devlink, which means that the
dropped packets can be reported to user space via the kernel's
drop_monitor module.

Patch set overview:

Patch #1 adds the early_drop trap to devlink

Patch #2 adds extack to a few devlink operations to facilitate better
error reporting to user space. This is necessary - among other things -
because the action of buffer drop traps cannot be changed in mlxsw

Patch #3 performs a small refactoring in mlxsw, patch #4 fixes a bug that
this patchset would trigger.

Patches #5-#6 add the infrastructure required to support different traps
/ trap groups in mlxsw per-ASIC. This is required because buffer drop
traps are not supported by Spectrum-1

Patch #7 extends mlxsw to register the early_drop trap

Patch #8 adds the offload logic for the "trap" action at a qevent block.

Patch #9 adds a mlxsw-specific selftest.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>