[dpdk-dev] [PATCH 05/13] app/flow-perf: add flag action support
Wisam Jaddo
wisamm at mellanox.com
Sun Aug 30 13:15:36 CEST 2020
Introudce flag action support to flow perf
application.
Signed-off-by: Wisam Jaddo <wisamm at mellanox.com>
Acked-by: Alexander Kozyrev <akozyrev at 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
More information about the dev
mailing list