[v2] app/testpmd: enhance GTP support

Message ID 849037cfb86ddbce85675606f8a81090044e97e1.1585123614.git.dekelp@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series [v2] app/testpmd: enhance GTP support |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-testing success Testing PASS

Commit Message

Dekel Peled March 25, 2020, 8:12 a.m. UTC
  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@mellanox.com>
---
v2: remove redundant hton flag.
---
 app/test-pmd/cmdline_flow.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
  

Comments

Ori Kam March 25, 2020, 8:27 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Dekel Peled
> Sent: Wednesday, March 25, 2020 10:13 AM
> To: Ori Kam <orika@mellanox.com>; wenzhuo.lu@intel.com;
> jingjing.wu@intel.com; bernard.iremonger@intel.com
> Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2] 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 and raw_decap setting.
> 
> Signed-off-by: Dekel Peled <dekelp@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

Acked-by: Ori Kam <orika@mellanox.com>
Thanks,
Ori
  
Dekel Peled March 29, 2020, 9:20 a.m. UTC | #2
Hi,

Can this patch be applied?

Regards,
Dekel

> -----Original Message-----
> From: Ori Kam <orika@mellanox.com>
> Sent: Wednesday, March 25, 2020 10:28 AM
> To: Dekel Peled <dekelp@mellanox.com>; wenzhuo.lu@intel.com;
> jingjing.wu@intel.com; bernard.iremonger@intel.com
> Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH v2] app/testpmd: enhance GTP support
> 
> 
> 
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Dekel Peled
> > Sent: Wednesday, March 25, 2020 10:13 AM
> > To: Ori Kam <orika@mellanox.com>; wenzhuo.lu@intel.com;
> > jingjing.wu@intel.com; bernard.iremonger@intel.com
> > Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
> > Subject: [dpdk-dev] [PATCH v2] 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 and raw_decap setting.
> >
> > Signed-off-by: Dekel Peled <dekelp@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
> 
> Acked-by: Ori Kam <orika@mellanox.com>
> Thanks,
> Ori
  
Dekel Peled April 6, 2020, 11:05 a.m. UTC | #3
Hi Ferruh,

Is this patch ready to be applied in next-net?

Regards,
Dekel

> -----Original Message-----
> From: Dekel Peled <dekelp@mellanox.com>
> Sent: Sunday, March 29, 2020 12:21 PM
> To: wenzhuo.lu@intel.com; jingjing.wu@intel.com;
> bernard.iremonger@intel.com
> Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org; Ori Kam
> <orika@mellanox.com>
> Subject: RE: [dpdk-dev] [PATCH v2] app/testpmd: enhance GTP support
> 
> Hi,
> 
> Can this patch be applied?
> 
> Regards,
> Dekel
> 
> > -----Original Message-----
> > From: Ori Kam <orika@mellanox.com>
> > Sent: Wednesday, March 25, 2020 10:28 AM
> > To: Dekel Peled <dekelp@mellanox.com>; wenzhuo.lu@intel.com;
> > jingjing.wu@intel.com; bernard.iremonger@intel.com
> > Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
> > Subject: RE: [dpdk-dev] [PATCH v2] app/testpmd: enhance GTP support
> >
> >
> >
> > > -----Original Message-----
> > > From: dev <dev-bounces@dpdk.org> On Behalf Of Dekel Peled
> > > Sent: Wednesday, March 25, 2020 10:13 AM
> > > To: Ori Kam <orika@mellanox.com>; wenzhuo.lu@intel.com;
> > > jingjing.wu@intel.com; bernard.iremonger@intel.com
> > > Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
> > > Subject: [dpdk-dev] [PATCH v2] 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 and raw_decap setting.
> > >
> > > Signed-off-by: Dekel Peled <dekelp@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
> >
> > Acked-by: Ori Kam <orika@mellanox.com> Thanks, Ori
  
Ferruh Yigit April 6, 2020, 11:16 a.m. UTC | #4
On 4/6/2020 12:05 PM, Dekel Peled wrote:
> Hi Ferruh,
> 
> Is this patch ready to be applied in next-net?

Hi Dekel,

Most probably I can check it today..

> 
> Regards,
> Dekel
> 
>> -----Original Message-----
>> From: Dekel Peled <dekelp@mellanox.com>
>> Sent: Sunday, March 29, 2020 12:21 PM
>> To: wenzhuo.lu@intel.com; jingjing.wu@intel.com;
>> bernard.iremonger@intel.com
>> Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org; Ori Kam
>> <orika@mellanox.com>
>> Subject: RE: [dpdk-dev] [PATCH v2] app/testpmd: enhance GTP support
>>
>> Hi,
>>
>> Can this patch be applied?
>>
>> Regards,
>> Dekel
>>
>>> -----Original Message-----
>>> From: Ori Kam <orika@mellanox.com>
>>> Sent: Wednesday, March 25, 2020 10:28 AM
>>> To: Dekel Peled <dekelp@mellanox.com>; wenzhuo.lu@intel.com;
>>> jingjing.wu@intel.com; bernard.iremonger@intel.com
>>> Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
>>> Subject: RE: [dpdk-dev] [PATCH v2] app/testpmd: enhance GTP support
>>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: dev <dev-bounces@dpdk.org> On Behalf Of Dekel Peled
>>>> Sent: Wednesday, March 25, 2020 10:13 AM
>>>> To: Ori Kam <orika@mellanox.com>; wenzhuo.lu@intel.com;
>>>> jingjing.wu@intel.com; bernard.iremonger@intel.com
>>>> Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
>>>> Subject: [dpdk-dev] [PATCH v2] 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 and raw_decap setting.
>>>>
>>>> Signed-off-by: Dekel Peled <dekelp@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
>>>
>>> Acked-by: Ori Kam <orika@mellanox.com> Thanks, Ori
  
Ferruh Yigit April 6, 2020, 3:41 p.m. UTC | #5
On 3/25/2020 8:27 AM, Ori Kam wrote:
> 
> 
>> -----Original Message-----
>> From: dev <dev-bounces@dpdk.org> On Behalf Of Dekel Peled
>> Sent: Wednesday, March 25, 2020 10:13 AM
>> To: Ori Kam <orika@mellanox.com>; wenzhuo.lu@intel.com;
>> jingjing.wu@intel.com; bernard.iremonger@intel.com
>> Cc: Matan Azrad <matan@mellanox.com>; dev@dpdk.org
>> Subject: [dpdk-dev] [PATCH v2] 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 and raw_decap setting.
>>
>> Signed-off-by: Dekel Peled <dekelp@mellanox.com>
> 
> Acked-by: Ori Kam <orika@mellanox.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

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;