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 0145AA32A3 for ; Fri, 25 Oct 2019 14:51:26 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9C1BB1C1DB; Fri, 25 Oct 2019 14:51:25 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 0B1491C195; Fri, 25 Oct 2019 14:51:23 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Oct 2019 05:51:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,228,1569308400"; d="scan'208";a="282252448" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.223.78]) by orsmga001.jf.intel.com with ESMTP; 25 Oct 2019 05:51:20 -0700 From: Ferruh Yigit To: John McNamara , Marko Kovacevic Cc: dev@dpdk.org, stable@dpdk.org, Thomas Monjalon , Andrew Rybchenko , Adrien Mazarguil , Ajit Khaparde , Jerin Jacob Date: Fri, 25 Oct 2019 13:51:17 +0100 Message-Id: <20191025125118.47189-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 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 --- 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