From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: [PATCH v3 0/7] ethdev: add flow API object converter Date: Fri, 31 Aug 2018 11:00:57 +0200 Message-ID: <20180831085337.21419-1-adrien.mazarguil@6wind.com> References: <20180803132032.29038-1-adrien.mazarguil@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: Ferruh Yigit Return-path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id 600EF2B92 for ; Fri, 31 Aug 2018 11:01:15 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id t25-v6so4568111wmi.3 for ; Fri, 31 Aug 2018 02:01:15 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180803132032.29038-1-adrien.mazarguil@6wind.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This is a follow up to the "Flow API helpers enhancements" series submitted almost a year ago [1]. The new title is due to the reduced scope of this version. rte_flow_conv() is a flexible replacement to rte_flow_copy(), itself a temporary solution pending something better [2]. It replaces a lot of duplicated code found in testpmd and removes some of the maintenance burden that developers tend to forget (me included) when modifying pattern items or actions (updating app/test-pmd/config.c to be clear). This series was unearthed in order to complete the implementation of RTE_FLOW_ACTION_TYPE_ENCAP_(VXLAN|NVGRE) in testpmd [3] without having to duplicate existing code once again. See individual patches for specific changes in this version. v3 changes: - Marked rte_flow_conv() as experimental, modified net/bonding accordingly. - Fixed compilation issue on ARM. - Removed deprecation notice. v2 changes: - rte_flow_copy() is kept, albeit deprecated, no API/ABI impact. - Updated bonding PMD. - No more automatic generation of rte_flow_conv.h. [1] https://mails.dpdk.org/archives/dev/2017-October/077551.html [2] https://mails.dpdk.org/archives/dev/2017-July/070492.html [3] Currently the command-line parser (cmdline_flow.c) is aware of these actions, however config.c isn't. Flow rules with such actions cannot be created and cannot be validated with PMDs that implement them. Adrien Mazarguil (7): ethdev: add flow API object converter ethdev: add flow API item/action name conversion app/testpmd: rely on flow API conversion function net/failsafe: switch to flow API object conversion function net/bonding: switch to flow API object conversion function ethdev: add missing items/actions to flow object converter ethdev: deprecate rte_flow_copy function app/test-pmd/config.c | 407 +++------------ app/test-pmd/testpmd.h | 7 +- doc/guides/prog_guide/rte_flow.rst | 20 + doc/guides/rel_notes/deprecation.rst | 7 - drivers/net/bonding/Makefile | 1 + drivers/net/bonding/meson.build | 1 + drivers/net/bonding/rte_eth_bond_api.c | 6 +- drivers/net/bonding/rte_eth_bond_flow.c | 31 +- drivers/net/bonding/rte_eth_bond_private.h | 5 +- drivers/net/failsafe/failsafe_ether.c | 6 +- drivers/net/failsafe/failsafe_flow.c | 31 +- drivers/net/failsafe/failsafe_private.h | 5 +- lib/librte_ethdev/rte_ethdev_version.map | 1 + lib/librte_ethdev/rte_flow.c | 666 ++++++++++++++++++------ lib/librte_ethdev/rte_flow.h | 231 +++++++- 15 files changed, 886 insertions(+), 539 deletions(-) -- 2.11.0