From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8BCEBA059B; Fri, 10 Apr 2020 11:30:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 619F91D423; Fri, 10 Apr 2020 11:30:36 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id B57571D412; Fri, 10 Apr 2020 11:30:33 +0200 (CEST) IronPort-SDR: 3ainj1eJvpgCClcqyohDV5PWXZ2jygsfdwSm44km23PfKmwnEkkPbZFGqk3sOklbTQLfXlCfRK yh9WbRUXFRRQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Apr 2020 02:30:32 -0700 IronPort-SDR: bDOwvjo5dPJFwPsKsB5kdLh+a1Gbueosdb6DHH1WvCHOvoCE4uS1dWoWncl0/qN0QN5xLWaEBO DIwChTsdpvug== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,366,1580803200"; d="scan'208";a="331132440" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.180]) by orsmga001.jf.intel.com with ESMTP; 10 Apr 2020 02:30:27 -0700 From: Ferruh Yigit To: dev@dpdk.org, 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@dpdk.org, Adrien Mazarguil Date: Fri, 10 Apr 2020 10:29:55 +0100 Message-Id: <20200410092956.951168-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.25.2 In-Reply-To: <20191025125118.47189-1-ferruh.yigit@intel.com> References: <20191025125118.47189-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 1/2] doc: add PMD filtering features back X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- Cc: Thomas Monjalon Cc: Andrew Rybchenko Cc: Adrien Mazarguil Cc: Ajit Khaparde Cc: Jerin Jacob 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