Skip to content

Flow API helpers enhancements

Adrien Mazarguil dpdk-dev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 13 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7ethdev: expose flow API error helperdoc/guides/prog_guide/rte_flow.rst drivers/net/mlx4/mlx4_flow.c drivers/net/tap/tap_flow.c +3 more+75 -605 replies
2/7ethdev: replace flow API object copy functiondoc/guides/prog_guide/rte_flow.rst drivers/net/failsafe/failsafe_ether.c drivers/net/failsafe/failsafe_flow.c +4 more+404 -1440 replies
3/7ethdev: add flow API item/action name conversiondoc/guides/prog_guide/rte_flow.rst lib/librte_ether/rte_flow.c lib/librte_ether/rte_flow.h+115 -00 replies
4/7app/testpmd: rely on flow API conversion functionapp/test-pmd/config.c app/test-pmd/testpmd.h+66 -2340 replies
5/7ethdev: enhance flow API item/action descriptionslib/librte_ether/rte_flow.c lib/librte_ether/rte_flow_conv.h+392 -1240 replies
6/7ethdev: generate flow API conversion headerMAINTAINERS buildtools/gen-rte_flow_conv-h.sh lib/librte_ether/Makefile+275 -00 replies
7/7ethdev: update flow API conversion headerlib/librte_ether/rte_flow_conv.h+12 -00 replies

Reviews trailers per patch

None of the 7 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchNelio Laranjeiro
SeriesA-b
1/7
2/7
3/7
4/7
5/7
6/7
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH v1 0/7] Flow API helpers enhancements

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
Signature · 1 line
2.1.4