Introudce flag action support to flow perf application. Signed-off-by: Wisam Jaddo <wis...@mellanox.com> Acked-by: Alexander Kozyrev <akozy...@nvidia.com> --- app/test-flow-perf/actions_gen.c | 14 ++++++++++++++ app/test-flow-perf/main.c | 10 ++++++++++ doc/guides/rel_notes/release_20_08.rst | 1 + doc/guides/tools/flow-perf.rst | 3 +++ 4 files changed, 28 insertions(+)
diff --git a/app/test-flow-perf/actions_gen.c b/app/test-flow-perf/actions_gen.c index 7e0637595a..9fe11abc94 100644 --- a/app/test-flow-perf/actions_gen.c +++ b/app/test-flow-perf/actions_gen.c @@ -428,6 +428,14 @@ add_set_ipv6_dscp(struct rte_flow_action *actions, actions[actions_counter].conf = &set_dscp; } +static void +add_flag(struct rte_flow_action *actions, + uint8_t actions_counter, + __rte_unused struct additional_para para) +{ + actions[actions_counter].type = RTE_FLOW_ACTION_TYPE_FLAG; +} + void fill_actions(struct rte_flow_action *actions, uint64_t *flow_actions, uint32_t counter, uint16_t next_table, uint16_t hairpinq) @@ -482,6 +490,12 @@ fill_actions(struct rte_flow_action *actions, uint64_t *flow_actions, .mask = FLOW_ACTION_MASK(RTE_FLOW_ACTION_TYPE_SET_TAG), .funct = add_set_tag, }, + { + .mask = FLOW_ACTION_MASK( + RTE_FLOW_ACTION_TYPE_FLAG + ), + .funct = add_flag, + }, { .mask = FLOW_ACTION_MASK( RTE_FLOW_ACTION_TYPE_SET_MAC_SRC diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c index 1f693d4ed1..ae0d1a3be5 100644 --- a/app/test-flow-perf/main.c +++ b/app/test-flow-perf/main.c @@ -170,6 +170,7 @@ usage(char *progname) "ipv4 dscp value to be set is random each flow\n"); printf(" --set-ipv6-dscp: add set ipv6 dscp action to flow actions\n" "ipv6 dscp value to be set is random each flow\n"); + printf(" --flag: add flag action to flow actions\n"); } static void @@ -465,6 +466,14 @@ args_parse(int argc, char **argv) .map = &flow_actions[0], .map_idx = &actions_idx }, + { + .str = "flag", + .mask = FLOW_ACTION_MASK( + RTE_FLOW_ACTION_TYPE_FLAG + ), + .map = &flow_actions[0], + .map_idx = &actions_idx + }, }; static const struct option lgopts[] = { @@ -522,6 +531,7 @@ args_parse(int argc, char **argv) { "dec-ttl", 0, 0, 0 }, { "set-ipv4-dscp", 0, 0, 0 }, { "set-ipv6-dscp", 0, 0, 0 }, + { "flag", 0, 0, 0 }, }; hairpin_queues_num = 0; diff --git a/doc/guides/rel_notes/release_20_08.rst b/doc/guides/rel_notes/release_20_08.rst index 7c9d508a07..eed3900a8c 100644 --- a/doc/guides/rel_notes/release_20_08.rst +++ b/doc/guides/rel_notes/release_20_08.rst @@ -281,6 +281,7 @@ New Features items matching as well. * Start supporting header modify actions. + * Start supporting flag action. Removed Items diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst index e225550e40..69cdd1b222 100644 --- a/doc/guides/tools/flow-perf.rst +++ b/doc/guides/tools/flow-perf.rst @@ -303,3 +303,6 @@ Actions: * ``--set-ipv6-dscp`` Add set IPv6 dscp action to all flows actions. The dscp value to be is random each flow. + +* ``--flag`` + Add flag action to all flows actions. -- 2.17.1