This patch set implement the flow-based traffic sampling.

The solution is introduced a new rte_flow action that will sample the incoming 
traffic and send a duplicated traffic with the specified ratio to the 
application, while the original packet will continue to the target destination.

If the sample ratio value be set to 1, means that the packets would be 
completely mirrored. The sample packet can be assigned with different set of 
actions from the original packet.


v9:
* Rebase patches based on the latest code.
* Separate the MLX5 PMD changes into another patches.

v8:
* Rebase patches based on the latest code.
* Update the offloads dependencies document for sample flow.
* Update sample flow limitation document.

v7:
* Removed change in [PATCH 12/12] net/mlx5: support the native port id actions 
for mirroring, should use sample action.
* Update the PMD code to match the new rdma-core API for mirroring.
* Optimize the sample flow split routine.
* Update code changes and commit log based on the review.
* Add E-Switch sample flow limitation document.

v6:
* Update the function that restore vport through metadata register c0 for FDB 
sampler.
* Add multiple destination support.
* Support the remote mirroring with different encapsulation header.
* Fix coverity error.

v5:
* Add the release note.
* Remove Make changes since it's deprecated.

v4:
* Rebase.
* Fix the coding style issue.

v3:
* Remove 'const' of ratio field.
* Update description and commit messages.

v2:
* Rebase patches based on the latest code.
* Update rte_flow and release documents.
* Fix the compile error.
* Removed unnecessary change in [PATCH 7/8] net/mlx5: update the metadata 
register c0 support since FDB will use 5-tuple to do match.
* Update changes based on the comments.

Jiawei Wang (3):
  ethdev: introduce sample action for rte flow
  app/testpmd: add testpmd command for sample action
  app/testpmd: add port and encap support for sample action

 app/test-pmd/cmdline_flow.c            | 301 ++++++++++++++++++++++++++++++++-
 doc/guides/prog_guide/rte_flow.rst     |  25 +++
 doc/guides/rel_notes/release_20_11.rst |   6 +
 lib/librte_ethdev/rte_flow.c           |   1 +
 lib/librte_ethdev/rte_flow.h           |  30 ++++
 5 files changed, 354 insertions(+), 9 deletions(-)

-- 
1.8.3.1

Reply via email to