Message ID | 1610447359-411658-1-git-send-email-jiaweiw@nvidia.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F18A2A04B5; Tue, 12 Jan 2021 11:29:52 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 58B7A140E40; Tue, 12 Jan 2021 11:29:31 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id F357A140E25 for <dev@dpdk.org>; Tue, 12 Jan 2021 11:29:24 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from jiaweiw@nvidia.com) with SMTP; 12 Jan 2021 12:29:19 +0200 Received: from nvidia.com (gen-l-vrt-281.mtl.labs.mlnx [10.237.44.1]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 10CATJ6g003733; Tue, 12 Jan 2021 12:29:19 +0200 From: Jiawei Wang <jiaweiw@nvidia.com> To: viacheslavo@nvidia.com, matan@nvidia.com, orika@nvidia.com Cc: dev@dpdk.org, rasland@nvidia.com Date: Tue, 12 Jan 2021 12:29:14 +0200 Message-Id: <1610447359-411658-1-git-send-email-jiaweiw@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1610276814-455612-1-git-send-email-jiaweiw@nvidia.com> References: <1610276814-455612-1-git-send-email-jiaweiw@nvidia.com> Subject: [dpdk-dev] [PATCH v2 0/5] Add the E-Switch mirroring and jump supports X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
Add the E-Switch mirroring and jump supports
|
|
Message
Jiawei Wang
Jan. 12, 2021, 10:29 a.m. UTC
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. v2: * Rebase * Update commit message and document description 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: update modify actions support for E-Switch mirror doc: update the advanced E-switch mirroring supports doc/guides/nics/mlx5.rst | 2 + doc/guides/rel_notes/release_21_02.rst | 7 ++ 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, 235 insertions(+), 99 deletions(-)
Comments
Hi, > -----Original Message----- > From: Jiawei Wang <jiaweiw@nvidia.com> > Sent: Tuesday, January 12, 2021 12:29 PM > To: Slava Ovsiienko <viacheslavo@nvidia.com>; Matan Azrad > <matan@nvidia.com>; Ori Kam <orika@nvidia.com> > Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com> > Subject: [PATCH v2 0/5] Add the E-Switch mirroring and jump supports > > 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. > > v2: > * Rebase > * Update commit message and document description > > 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: update modify actions support for E-Switch mirror > doc: update the advanced E-switch mirroring supports > > doc/guides/nics/mlx5.rst | 2 + > doc/guides/rel_notes/release_21_02.rst | 7 ++ > 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, 235 insertions(+), 99 deletions(-) > > -- > 1.8.3.1 Series rebased and applied to next-net-mlx, Kindest regards, Raslan Darawsheh