[dpdk-dev] [PATCH v1 0/7] Flow API helpers enhancements

Adrien Mazarguil adrien.mazarguil at 6wind.com
Thu Oct 5 11:49:01 CEST 2017


This series brings enhancements to various rte_flow helpers:

- Allow applications to use rte_flow_error_set() by making it part of the
  public interface and documenting it as such.

- Address rte_flow_copy()'s limitations by replacing it with the more
  versatile rte_flow_conv(). This new function allows retrieving other
  properties such as item/action names, enabling testpmd to finally use it
  and get rid of duplicated code.

- Add a script (gen-rte_flow_conv-h.sh) to help with generating the
  resources used by rte_flow_conv(). Developers should run it when adding or
  modifying pattern items or actions (done as part of this series to add the
  missing "fuzzy" pattern item).

- Future plans for rte_flow_conv() include translating error codes to
  human-readable messages, so applications do not have to make their own.

All these changes address concerns raised a couple of months ago [1]. Work
on these patches actually started at the time but I was unable to complete
and clean them up until recently.

[1] http://dpdk.org/ml/archives/dev/2017-July/070492.html

Adrien Mazarguil (7):
  ethdev: expose flow API error helper
  ethdev: replace flow API object copy function
  ethdev: add flow API item/action name conversion
  app/testpmd: rely on flow API conversion function
  ethdev: enhance flow API item/action descriptions
  ethdev: generate flow API conversion header
  ethdev: update flow API conversion header

 MAINTAINERS                             |   1 +
 app/test-pmd/config.c                   | 293 ++++-----------
 app/test-pmd/testpmd.h                  |   7 +-
 buildtools/gen-rte_flow_conv-h.sh       | 264 +++++++++++++
 doc/guides/prog_guide/rte_flow.rst      |  43 ++-
 drivers/net/failsafe/failsafe_ether.c   |   6 +-
 drivers/net/failsafe/failsafe_flow.c    |  29 +-
 drivers/net/failsafe/failsafe_private.h |   4 +-
 drivers/net/mlx4/mlx4_flow.c            |   6 +-
 drivers/net/tap/tap_flow.c              |   2 +-
 lib/librte_ether/Makefile               |  10 +
 lib/librte_ether/rte_ethdev_version.map |   1 +
 lib/librte_ether/rte_flow.c             | 539 ++++++++++++++++-----------
 lib/librte_ether/rte_flow.h             | 275 ++++++++++++--
 lib/librte_ether/rte_flow_conv.h        | 345 +++++++++++++++++
 lib/librte_ether/rte_flow_driver.h      |  38 --
 16 files changed, 1320 insertions(+), 543 deletions(-)
 create mode 100755 buildtools/gen-rte_flow_conv-h.sh
 create mode 100644 lib/librte_ether/rte_flow_conv.h

-- 
2.1.4



More information about the dev mailing list