DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dpdk-dev <dev@dpdk.org>, John McNamara <john.mcnamara@intel.com>,
	 Marko Kovacevic <marko.kovacevic@intel.com>,
	Ajit Khaparde <ajit.khaparde@broadcom.com>,
	 Somnath Kotur <somnath.kotur@broadcom.com>,
	John Daley <johndale@cisco.com>,
	 Hyong Youb Kim <hyonkim@cisco.com>,
	Beilei Xing <beilei.xing@intel.com>,
	 Qi Zhang <qi.z.zhang@intel.com>,
	Wenzhuo Lu <wenzhuo.lu@intel.com>,  Rosen Xu <rosen.xu@intel.com>,
	Konstantin Ananyev <konstantin.ananyev@intel.com>,
	 Matan Azrad <matan@mellanox.com>,
	Shahaf Shuler <shahafs@mellanox.com>,
	 Viacheslav Ovsiienko <viacheslavo@mellanox.com>,
	Rasesh Mody <rmody@marvell.com>,
	 Shahed Shaikh <shshaikh@marvell.com>,
	Jerin Jacob <jerinj@marvell.com>,
	 Andrew Rybchenko <arybchenko@solarflare.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	 dpdk stable <stable@dpdk.org>,
	Adrien Mazarguil <adrien.mazarguil@6wind.com>
Subject: Re: [dpdk-dev] [PATCH v2 1/2] doc: add PMD filtering features back
Date: Fri, 10 Apr 2020 17:52:42 +0530	[thread overview]
Message-ID: <CALBAE1NtytLY+Xrzym3KTFgL8fhHoXGZTskHZ4QKqvDSFR=jLg@mail.gmail.com> (raw)
In-Reply-To: <20200410092956.951168-1-ferruh.yigit@intel.com>

On Fri, Apr 10, 2020 at 3:00 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> What has been deprecated is enabling filtering support using the
> 'filter_ctrl' APIs [1], now same filtering features can be implemented
> using rte_flow APIs and this is the preferred way for DPDK.
>
> Since those filtering features can be enabled via rte_flow too, better
> to keep them in the feature list, and mark them enabled for the PMDs
> that enabled features via rte_flow API.
> That is why PMD feature announcements not added back, they can announce
> the feature again when 'filter_ctrl' implementation replaced with
> 'rte_flow" ones.
>
> Also filter definitions should be clarified more in the features
> documentation so that all PMDs can easily figure out to announce or
> not these filtering features, also users can understand better what to
> expect from this feature.
>
> Fixes: 030febb6642c ("doc: remove deprecated ethdev features")
> Cc: stable@dpdk.org
>
> [1]
> rte_eth_dev_filter_ctrl()
> rte_eth_dev_filter_supported()
> These APIs were passing using input related to the filtering by
> 'filter_type' and type specific structs.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> Cc: Thomas Monjalon <thomas@monjalon.net>
> Cc: Andrew Rybchenko <arybchenko@solarflare.com>
> Cc: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Cc: Jerin Jacob <jerinj@marvell.com>
>
> v2:
> * Remove deprecated API references
> * Add previously removed filter features back to nic .ini files
> ---
>  doc/guides/nics/features.rst         | 70 ++++++++++++++++++++++++++++
>  doc/guides/nics/features/bnxt.ini    |  3 ++
>  doc/guides/nics/features/default.ini |  7 +++
>  doc/guides/nics/features/enic.ini    |  1 +
>  doc/guides/nics/features/i40e.ini    |  4 ++
>  doc/guides/nics/features/i40e_vf.ini |  1 +
>  doc/guides/nics/features/igb.ini     |  4 ++
>  doc/guides/nics/features/ipn3ke.ini  |  4 ++
>  doc/guides/nics/features/ixgbe.ini   |  5 ++
>  doc/guides/nics/features/mlx5.ini    |  1 +
>  doc/guides/nics/features/qede.ini    |  3 ++
>  11 files changed, 103 insertions(+)
>
> diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
> index edd21c4d8..ea64f81c1 100644
> --- a/doc/guides/nics/features.rst
> +++ b/doc/guides/nics/features.rst
> @@ -370,6 +370,76 @@ Supports filtering of a VLAN Tag identifier.
>  * **[related]    API**: ``rte_eth_dev_vlan_filter()``.
>

IMO, Following enumeration is just a subset, I think, we should
express the FLOW API
capabilities in flow API semantics.
It is a finite set of  ACTIONS and PATTERNS. I think it should be easy
to make Matrix.

Please see: "40.8. RTE Flow Support" section in
https://doc.dpdk.org/guides/nics/octeontx2.html as reference.




