From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f181.google.com (mail-wr0-f181.google.com [209.85.128.181]) by dpdk.org (Postfix) with ESMTP id 5C7EB6CD6 for ; Thu, 19 Apr 2018 11:48:39 +0200 (CEST) Received: by mail-wr0-f181.google.com with SMTP id v60-v6so12257880wrc.7 for ; Thu, 19 Apr 2018 02:48:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=4Uq6nWqTEonSRBhGosUfVfowQCNX/ZcSU/3DKTgO8Lk=; b=lfGBdKjJGTY4Z9BP+pJAlHaaNPjZ0957xhy+prz7rWU0vbsIs6Pv/lyrr5c1qfOHHC NDxrJ1/M8lmDS+dLI9su5mVvekAxBwOCJUepfSCQViIOOZnE085RUVhVDTXu86VO3YvL 0U7m6TfNGttUS7Z6+Q4WQ93kMY2IPNWjCnfuoQE0YNCYeEFtNdr8mrIffFfmXULzms3r GBXHFjvcUl1Bok2helgCAoDjcRvHuT+FT/+51hVHvaEKoXWMvJjTjTLSRheXfw/8Eicr 8SBhKyukn25lZoVkQVxhLDU5hBrmiaziFgv9zWfG8M39byDeZmBxaqDAYzDm9MhwXugw VCFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=4Uq6nWqTEonSRBhGosUfVfowQCNX/ZcSU/3DKTgO8Lk=; b=MR7Pu8BMf7dDhukGIc3jPJ5QYiB9PntFFXlw3Aqc+ZOtOhiQwIl7AWZtQ/bAMDSa4/ irnHCrjj4gil5yJ5zp7B0DlrCzhIS8cQCcOL+m+R0IBCLJNEKVFu7cx50QH3cTeKpNk4 XFeBm4SedH1r2gEcIxWyX/lb2Jb0b0Cjw8UqTo8LMfA1f5S0vJpeLSbHSgvSm4ViksAH 5alkxJLxe9JehtUpfvsBHV3qvOddJyHDzB/PLxu6cHoVcILq3/ObyxFCdjT3f9bSLFDD opysH4E3ZIvClP11r1WifggG8tS8kG7ulkHhUwNLZQHKJahiMp8CZLrM96lOp3MWMcrK 5MuA== X-Gm-Message-State: ALQs6tBlE7k6WdU1kFTpZZfdWg5hqU2K2OfIRHeoyumPFQcOx1N1hFRk SdagAr46K3GIPoiJG0grtPoVdq4q X-Google-Smtp-Source: AIpwx4+cTbu2coWNVZoLnN997SBHNBDiwqv2DDZFuRgqj9ajr7pd418vVnBM1Wa0+10RCQQJ6InUBg== X-Received: by 10.28.196.78 with SMTP id u75mr1155186wmf.90.1524131318685; Thu, 19 Apr 2018 02:48:38 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id d28-v6sm2999163wra.37.2018.04.19.02.48.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 02:48:37 -0700 (PDT) Date: Thu, 19 Apr 2018 11:48:23 +0200 From: Adrien Mazarguil To: Ferruh Yigit Cc: Thomas Monjalon , dev@dpdk.org Message-ID: <20180419094823.GV4957@6wind.com> References: <20180410162022.9101-1-adrien.mazarguil@6wind.com> <20180416150525.2817-1-adrien.mazarguil@6wind.com> <20180416150525.2817-2-adrien.mazarguil@6wind.com> <0d8bec2d-b1fc-a772-83de-9b0d641ec535@intel.com> <20180418084131.GM4957@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [dpdk-dev] [PATCH v4 01/16] ethdev: add error types to flow API 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: Thu, 19 Apr 2018 09:48:39 -0000 On Wed, Apr 18, 2018 at 10:24:10AM +0100, Ferruh Yigit wrote: > On 4/18/2018 9:41 AM, Adrien Mazarguil wrote: > > On Tue, Apr 17, 2018 at 08:37:31PM +0100, Ferruh Yigit wrote: > >> On 4/16/2018 5:22 PM, Adrien Mazarguil wrote: > >>> These enable more precise reporting of objects responsible for errors. > >>> > >>> This breaks ABI compatibility for the following public functions: > >>> > >>> - rte_flow_create() > >>> - rte_flow_destroy() > >>> - rte_flow_error_set() > >>> - rte_flow_flush() > >>> - rte_flow_isolate() > >>> - rte_flow_query() > >>> - rte_flow_validate() > >> > >> Is there a deprecation notice for this API break? > > > > A notice covering the main changes in this series (most patches have an ABI > > impact) was sent but not included [1]. This particular patch rides on the > > announced ABI breakage in order to add a relatively minor feature while > > there. > > My take from "announced ABI breakage" is the deprecation notice get three acks > and merged into release, so it seems there is no deprecation notice and > according process first deprecation notice should go in this release. True, so just describe how ABI impact is no worse than what was announced (and included) [3] and most of them are actually opportune changes to improve consistency and documentation since ABI would be broken for this release regardless. Regarding individual patches: - 01/16 "ethdev: add error types to flow API" => New error types are added in the middle of an existing enum. - 02/16 "ethdev: clarify flow API pattern items and actions" => No impact. - 03/16 "doc: remove flow API migration section" => No impact. - 04/16 "ethdev: remove DUP action from flow API" => An action that no PMD supports is removed from an existing enum. - 05/16 "ethdev: alter behavior of flow API actions" => A documentation change in how actions are processed logically breaks ABI in the case of repeated actions (currently a corner case). Most PMDs do not implement the original behavior correctly anyway (see commit log). - 06/16 "ethdev: remove C99 flexible arrays from flow API" => ABI impact is primarily triggered by the RSS action change (already covered [3]). The RAW pattern item is also modified for consistency. On the API side, except when allocating these structures, there is no difference in usage (i.e. array[index] => pointer[index]). - 07/16 "ethdev: flatten RSS configuration in flow API" => Already covered [3]. - 08/16 "ethdev: add hash function to RSS flow API action" => Already covered [3]. - 09/16 "ethdev: add encap level to RSS flow API action" => Already covered [3]. - 10/16 "ethdev: refine TPID handling in flow API" => No PMD supports the poorly defined TPID matching, applications couldn't possibly rely on it. - 11/16 "ethdev: limit default VLAN TCI mask in flow API" => No ABI breakage, but a different behavior for applications that rely on the default mask. It doesn't look like any PMD supports PCP/DEI matching so again applications could not rely on it (they still can do it by providing a specific mask). - 12/16 "ethdev: add transfer attribute to flow API" => Minor ABI impact (read: logical) due to the addition of a bit in an existing bit-field. No practical impact on applications. - 13/16 "ethdev: update behavior of VF/PF in flow API" => Documentation (API) change. The "transfer" bit must now be set in order to use these actions with PMDs that support them. - 14/16 "ethdev: rename physical port item in flow API" => API change for a pattern item supported by no PMD. - 15/16 "ethdev: add physical port action to flow API" => New action added in the middle of an existing enum. - 16/16 "ethdev: add port ID item and action to flow API" => New item/action added in the middle of existing enums. > Hi Thomas, > > Any comment on issue? > > > > > This ABI change was implicitly needed by upcoming work for 18.05 (Xueming's > > RSS stuff [2][3], Declan's TEP [4], the rest is summarized by a RFC [5]) due > > to the necessary changes of behavior in flow rules. > > > > Note that Xueming's deprecation notice [3] alone would have triggered such > > an ABI change because struct rte_flow_action_rss wouldn't have been binary > > compatible if struct rte_eth_rss_conf was updated. This change would have > > propagated back to rte_flow functions manipulating them. > > To be honest I lost track of Xueming's patches, because of split/merge of > patchset, multiple set with multiple versions out. > > Is it possible to document the dependency graph including your set? I hopefully didn't miss any: Bunch of flow API-related fixes (v5) [6] | `-- Flow API overhaul for switch offloads (v4) [7] | +-- additions to support tunnel encap/decap (v4) [8] | +-- introduce new tunnel types (v5) [9] | | | `-- mlx5 Rx tunnel offloading (v4) [10] | +-- rte_flow extension for vSwitch acceleration (v3.2) [11] | `-- net/sfc: RSS improvements [12] [6] http://dpdk.org/ml/archives/dev/2018-April/097411.html [7] http://dpdk.org/ml/archives/dev/2018-April/097423.html [8] http://dpdk.org/ml/archives/dev/2018-April/097956.html [9] http://dpdk.org/ml/archives/dev/2018-April/097669.html [10] http://dpdk.org/ml/archives/dev/2018-April/097673.html [11] http://dpdk.org/ml/archives/dev/2018-April/097266.html [12] http://dpdk.org/ml/archives/dev/2018-April/095872.html I gave the current version for these series but some of them are still under review and may change. I plan to send updates for [6] and [7] shortly. > > [1] "doc: announce API changes for flow rules" > > http://dpdk.org/ml/archives/dev/2018-February/090988.html > > [2] "MLX5 tunnel Rx offloading" > > http://dpdk.org/ml/archives/dev/2018-February/091461.html > > [3] "doc: annouce ABI change for RSS configuraiton structure" > > http://dpdk.org/ml/archives/dev/2018-February/090127.html > > [4] "tunnel endpoint hw acceleration enablement" > > http://dpdk.org/ml/archives/dev/2017-December/084676.html > > [5] "Switch device offload with DPDK" > > http://dpdk.org/ml/archives/dev/2018-March/092513.html > > > >>> Signed-off-by: Adrien Mazarguil > >>> Acked-by: Andrew Rybchenko > >> > >> <...> > >> > > > -- Adrien Mazarguil 6WIND