Message ID | 20180831085337.21419-1-adrien.mazarguil@6wind.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6C4DB2C55; Fri, 31 Aug 2018 11:01:16 +0200 (CEST) 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 <dev@dpdk.org>; Fri, 31 Aug 2018 11:01:15 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id t25-v6so4568111wmi.3 for <dev@dpdk.org>; Fri, 31 Aug 2018 02:01:15 -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=fitlgmdUUhqBjoRYXn0BkvtW6E6TtCKUUzNZ/+cyUdc=; b=C8EJlrrWSUan2XhALjnxoTpWArC+nseawZcVbM+qveXJmSt6d1kkwRuMGIdS6UsS01 f0CTYHSy7n23MlJKjhU8R0oVnmcal9dMykQgWHquSM1T1HBd46FGKTI/t3No+r80k05V 3m8HNqU2NvuCp2hV3q+FBRn1qX6L2+mn8ZDl0Y1Xl8M4uS6EAQYTbPCG+XY9J094Govb cMwG32X8BrpdhjIn4F619jSNhfySuBmwUbk3/eqKtUfDoUxSqT6Dq1ac43IFluMGB0vd gMO9xn3XxRZWr7AgggWXqnpG5uA/KxX4S1+REO/tXVYI0ebfKFQEb7fo7nz6WOmC7F7E HlEQ== 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=fitlgmdUUhqBjoRYXn0BkvtW6E6TtCKUUzNZ/+cyUdc=; b=X4KHASiPgZ2M/j3y2eouO/1v8GU1MxKjIy9MrEb1plHbXnmc9Enig6nXt3hccBRXCR 7jJrfUAyWgHjjf8477lEt5p9b0ZPVKW3Rt8VYAHdNX47QNH5HCbmO6tGFpWcLP7zkslP XlQCxhPDH7iW5mVlXE9Xd4K/0Sf4DsJJqwEzKuD9EbElvbuo7hNDKJVXeJCsFov/AxTw 85fGGWVBBIeK72LSRZFeohCHJnPVNkHowpdBMeuEKp23hXFQqHEoU/erFx0f2PR6XoCw 8fcP/BD1ZMNwiOgqTgtsNharMlIPQFHsZ2AoQdiTOkTatM0U5u6o7DNL7ULprZMue4ed 9pMQ== X-Gm-Message-State: APzg51Bfgg66T3jVjqgYyK+6plpZPu2W5bgFq506KOKc3mIOE3zKIHxu w+1fYuvvm55NpHFk8p9NLB/IRw== X-Google-Smtp-Source: ANB0VdaKnEdQB3Kt+b7JLx+RxVmNUpjInNgstvCZnKjNMvZruucDFJJf/IT0rTZJ0b9OgBEGws+RTA== X-Received: by 2002:a1c:9692:: with SMTP id y140-v6mr4021030wmd.82.1535706075060; Fri, 31 Aug 2018 02:01:15 -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 60-v6sm10800869wre.82.2018.08.31.02.01.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Aug 2018 02:01:13 -0700 (PDT) Date: Fri, 31 Aug 2018 11:00:57 +0200 From: Adrien Mazarguil <adrien.mazarguil@6wind.com> To: Ferruh Yigit <ferruh.yigit@intel.com> Cc: dev@dpdk.org 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 Content-Disposition: inline In-Reply-To: <20180803132032.29038-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH v3 0/7] ethdev: add flow API object converter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
ethdev: add flow API object converter
|
|
Message
Adrien Mazarguil
Aug. 31, 2018, 9 a.m. UTC
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(-)
Comments
On Fri, Aug 31, 2018 at 11:00:57AM +0200, Adrien Mazarguil wrote: > 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 Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
31/08/2018 13:32, Nélio Laranjeiro: > On Fri, Aug 31, 2018 at 11:00:57AM +0200, Adrien Mazarguil wrote: > > 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. > > Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> No more comment after one month. Ferruh, I think it should go into next-net.
On 10/3/2018 9:31 PM, Thomas Monjalon wrote: > 31/08/2018 13:32, Nélio Laranjeiro: >> On Fri, Aug 31, 2018 at 11:00:57AM +0200, Adrien Mazarguil wrote: >>> 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. >> >> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> > > No more comment after one month. > Ferruh, I think it should go into next-net. Series applied to dpdk-next-net/master, thanks.