Hi, PSB. > -----Original Message----- > From: Ori Kam <or...@mellanox.com> > Sent: Tuesday, March 24, 2020 11:59 AM > To: Dekel Peled <dek...@mellanox.com>; wenzhuo...@intel.com; > jingjing...@intel.com; bernard.iremon...@intel.com > Cc: Matan Azrad <ma...@mellanox.com>; dev@dpdk.org > Subject: RE: [dpdk-dev] [PATCH] app/testpmd: enhance GTP support > > Hi Dekel, > > > -----Original Message----- > > Subject: [dpdk-dev] [PATCH] app/testpmd: enhance GTP support > > > > 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 nad raw_decap setting. > > > > Signed-off-by: Dekel Peled <dek...@mellanox.com> > > --- > > app/test-pmd/cmdline_flow.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c > > index a781545..cc1bd19 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,6 +2349,13 @@ 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_HTON(struct rte_flow_item_gtp, > > + v_pt_rsv_flags)), > > V_pt_rsv_flags is 8 bits right? So why HTON?
This is the common practice in this array, done for other uint8_t fields. > > > + }, > > [ITEM_GTP_MSG_TYPE] = { > > .name = "msg_type", > > .help = "GTP message type", > > @@ -6604,6 +6613,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 > > Best, > Ori