[dpdk-dev] [PATCH v2 0/7] ethdev: add flow API object converter
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Fri Aug 3 15:36:30 CEST 2018
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
item 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.
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: deprecate rte_flow_copy function
ethdev: add missing item/actions to flow object converter
app/test-pmd/config.c | 407 +++------------
app/test-pmd/testpmd.h | 7 +-
doc/guides/prog_guide/rte_flow.rst | 20 +
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 | 230 +++++++-
12 files changed, 883 insertions(+), 532 deletions(-)
--
2.11.0
More information about the dev
mailing list