From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 616411CCC8 for ; Fri, 6 Apr 2018 17:06:34 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1-us4.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 8819780062; Fri, 6 Apr 2018 15:06:32 +0000 (UTC) Received: from [192.168.38.17] (84.52.114.114) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Fri, 6 Apr 2018 16:06:25 +0100 To: Adrien Mazarguil , Thomas Monjalon , Ferruh Yigit , CC: Ajit Khaparde , Wenzhuo Lu , John Daley , Gaetan Rivet , Beilei Xing , "Konstantin Ananyev" , Nelio Laranjeiro , Pascal Mazon References: <20180404150312.12304-1-adrien.mazarguil@6wind.com> <20180406131736.19145-1-adrien.mazarguil@6wind.com> <20180406131736.19145-6-adrien.mazarguil@6wind.com> From: Andrew Rybchenko Message-ID: <1256b8b5-4e17-1ae1-76ab-fb3bd47ccedf@solarflare.com> Date: Fri, 6 Apr 2018 18:06:19 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180406131736.19145-6-adrien.mazarguil@6wind.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB X-Originating-IP: [84.52.114.114] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23766.003 X-TM-AS-Result: No--10.174900-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1523027193-MWlOGYHDBHu0 Subject: Re: [dpdk-dev] [PATCH v2 05/15] ethdev: alter behavior of flow API actions 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: , X-List-Received-Date: Fri, 06 Apr 2018 15:06:34 -0000 On 04/06/2018 04:25 PM, Adrien Mazarguil wrote: > This patch makes the following changes to flow rule actions: > > - List order now matters, they are redefined as performed first to last > instead of "all simultaneously". > > - Repeated actions are now supported (e.g. specifying QUEUE multiple times > now duplicates traffic among them). Previously only the last action of > any given kind was taken into account. > > - No more distinction between terminating/non-terminating/meta actions. > Flow rules themselves are now defined as always terminating unless a > PASSTHRU action is specified. > > These changes alter the behavior of flow rules in corner cases in order to > prepare the flow API for actions that modify traffic contents or properties > (e.g. encapsulation, compression) and for which order matter when combined. > > Previously one would have to so through multiple flow rules by combining > PASSTRHU with priority levels, however this proved overly complex to > implement at the PMD level, hence this simpler approach. > > This breaks ABI compatibility for the following public functions: > > - rte_flow_create() > - rte_flow_validate() > > PMDs with rte_flow support are modified accordingly: > > - bnxt: no change, implementation already forbids multiple actions and does > not support PASSTHRU. > > - e1000: no change, same as bnxt. > > - enic: modified to forbid redundant actions, no support for default drop. > > - failsafe: no change needed. > > - i40e: no change, implementation already forbids multiple actions. > > - ixgbe: same as i40e. > > - mlx4: modified to forbid multiple fate-deciding actions and drop when > unspecified. > > - mlx5: same as mlx4, with other redundant actions also forbidden. > > - sfc: same as mlx4. > > - tap: implementation already complies with the new behavior except for > the default pass-through modified as a default drop. > > Signed-off-by: Adrien Mazarguil > Cc: Ajit Khaparde > Cc: Wenzhuo Lu > Cc: John Daley > Cc: Gaetan Rivet > Cc: Beilei Xing > Cc: Konstantin Ananyev > Cc: Nelio Laranjeiro > Cc: Andrew Rybchenko > Cc: Pascal Mazon > --- > doc/guides/prog_guide/rte_flow.rst | 67 +++++++++++++------------------- > drivers/net/enic/enic_flow.c | 25 ++++++++++++ > drivers/net/mlx4/mlx4_flow.c | 21 +++++++--- > drivers/net/mlx5/mlx5_flow.c | 69 ++++++++++++++------------------- > drivers/net/sfc/sfc_flow.c | 22 +++++++---- > drivers/net/tap/tap_flow.c | 11 ++++++ > lib/librte_ether/rte_flow.h | 54 +++++++------------------- > 7 files changed, 138 insertions(+), 131 deletions(-) sfc part Reviewed-by: Andrew Rybchenko