This patchset introduces shared action for RTE flow. V3 changes: - implement testpmd for shared action - fix flow_filtering example application - add conf arg to shared action create API
Notes: PMD implementation should be considered as draft Andrey Vesnovaty (10): ethdev: add flow shared action API ethdev: add conf arg to shared action icreate API common/mlx5: modify advanced Rx object via DevX net/mlx5: modify hash Rx queue objects net/mlx5: shared action PMD net/mlx5: shared action PMD create conf arg net/mlx5: driver support for shared action net/mlx5: shared action create conf drv support examples/flow_filtering: utilize shared RSS action app/testpmd: support shared action app/test-pmd/cmdline_flow.c | 262 ++++++- app/test-pmd/config.c | 217 ++++++ app/test-pmd/testpmd.h | 19 + doc/guides/sample_app_ug/flow_filtering.rst | 62 +- drivers/common/mlx5/mlx5_devx_cmds.c | 84 +++ drivers/common/mlx5/mlx5_devx_cmds.h | 10 + drivers/common/mlx5/mlx5_prm.h | 29 + .../common/mlx5/rte_common_mlx5_version.map | 1 + drivers/net/mlx5/mlx5.c | 1 + drivers/net/mlx5/mlx5.h | 6 + drivers/net/mlx5/mlx5_defs.h | 3 + drivers/net/mlx5/mlx5_devx.c | 178 ++++- drivers/net/mlx5/mlx5_flow.c | 497 ++++++++++++- drivers/net/mlx5/mlx5_flow.h | 86 +++ drivers/net/mlx5/mlx5_flow_dv.c | 684 +++++++++++++++++- drivers/net/mlx5/mlx5_rxq.c | 103 +++ drivers/net/mlx5/mlx5_rxtx.h | 5 +- examples/flow_filtering/flow_blocks.c | 81 ++- examples/flow_filtering/main.c | 13 +- lib/librte_ethdev/rte_ethdev_version.map | 4 + lib/librte_ethdev/rte_flow.c | 84 +++ lib/librte_ethdev/rte_flow.h | 161 ++++- lib/librte_ethdev/rte_flow_driver.h | 23 + 23 files changed, 2489 insertions(+), 124 deletions(-) -- 2.26.2