[dpdk-dev] [PATCH v2 1/2] doc: add PMD filtering features back

Ferruh Yigit ferruh.yigit at intel.com
Fri Apr 10 11:29:55 CEST 2020


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 at 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 at intel.com>
---
Cc: Thomas Monjalon <thomas at monjalon.net>
Cc: Andrew Rybchenko <arybchenko at solarflare.com>
Cc: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
Cc: Ajit Khaparde <ajit.khaparde at broadcom.com>
Cc: Jerin Jacob <jerinj at 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



More information about the dev mailing list