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

Dekel Peled dekelp at mellanox.com
Tue Mar 24 13:39:40 CET 2020


Hi, PSB.

> -----Original Message-----
> From: Ori Kam <orika at mellanox.com>
> Sent: Tuesday, March 24, 2020 11:59 AM
> To: Dekel Peled <dekelp at mellanox.com>; wenzhuo.lu at intel.com;
> jingjing.wu at intel.com; bernard.iremonger at intel.com
> Cc: Matan Azrad <matan at mellanox.com>; dev at 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 <dekelp at 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


More information about the dev mailing list