Merge branch 'mlxsw-Implement-sampling-using-mirroring'
authorDavid S. Miller <davem@davemloft.net>
Fri, 12 Mar 2021 00:22:39 +0000 (16:22 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Mar 2021 00:22:39 +0000 (16:22 -0800)
commit1520929e26d54bc3c9e024ee91eee5a19c56b95b
treea06fea40c1ae27e95fe78d2cade39419aa68680b
parent1bc61c9dd4f100804d71dba313305df9187d7553
parentcf31190ae0b788159a9874f0b28bbfde994741cd
Merge branch 'mlxsw-Implement-sampling-using-mirroring'

Ido Schimmel says:

====================
mlxsw: Implement sampling using mirroring

So far, sampling was implemented using a dedicated sampling mechanism
that is available on all Spectrum ASICs. Spectrum-2 and later ASICs
support sampling by mirroring packets to the CPU port with probability.
This method has a couple of advantages compared to the legacy method:

* Extra metadata per-packet: Egress port, egress traffic class, traffic
  class occupancy and end-to-end latency
* Ability to sample packets on egress / per-flow as opposed to only
  ingress

This series should not result in any user-visible changes and its aim is
to convert Spectrum-2 and later ASICs to perform sampling by mirroring
to the CPU port with probability. Future submissions will expose the
additional metadata and enable sampling using more triggers (e.g.,
egress).

Series overview:

Patches #1-#3 extend the SPAN (mirroring) module to accept new
parameters required for sampling. See individual commit messages for
detailed explanation.

Patch #4-#5 split sampling support between Spectrum-1 and later ASIC while
still using the legacy method for all ASIC generations.

Patch #6 converts Spectrum-2 and later ASICs to perform sampling by
mirroring to the CPU port with probability.
====================

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