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 0E4B3A059F; Fri, 10 Apr 2020 14:23:01 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 498071D51E; Fri, 10 Apr 2020 14:23:00 +0200 (CEST) Received: from mail-il1-f195.google.com (mail-il1-f195.google.com [209.85.166.195]) by dpdk.org (Postfix) with ESMTP id 211BD1D450; Fri, 10 Apr 2020 14:22:59 +0200 (CEST) Received: by mail-il1-f195.google.com with SMTP id i75so1623517ild.13; Fri, 10 Apr 2020 05:22:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=4SSeBegRpv2sAoNm6WG9wHzRMvLYdTWQN7RvJg9KKRg=; b=KQX5ETv5t1rxPodK9tUj65/jMc/KRHQ6pxamSZHFuIwmuS6a9wkRon3JObKdAVPMRm 1nCWACPNFeeo0VPeUvWFYGeULd7ey618W/jHd3luTDrtism50jnWRO3i7LcYuVlzDa8z xGsaFw/MYIJ+XX9xk6nACrdn/TKCy4AXVN8ICFlirOARflqxj58vLXJuCNBCVst2XhCB FhhStAwUpFTgKCu6Sfc9abUKu+w0cDfSOkMzCB1D3kf2X1QwuBBmjVy82V/+wvEBJhf0 nLM7zEdDC4kFX2dIyRcN7INmxVDaXALdBp3itPOHSVZmnnfcQYPKU1vSGTVws9Fy/1P7 Au+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4SSeBegRpv2sAoNm6WG9wHzRMvLYdTWQN7RvJg9KKRg=; b=fxQyNafHr+KbE7w6eFglUrVUvcaQk6uGNi3uE2CHxxjolPVu47vzedWbDfF6c6+rST IaedXMQ7iiaPjYlH9OYCbnLemGc8Ft9rTXr568+JPfiN0tBwKdv8MeqraTnbDN6KGbwm tPUmB/tfg4PEvTfCFW2fdvTx0BmYgk7zCbWbpzIghpCqYmkFmqKllgJJXyy4JyNIQ+0E qRH29No5wU/Vaxj8ZMWmKX2cdqgNym+QOdhSbcIBKtGcF9pi+xrhLXMntSh4swGzgE+E 94FWCOQQ2CtdDGKVCg7qjzHlhqeosv7eExRE6d33M5Y9Iy6/Gafd3UZb8meDPHqWEcmb zz3A== X-Gm-Message-State: AGi0PubpBfCjhM3tiwK6Rj4gebb88rO+5BTO8N4uOnSsMoUU5WF8Q+BA 9wYx+dPdudHwr+XL2K8VKTxTmFLHtZti+x0H0WI= X-Google-Smtp-Source: APiQypKyjgq8ZWAUhS1X1CmnhRUKCLOt8Ya6mWOQQUW4XN4fEgKbXhmdGb5os7LG3lH3G9lrrhfHMW0JctZWIml8Y7s= X-Received: by 2002:a92:48cb:: with SMTP id j72mr4913925ilg.162.1586521378373; Fri, 10 Apr 2020 05:22:58 -0700 (PDT) MIME-Version: 1.0 References: <20191025125118.47189-1-ferruh.yigit@intel.com> <20200410092956.951168-1-ferruh.yigit@intel.com> In-Reply-To: <20200410092956.951168-1-ferruh.yigit@intel.com> From: Jerin Jacob Date: Fri, 10 Apr 2020 17:52:42 +0530 Message-ID: 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 Content-Type: text/plain; charset="UTF-8" Subject: Re: [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" On Fri, Apr 10, 2020 at 3:00 PM Ferruh Yigit 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 > --- > 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()``. > 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 >