patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH 1/2] doc: add PMD filtering features back
@ 2019-10-25 12:51 Ferruh Yigit
  2019-10-25 13:23 ` Thomas Monjalon
  2020-04-10  9:29 ` [dpdk-stable] [PATCH v2 " Ferruh Yigit
  0 siblings, 2 replies; 5+ messages in thread
From: Ferruh Yigit @ 2019-10-25 12:51 UTC (permalink / raw)
  To: John McNamara, Marko Kovacevic
  Cc: dev, stable, Thomas Monjalon, Andrew Rybchenko, Adrien Mazarguil,
	Ajit Khaparde, Jerin Jacob

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>
---
 doc/guides/nics/features.rst         | 78 ++++++++++++++++++++++++++++
 doc/guides/nics/features/default.ini |  7 +++
 2 files changed, 85 insertions(+)

diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index d96696801..4fcb37e4b 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -366,6 +366,84 @@ Supports filtering of a VLAN Tag identifier.
 * **[related]    API**: ``rte_eth_dev_vlan_filter()``.
 
 
+.. _nic_features_ethertype_filter:
+
+Ethertype filter
+----------------
+
+Supports filtering on Ethernet type.
+
+* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_ETHERTYPE``.
+* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
+
+.. _nic_features_ntuple_filter:
+
+N-tuple filter
+--------------
+
+Supports filtering on N-tuple values.
+
+* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_NTUPLE``.
+* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
+
+
+.. _nic_features_syn_filter:
+
+SYN filter
+----------
+
+Supports TCP syn filtering.
+
+* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_SYN``.
+* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
+
+
+.. _nic_features_tunnel_filter:
+
+Tunnel filter
+-------------
+
+Supports tunnel filtering.
+
+* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_TUNNEL``.
+* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
+
+
+.. _nic_features_flexible_filter:
+
+Flexible filter
+---------------
+
+Supports a flexible (non-tuple or Ethertype) filter.
+
+* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_FLEXIBLE``.
+* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
+
+
+.. _nic_features_hash_filter:
+
+Hash filter
+-----------
+
+Supports Hash filtering.
+
+* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_HASH``.
+* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
+
+
+.. _nic_features_flow_director:
+
+Flow director
+-------------
+
+Supports Flow Director style filtering to queues.
+
+* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_FDIR``.
+* **[provides]   mbuf**: ``mbuf.ol_flags:`` ``PKT_RX_FDIR``, ``PKT_RX_FDIR_ID``,
+  ``PKT_RX_FDIR_FLX``.
+* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
+
+
 .. _nic_features_flow_control:
 
 Flow control
diff --git a/doc/guides/nics/features/default.ini b/doc/guides/nics/features/default.ini
index 91ec61901..ca3b738ea 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      =
-- 
2.21.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [PATCH 1/2] doc: add PMD filtering features back
  2019-10-25 12:51 [dpdk-stable] [PATCH 1/2] doc: add PMD filtering features back Ferruh Yigit
@ 2019-10-25 13:23 ` Thomas Monjalon
  2020-04-10  8:53   ` [dpdk-stable] [dpdk-dev] " Ferruh Yigit
  2020-04-10  9:29 ` [dpdk-stable] [PATCH v2 " Ferruh Yigit
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Monjalon @ 2019-10-25 13:23 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: John McNamara, Marko Kovacevic, dev, stable, Andrew Rybchenko,
	Adrien Mazarguil, Ajit Khaparde, Jerin Jacob

25/10/2019 14:51, Ferruh Yigit:
> 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.

OK let's try to dig in some descriptions.

[...]
> +N-tuple filter
> +--------------
> +
> +Supports filtering on N-tuple values.

What is n-tuple? 3-tuple is enough?

> +Tunnel filter
> +-------------
> +
> +Supports tunnel filtering.

There are so many kinds of tunnels and filtering.
What is minimum to declare such feature?
Isn't it more relevant to list the supported tunnels?

> +Flexible filter
> +---------------
> +
> +Supports a flexible (non-tuple or Ethertype) filter.

This is meaningless and should be dropped for sure.

> +* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_FLEXIBLE``.
> +* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.

You are referring to the deprecated API here and in other places.

> +Hash filter
> +-----------
> +
> +Supports Hash filtering.

Which hash?

> +Flow director
> +-------------
> +
> +Supports Flow Director style filtering to queues.

I think it is an Intel wording.
Could you describe it with networking words?




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH 1/2] doc: add PMD filtering features back
  2019-10-25 13:23 ` Thomas Monjalon
@ 2020-04-10  8:53   ` Ferruh Yigit
  0 siblings, 0 replies; 5+ messages in thread
From: Ferruh Yigit @ 2020-04-10  8:53 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: John McNamara, Marko Kovacevic, dev, stable, Andrew Rybchenko,
	Adrien Mazarguil, Ajit Khaparde, Jerin Jacob

On 10/25/2019 2:23 PM, Thomas Monjalon wrote:
> 25/10/2019 14:51, Ferruh Yigit:
>> 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.
> 
> OK let's try to dig in some descriptions.
> 
> [...]
>> +N-tuple filter
>> +--------------
>> +
>> +Supports filtering on N-tuple values.
> 
> What is n-tuple? 3-tuple is enough?

I don't know why these are added historically, and myself not aware of the all
filtering to classify them properly.

Just saying "Flow API" is supported is not really says anything,
either we can try to group the filtering features, as done here and advertise
these filtering features, or create a rte flow based pattern/action
documentation which I believe will be too big and detailed.

So I think it is good to have some grouping for the filtering features, but if
current grouping is not good, what it should be like, and how we can define them?

I will send a v2 based on other comments, but it won't be addressing the groping
questions.

> 
>> +Tunnel filter
>> +-------------
>> +
>> +Supports tunnel filtering.
> 
> There are so many kinds of tunnels and filtering.
> What is minimum to declare such feature?
> Isn't it more relevant to list the supported tunnels?
> 
>> +Flexible filter
>> +---------------
>> +
>> +Supports a flexible (non-tuple or Ethertype) filter.
> 
> This is meaningless and should be dropped for sure.
> 
>> +* **[implements] eth_dev_ops**: ``filter_ctrl:RTE_ETH_FILTER_FLEXIBLE``.
>> +* **[related]    API**: ``rte_eth_dev_filter_ctrl()``, ``rte_eth_dev_filter_supported()``.
> 
> You are referring to the deprecated API here and in other places.

+1 to remove the deprecated APIs, I will convert them to rte flow.

> 
>> +Hash filter
>> +-----------
>> +
>> +Supports Hash filtering.
> 
> Which hash?
> 
>> +Flow director
>> +-------------
>> +
>> +Supports Flow Director style filtering to queues.
> 
> I think it is an Intel wording.
> Could you describe it with networking words?
> 
> 
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] [PATCH v2 1/2] doc: add PMD filtering features back
  2019-10-25 12:51 [dpdk-stable] [PATCH 1/2] doc: add PMD filtering features back Ferruh Yigit
  2019-10-25 13:23 ` Thomas Monjalon
@ 2020-04-10  9:29 ` Ferruh Yigit
  2020-04-10 12:22   ` [dpdk-stable] [dpdk-dev] " Jerin Jacob
  1 sibling, 1 reply; 5+ messages in thread
From: Ferruh Yigit @ 2020-04-10  9:29 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Ajit Khaparde,
	Somnath Kotur, John Daley, Hyong Youb Kim, Beilei Xing, Qi Zhang,
	Wenzhuo Lu, Rosen Xu, Konstantin Ananyev, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Rasesh Mody, Shahed Shaikh,
	Jerin Jacob, Andrew Rybchenko, Thomas Monjalon
  Cc: Ferruh Yigit, stable, Adrien Mazarguil

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()``.
 
 
+.. _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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v2 1/2] doc: add PMD filtering features back
  2020-04-10  9:29 ` [dpdk-stable] [PATCH v2 " Ferruh Yigit
@ 2020-04-10 12:22   ` Jerin Jacob
  0 siblings, 0 replies; 5+ messages in thread
From: Jerin Jacob @ 2020-04-10 12:22 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: dpdk-dev, John McNamara, Marko Kovacevic, Ajit Khaparde,
	Somnath Kotur, John Daley, Hyong Youb Kim, Beilei Xing, Qi Zhang,
	Wenzhuo Lu, Rosen Xu, Konstantin Ananyev, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Rasesh Mody, Shahed Shaikh,
	Jerin Jacob, Andrew Rybchenko, Thomas Monjalon, dpdk stable,
	Adrien Mazarguil

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
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-04-10 12:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-25 12:51 [dpdk-stable] [PATCH 1/2] doc: add PMD filtering features back Ferruh Yigit
2019-10-25 13:23 ` Thomas Monjalon
2020-04-10  8:53   ` [dpdk-stable] [dpdk-dev] " Ferruh Yigit
2020-04-10  9:29 ` [dpdk-stable] [PATCH v2 " Ferruh Yigit
2020-04-10 12:22   ` [dpdk-stable] [dpdk-dev] " Jerin Jacob

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/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 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

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


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