Add new application to test rte flow performance from: - Insertion rate. - Deletion rate. - Memory consumption. - PPS forward measurement.
Unchanged comments: - Prevent actions such as Queue from adding twice: * Current design don't support add actions twice. * This is performace app that not should force coditions like PMD. * If app allows adding dup actions and user added Queue the PMD should report the error. * No memory leak found. --- v7: * Move add_items/add_actions in items/actions instead of flow. * Have array of structures with loops instead of branching. * Add limitation part in doc. * Align items/actions generator methods with same signature. * Convert item/action & attrs selector to be 64bit instead of 32bit. v6: * Move compare vs 0 logic instead of logical not. * Logged errors into stderr. * Remove offload parse on queue level. * Fix documentation and limitations. * Added macro for rss hash value, used in port and rss action configuration. * Remove all design global variable, only control left. * Remove items/action defines for bit map and use rte_types instead. * Addressing comments regard args_parse() v5: * Add app to 20.05 release notes. * Addressing comments. * Fix compilation issue for gcc >= 10. * Fix documentation. * Remove unneeded CFLAGS. * Remove unused includes. * Addressing format comments. * Move hairpin to be option use only. * Use RSS hash IP + TCP in ports and rss action. * Introduce and use new macro for bit flags. v4: * Fix compilation error due to variable set but not used. v3: * Fix passing hairpin queues to hairpin rss action. v2: * reset cpu_time_used every port. * generate different RSS action every flow with different RETA. * Fix in commit log message Wisam Jaddo (5): app/flow-perf: add flow performance skeleton app/flow-perf: add insertion rate calculation app/flow-perf: add deletion rate calculation app/flow-perf: add memory dump to app app/flow-perf: add packet forwarding support MAINTAINERS | 5 + app/Makefile | 1 + app/meson.build | 1 + app/test-flow-perf/Makefile | 26 + app/test-flow-perf/actions_gen.c | 276 ++++++ app/test-flow-perf/actions_gen.h | 18 + app/test-flow-perf/config.h | 31 + app/test-flow-perf/flow_gen.c | 61 ++ app/test-flow-perf/flow_gen.h | 37 + app/test-flow-perf/items_gen.c | 397 +++++++++ app/test-flow-perf/items_gen.h | 18 + app/test-flow-perf/main.c | 1109 ++++++++++++++++++++++++ app/test-flow-perf/meson.build | 11 + config/common_base | 5 + doc/guides/rel_notes/release_20_08.rst | 10 + doc/guides/tools/flow-perf.rst | 248 ++++++ doc/guides/tools/index.rst | 1 + 17 files changed, 2255 insertions(+) create mode 100644 app/test-flow-perf/Makefile create mode 100644 app/test-flow-perf/actions_gen.c create mode 100644 app/test-flow-perf/actions_gen.h create mode 100644 app/test-flow-perf/config.h create mode 100644 app/test-flow-perf/flow_gen.c create mode 100644 app/test-flow-perf/flow_gen.h create mode 100644 app/test-flow-perf/items_gen.c create mode 100644 app/test-flow-perf/items_gen.h create mode 100644 app/test-flow-perf/main.c create mode 100644 app/test-flow-perf/meson.build create mode 100644 doc/guides/tools/flow-perf.rst -- 2.17.1