[dpdk-dev] [PATCH v2] app/testpmd: enhance GTP support

Dekel Peled dekelp at mellanox.com
Wed Mar 25 09:12:31 CET 2020


This patch adds CLI option to enter the v_pt_rsv_flags value for GTP
flow pattern item.
It also adds GTP as valid item in raw_encap and raw_decap setting.

Signed-off-by: Dekel Peled <dekelp at mellanox.com>
---
v2: remove redundant hton flag.
---
 app/test-pmd/cmdline_flow.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index a781545..4877ac6 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -170,6 +170,7 @@ enum index {
 	ITEM_FUZZY,
 	ITEM_FUZZY_THRESH,
 	ITEM_GTP,
+	ITEM_GTP_FLAGS,
 	ITEM_GTP_MSG_TYPE,
 	ITEM_GTP_TEID,
 	ITEM_GTPC,
@@ -938,6 +939,7 @@ struct parse_action_priv {
 };
 
 static const enum index item_gtp[] = {
+	ITEM_GTP_FLAGS,
 	ITEM_GTP_MSG_TYPE,
 	ITEM_GTP_TEID,
 	ITEM_NEXT,
@@ -2347,12 +2349,18 @@ static int comp_set_raw_index(struct context *, const struct token *,
 		.next = NEXT(item_gtp),
 		.call = parse_vc,
 	},
+	[ITEM_GTP_FLAGS] = {
+		.name = "v_pt_rsv_flags",
+		.help = "GTP flags",
+		.next = NEXT(item_gtp, NEXT_ENTRY(UNSIGNED), item_param),
+		.args = ARGS(ARGS_ENTRY(struct rte_flow_item_gtp,
+					v_pt_rsv_flags)),
+	},
 	[ITEM_GTP_MSG_TYPE] = {
 		.name = "msg_type",
 		.help = "GTP message type",
 		.next = NEXT(item_gtp, NEXT_ENTRY(UNSIGNED), item_param),
-		.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_gtp,
-					     msg_type)),
+		.args = ARGS(ARGS_ENTRY(struct rte_flow_item_gtp, msg_type)),
 	},
 	[ITEM_GTP_TEID] = {
 		.name = "teid",
@@ -6604,6 +6612,9 @@ static int comp_set_raw_index(struct context *, const struct token *,
 			size = sizeof(struct rte_flow_item_ah);
 			proto = 0x33;
 			break;
+		case RTE_FLOW_ITEM_TYPE_GTP:
+			size = sizeof(struct rte_flow_item_gtp);
+			break;
 		case RTE_FLOW_ITEM_TYPE_PFCP:
 			size = sizeof(struct rte_flow_item_pfcp);
 			break;
-- 
1.8.3.1



More information about the dev mailing list