[dpdk-dev] [PATCH v3 0/7] ethdev: add flow API object converter
Nélio Laranjeiro
nelio.laranjeiro at 6wind.com
Fri Aug 31 13:32:59 CEST 2018
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 at 6wind.com>
--
Nélio Laranjeiro
6WIND
More information about the dev
mailing list