[dpdk-dev] [PATCH v8 0/2] RTE flow shared action

Andrey Vesnovaty andreyv at nvidia.com
Wed Oct 14 13:40:13 CEST 2020


This patchset introduces shared action API for RTE flow.

v8 changes:
* misc spelling fixes and rephrase in commit messages and documentation
* RTE flow shared action API:
  * invalid port error documented
  * invalid port handling
  * code readability improvements
  * testpmd example moved from commit message to below

testpmd: shared action usage

In this section testpmd command syntax should be treated as pseudo-code,
may be out of sync with future testpmd syntax for shared action cli.
In order to utilize introduced API testpmd cli may implement following
extension
create/update/destroy/query shared action accordingly

flow shared_action {port} create [action_id {id}]
	[ingress] [egress] action {action} / end
flow shared_action {port} update {id} action {action} / end
flow shared_action {port} destroy action_id {id} [...]
flow shared_action {port} query {id}

testpmd example:

configure rss to queues 1 & 2

> flow shared_action 0 create action_id 100 \
	ingress action rss queues 1 2 end / end

create flow rule utilizing shared action

> flow create 0 ingress \
    pattern eth dst is 0c:42:a1:15:fd:ac / ipv6 / tcp / end \
  actions shared 100 / end

add 2 more queues

> flow shared_action 0 modify 100 action rss queues 1 2 3 4 end / end

Andrey Vesnovaty (2):
  ethdev: add shared actions to flow API
  app/testpmd: support shared action

 app/test-pmd/cmdline.c                      |  18 ++
 app/test-pmd/cmdline_flow.c                 | 294 +++++++++++++++++++-
 app/test-pmd/config.c                       | 216 ++++++++++++++
 app/test-pmd/testpmd.h                      |  20 ++
 doc/guides/prog_guide/rte_flow.rst          |  19 ++
 doc/guides/rel_notes/release_20_11.rst      |  10 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 112 ++++++++
 lib/librte_ethdev/rte_ethdev_version.map    |   4 +
 lib/librte_ethdev/rte_flow.c                |  90 ++++++
 lib/librte_ethdev/rte_flow.h                | 172 +++++++++++-
 lib/librte_ethdev/rte_flow_driver.h         |  23 ++
 11 files changed, 976 insertions(+), 2 deletions(-)

-- 
2.26.2



More information about the dev mailing list