> +.. _nic_features_ethertype_filter:
> +
> +Ethertype filter
> +----------------
> +
> +Supports filtering on Ethernet type.
> +
> +* **[implements] Related Flow API pattern and actions.**
> +
> +
> +.. _nic_features_ntuple_filter:
> +
> +N-tuple filter
> +--------------
> +
> +Supports filtering on N-tuple values.
> +
> +* **[implements] Related Flow API pattern and actions.**
> +
> +
> +.. _nic_features_syn_filter:
> +
> +SYN filter
> +----------
> +
> +Supports TCP syn filtering.
> +
> +* **[implements] Related Flow API pattern and actions.**
> +
> +
> +.. _nic_features_tunnel_filter:
> +
> +Tunnel filter
> +-------------
> +
> +Supports tunnel filtering.
> +
> +* **[implements] Related Flow API pattern and actions.**
> +
> +
> +.. _nic_features_flexible_filter:
> +
> +Flexible filter
> +---------------
> +
> +Supports a flexible (non-tuple or Ethertype) filter.
> +
> +* **[implements] Related Flow API pattern and actions.**
> +
> +
> +.. _nic_features_hash_filter:
> +
> +Hash filter
> +-----------
> +
> +Supports Hash filtering.
> +
> +* **[implements] Related Flow API pattern and actions.**
> +
> +
> +.. _nic_features_flow_director:
> +
> +Flow director
> +-------------
> +
> +Supports Flow Director style filtering to queues.
> +
> +* **[implements] Related Flow API pattern and actions.**
> +
> +
>  .. _nic_features_flow_control:
>
>  Flow control
> diff --git a/doc/guides/nics/features/bnxt.ini b/doc/guides/nics/features/bnxt.ini
> index 37a99e336..e359c157a 100644
> --- a/doc/guides/nics/features/bnxt.ini
> +++ b/doc/guides/nics/features/bnxt.ini
> @@ -24,6 +24,9 @@ RSS reta update      = Y
>  VMDq                 = Y
>  SR-IOV               = Y
>  VLAN filter          = Y
> +Ethertype filter     = Y
> +N-tuple filter       = Y
> +Flow director        = Y
>  Flow control         = Y
>  Flow API             = Y
>  CRC offload          = Y
> diff --git a/doc/guides/nics/features/default.ini b/doc/guides/nics/features/default.ini
> index 4d0ad324e..cc229e7ae 100644
> --- a/doc/guides/nics/features/default.ini
> +++ b/doc/guides/nics/features/default.ini
> @@ -37,6 +37,13 @@ VMDq                 =
>  SR-IOV               =
>  DCB                  =
>  VLAN filter          =
> +Ethertype filter     =
> +N-tuple filter       =
> +SYN filter           =
> +Tunnel filter        =
> +Flexible filter      =
> +Hash filter          =
> +Flow director        =
>  Flow control         =
>  Flow API             =
>  Rate limitation      =
> diff --git a/doc/guides/nics/features/enic.ini b/doc/guides/nics/features/enic.ini
> index 1a065a84f..d0f3ae23f 100644
> --- a/doc/guides/nics/features/enic.ini
> +++ b/doc/guides/nics/features/enic.ini
> @@ -24,6 +24,7 @@ Inner RSS            = Y
>  SR-IOV               = Y
>  CRC offload          = Y
>  VLAN offload         = Y
> +Flow director        = Y
>  Flow API             = Y
>  L3 checksum offload  = Y
>  L4 checksum offload  = Y
> diff --git a/doc/guides/nics/features/i40e.ini b/doc/guides/nics/features/i40e.ini
> index a326f7345..0b9bd99be 100644
> --- a/doc/guides/nics/features/i40e.ini
> +++ b/doc/guides/nics/features/i40e.ini
> @@ -32,6 +32,10 @@ Flow API             = Y
>  Traffic mirroring    = Y
>  CRC offload          = Y
>  VLAN offload         = Y
> +Ethertype filter     = Y
> +Tunnel filter        = Y
> +Hash filter          = Y
> +Flow director        = Y
>  QinQ offload         = P
>  L3 checksum offload  = P
>  L4 checksum offload  = P
> diff --git a/doc/guides/nics/features/i40e_vf.ini b/doc/guides/nics/features/i40e_vf.ini
> index 9f95063d2..c5cd3f5cb 100644
> --- a/doc/guides/nics/features/i40e_vf.ini
> +++ b/doc/guides/nics/features/i40e_vf.ini
> @@ -19,6 +19,7 @@ RSS hash             = Y
>  RSS key update       = Y
>  RSS reta update      = Y
>  VLAN filter          = Y
> +Hash filter          = Y
>  CRC offload          = Y
>  VLAN offload         = Y
>  QinQ offload         = P
> diff --git a/doc/guides/nics/features/igb.ini b/doc/guides/nics/features/igb.ini
> index 0351f8495..c53fd0757 100644
> --- a/doc/guides/nics/features/igb.ini
> +++ b/doc/guides/nics/features/igb.ini
> @@ -22,6 +22,10 @@ VMDq                 = Y
>  SR-IOV               = Y
>  DCB                  = Y
>  VLAN filter          = Y
> +Ethertype filter     = Y
> +N-tuple filter       = Y
> +SYN filter           = Y
> +Flexible filter      = Y
>  Flow control         = Y
>  Flow API             = Y
>  CRC offload          = Y
> diff --git a/doc/guides/nics/features/ipn3ke.ini b/doc/guides/nics/features/ipn3ke.ini
> index 47a6526be..a194e3564 100644
> --- a/doc/guides/nics/features/ipn3ke.ini
> +++ b/doc/guides/nics/features/ipn3ke.ini
> @@ -25,6 +25,10 @@ VMDq                 = Y
>  SR-IOV               = Y
>  DCB                  = Y
>  VLAN filter          = Y
> +Ethertype filter     = Y
> +Tunnel filter        = Y
> +Hash filter          = Y
> +Flow director        = Y
>  Flow control         = Y
>  Flow API             = Y
>  Traffic mirroring    = Y
> diff --git a/doc/guides/nics/features/ixgbe.ini b/doc/guides/nics/features/ixgbe.ini
> index fab0487fa..724cf8976 100644
> --- a/doc/guides/nics/features/ixgbe.ini
> +++ b/doc/guides/nics/features/ixgbe.ini
> @@ -24,6 +24,11 @@ VMDq                 = Y
>  SR-IOV               = Y
>  DCB                  = Y
>  VLAN filter          = Y
> +Ethertype filter     = Y
> +N-tuple filter       = Y
> +SYN filter           = Y
> +Tunnel filter        = Y
> +Flow director        = Y
>  Flow control         = Y
>  Flow API             = Y
>  Rate limitation      = Y
> diff --git a/doc/guides/nics/features/mlx5.ini b/doc/guides/nics/features/mlx5.ini
> index 54ec95db7..5f4a96b7c 100644
> --- a/doc/guides/nics/features/mlx5.ini
> +++ b/doc/guides/nics/features/mlx5.ini
> @@ -26,6 +26,7 @@ RSS reta update      = Y
>  Inner RSS            = Y
>  SR-IOV               = Y
>  VLAN filter          = Y
> +Flow director        = Y
>  Flow control         = Y
>  Flow API             = Y
>  CRC offload          = Y
> diff --git a/doc/guides/nics/features/qede.ini b/doc/guides/nics/features/qede.ini
> index 20c90e626..f69e4f843 100644
> --- a/doc/guides/nics/features/qede.ini
> +++ b/doc/guides/nics/features/qede.ini
> @@ -19,6 +19,9 @@ RSS hash             = Y
>  RSS key update       = Y
>  RSS reta update      = Y
>  VLAN filter          = Y
> +N-tuple filter       = Y
> +Tunnel filter        = Y
> +Flow director        = Y
>  Flow control         = Y
>  Flow API             = Y
>  CRC offload          = Y
> --
> 2.25.2
>

      parent reply	other threads:[~2020-04-10 12:23 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-25 12:51 [dpdk-dev] [PATCH " Ferruh Yigit
2019-10-25 12:51 ` [dpdk-dev] [PATCH 2/2] doc: remove flow API from the feature list Ferruh Yigit
2019-10-25 13:26   ` Thomas Monjalon
2019-10-25 13:39     ` Jerin Jacob
2020-04-10  8:44       ` Ferruh Yigit
2020-04-10  8:56         ` Thomas Monjalon
2020-04-10  9:04           ` Jerin Jacob
2020-04-10  9:20             ` Thomas Monjalon
2020-04-10  9:27               ` Ferruh Yigit
2019-10-25 13:23 ` [dpdk-dev] [PATCH 1/2] doc: add PMD filtering features back Thomas Monjalon
2020-04-10  8:53   ` Ferruh Yigit
2020-04-10  9:29 ` [dpdk-dev] [PATCH v2] doc: remove flow API from the feature list Ferruh Yigit
2020-04-10  9:29 ` [dpdk-dev] [PATCH v2 1/2] doc: add PMD filtering features back Ferruh Yigit
2020-04-10  9:29   ` [dpdk-dev] [PATCH v2 2/2] doc: remove flow API from the feature list Ferruh Yigit
2020-04-10 12:10     ` Jerin Jacob
2020-04-10 12:34       ` Thomas Monjalon
2020-04-10 12:38         ` Jerin Jacob
2020-04-10 12:22   ` Jerin Jacob [this message]

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='CALBAE1NtytLY+Xrzym3KTFgL8fhHoXGZTskHZ4QKqvDSFR=jLg@mail.gmail.com' \
    --to=jerinjacobk@gmail.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=arybchenko@solarflare.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=hyonkim@cisco.com \
    --cc=jerinj@marvell.com \
    --cc=john.mcnamara@intel.com \
    --cc=johndale@cisco.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=marko.kovacevic@intel.com \
    --cc=matan@mellanox.com \
    --cc=qi.z.zhang@intel.com \
    --cc=rmody@marvell.com \
    --cc=rosen.xu@intel.com \
    --cc=shahafs@mellanox.com \
    --cc=shshaikh@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=stable@dpdk.org \
    --cc=thomas@monjalon.net \
    --cc=viacheslavo@mellanox.com \
    --cc=wenzhuo.lu@intel.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).