[dpdk-dev] [PATCH 0/5] Add the E-Switch mirroring and jump supports
Jiawei Wang
jiaweiw at nvidia.com
Sun Jan 10 12:06:49 CET 2021
MLX5 E-Switch mirroring is implemented as multiple destination array in
one steering table. The array currently supports only port ID as
destination actions.
This patchset adds the below supports for MLX5 PMD driver:
- Supports the metadata register Cx preserve capability query.
- Supports the jump action support as one of destination of array.
- Supports the modify action only impact on the one of destination.
The examples for the E-Switch flow use case and result as below:
set sample_actions 0 port_id id 1 / end
flow create 0 ingress transfer pattern eth / end actions sample ratio 1 index 0 / jump group 1 / end
flow create 1 ingress transfer group 1 pattern eth / end actions set_mac_dst mac_addr 00:aa:bb:cc:dd:ee / port_id id 2 / end
The flow results all the matched ingress packets are mirrored
to port id 1 and go to group 1. In the group 1, packets are modified
with the destination mac and sent to port id 2.
Jiawei Wang (5):
common/mlx5: query register c preserve capability via DevX
net/mlx5: support E-Switch mirroring and jump in one flow
net/mlx5: extend the skip scale flag
net/mlx5: supports modify one port in E-Switch mirroring
doc: update the advanced E-switch mirroring supports
doc/guides/nics/mlx5.rst | 2 +
doc/guides/rel_notes/release_21_02.rst | 6 +
drivers/common/mlx5/mlx5_devx_cmds.c | 2 +
drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
drivers/common/mlx5/mlx5_prm.h | 4 +-
drivers/net/mlx5/mlx5_flow.c | 203 +++++++++++++++++++++++----------
drivers/net/mlx5/mlx5_flow.h | 23 +++-
drivers/net/mlx5/mlx5_flow_dv.c | 92 +++++++++------
8 files changed, 234 insertions(+), 99 deletions(-)
--
1.8.3.1
More information about the dev
mailing list