DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jiawei Wang <jiaweiw@nvidia.com>
To: viacheslavo@nvidia.com, matan@nvidia.com, orika@nvidia.com
Cc: dev@dpdk.org, rasland@nvidia.com
Subject: [dpdk-dev] [RFC 0/4] Add the E-Switch mirroring and jump supports
Date: Tue, 15 Dec 2020 09:49:47 +0200
Message-ID: <1608018591-97942-1-git-send-email-jiaweiw@nvidia.com> (raw)

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 RFC 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 (4):
  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

 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 ++++++++++------
 6 files changed, 226 insertions(+), 99 deletions(-)

-- 
1.8.3.1


             reply	other threads:[~2020-12-15  7:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-15  7:49 Jiawei Wang [this message]
2020-12-15  7:49 ` [dpdk-dev] [RFC 1/4] common/mlx5: query register c preserve capability via DevX Jiawei Wang
2020-12-15  7:49 ` [dpdk-dev] [RFC 2/4] net/mlx5: support E-Switch mirroring and jump in one flow Jiawei Wang
2020-12-15  7:49 ` [dpdk-dev] [RFC 3/4] net/mlx5: extend the skip scale flag Jiawei Wang
2020-12-15  7:49 ` [dpdk-dev] [RFC 4/4] net/mlx5: supports modify one port in E-Switch mirroring Jiawei Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1608018591-97942-1-git-send-email-jiaweiw@nvidia.com \
    --to=jiaweiw@nvidia.com \
    --cc=dev@dpdk.org \
    --cc=matan@nvidia.com \
    --cc=orika@nvidia.com \
    --cc=rasland@nvidia.com \
    --cc=viacheslavo@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git