[dpdk-dev,v2,3/4] app/testpmd:test RX tunnel filter for NVGRE packet

Message ID 1423701947-17996-4-git-send-email-jijiang.liu@intel.com (mailing list archive)
State Changes Requested, archived
Headers

Commit Message

Jijiang Liu Feb. 12, 2015, 12:45 a.m. UTC
Extend the "tunnel_filter" command in testpmd to test the RX tunnel filter API for NVGRE packet. 

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
---
 app/test-pmd/cmdline.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)
  

Comments

Jingjing Wu Feb. 13, 2015, 1:23 a.m. UTC | #1
Hi, jijiang

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jijiang Liu
> Sent: Thursday, February 12, 2015 8:46 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2 3/4] app/testpmd:test RX tunnel filter for
> NVGRE packet
> 
> Extend the "tunnel_filter" command in testpmd to test the RX tunnel filter
> API for NVGRE packet.
> 
> Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
> ---
>  app/test-pmd/cmdline.c |   14 ++++++++------
>  1 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> 9de3e7e..a380d43 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -293,11 +293,11 @@ static void cmd_help_long_parsed(void
> *parsed_result,
>  			" a port\n\n"
> 
>  			"tunnel_filter add (port_id) (outer_mac) (inner_mac)
> (ip_addr) "
> -			"(inner_vlan) (tunnel_type) (filter_type) (tenant_id)
> (queue_id)\n"
> +			"(inner_vlan) (vxlan|nvgre) (filter_type) (tenant_id)
> (queue_id)\n"
>  			"   add a tunnel filter of a port.\n\n"
> 
>  			"tunnel_filter rm (port_id) (outer_mac) (inner_mac)
> (ip_addr) "
> -			"(inner_vlan) (tunnel_type) (filter_type) (tenant_id)
> (queue_id)\n"
> +			"(inner_vlan) (vxlan|nvgre) (filter_type) (tenant_id)
> (queue_id)\n"
>  			"   remove a tunnel filter of a port.\n\n"
> 
>  			"rx_vxlan_port add (udp_port) (port_id)\n"
> @@ -6851,8 +6851,10 @@ cmd_tunnel_filter_parsed(void *parsed_result,
> 
>  	if (!strcmp(res->tunnel_type, "vxlan"))
>  		tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_VXLAN;
> +	if (!strcmp(res->tunnel_type, "nvgre"))
> +		tunnel_filter_conf.tunnel_type =
> RTE_TUNNEL_TYPE_NVGRE;
>  	else {
> -		printf("Only VXLAN is supported now.\n");
> +		printf("The tunnel type is supported now.\n");

Maybe "not" is missed in the printed sentence. Or you can just remove the else {}, because res->tunnel_type can only be "vxlan" or "nvgre".

>  		return;
>  	}
> 
> @@ -6896,12 +6898,12 @@ cmdline_parse_token_ipaddr_t
> cmd_tunnel_filter_ip_value =
>  	ip_value);
>  cmdline_parse_token_string_t cmd_tunnel_filter_tunnel_type =
>  	TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
> -	tunnel_type, "vxlan");
> +	tunnel_type, "vxlan#nvgre");
> 
>  cmdline_parse_token_string_t cmd_tunnel_filter_filter_type =
>  	TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
>  	filter_type, "imac-ivlan#imac-ivlan-tenid#imac-tenid#"
> -		"imac#omac-imac-tenid");
> +		"imac#omac-imac-tenid#");


Do you need the additional "#"?

>  cmdline_parse_token_num_t cmd_tunnel_filter_tenant_id =
>  	TOKEN_NUM_INITIALIZER(struct cmd_tunnel_filter_result,
>  	tenant_id, UINT32);
> @@ -6914,7 +6916,7 @@ cmdline_parse_inst_t cmd_tunnel_filter = {
>  	.data = (void *)0,
>  	.help_str = "add/rm tunnel filter of a port: "
>  			"tunnel_filter add port_id outer_mac inner_mac ip "
> -			"inner_vlan tunnel_type(vxlan) filter_type "
> +			"inner_vlan tunnel_type(vxlan|nvgre) filter_type "
>  			"(imac-ivlan|imac-ivlan-tenid|imac-tenid|"
>  			"imac|omac-imac-tenid) "
>  			"tenant_id queue_num",
> --
> 1.7.7.6
  
Jijiang Liu Feb. 13, 2015, 1:27 a.m. UTC | #2
> -----Original Message-----
> From: Wu, Jingjing
> Sent: Friday, February 13, 2015 9:23 AM
> To: Liu, Jijiang; dev@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH v2 3/4] app/testpmd:test RX tunnel filter for
> NVGRE packet
> 
> Hi, jijiang
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jijiang Liu
> > Sent: Thursday, February 12, 2015 8:46 AM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] [PATCH v2 3/4] app/testpmd:test RX tunnel filter
> > for NVGRE packet
> >
> > Extend the "tunnel_filter" command in testpmd to test the RX tunnel
> > filter API for NVGRE packet.
> >
> > Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
> > ---
> >  app/test-pmd/cmdline.c |   14 ++++++++------
> >  1 files changed, 8 insertions(+), 6 deletions(-)
> >
> > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> > 9de3e7e..a380d43 100644
> > --- a/app/test-pmd/cmdline.c
> > +++ b/app/test-pmd/cmdline.c
> > @@ -293,11 +293,11 @@ static void cmd_help_long_parsed(void
> > *parsed_result,
> >  			" a port\n\n"
> >
> >  			"tunnel_filter add (port_id) (outer_mac) (inner_mac)
> > (ip_addr) "
> > -			"(inner_vlan) (tunnel_type) (filter_type) (tenant_id)
> > (queue_id)\n"
> > +			"(inner_vlan) (vxlan|nvgre) (filter_type) (tenant_id)
> > (queue_id)\n"
> >  			"   add a tunnel filter of a port.\n\n"
> >
> >  			"tunnel_filter rm (port_id) (outer_mac) (inner_mac)
> > (ip_addr) "
> > -			"(inner_vlan) (tunnel_type) (filter_type) (tenant_id)
> > (queue_id)\n"
> > +			"(inner_vlan) (vxlan|nvgre) (filter_type) (tenant_id)
> > (queue_id)\n"
> >  			"   remove a tunnel filter of a port.\n\n"
> >
> >  			"rx_vxlan_port add (udp_port) (port_id)\n"
> > @@ -6851,8 +6851,10 @@ cmd_tunnel_filter_parsed(void *parsed_result,
> >
> >  	if (!strcmp(res->tunnel_type, "vxlan"))
> >  		tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_VXLAN;
> > +	if (!strcmp(res->tunnel_type, "nvgre"))
> > +		tunnel_filter_conf.tunnel_type =
> > RTE_TUNNEL_TYPE_NVGRE;
> >  	else {
> > -		printf("Only VXLAN is supported now.\n");
> > +		printf("The tunnel type is supported now.\n");
> 
> Maybe "not" is missed in the printed sentence. Or you can just remove the else
> {}, because res->tunnel_type can only be "vxlan" or "nvgre".

I'll update it in next version.
> >  		return;
> >  	}
> >
> > @@ -6896,12 +6898,12 @@ cmdline_parse_token_ipaddr_t
> > cmd_tunnel_filter_ip_value =
> >  	ip_value);
> >  cmdline_parse_token_string_t cmd_tunnel_filter_tunnel_type =
> >  	TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
> > -	tunnel_type, "vxlan");
> > +	tunnel_type, "vxlan#nvgre");
> >
> >  cmdline_parse_token_string_t cmd_tunnel_filter_filter_type =
> >  	TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
> >  	filter_type, "imac-ivlan#imac-ivlan-tenid#imac-tenid#"
> > -		"imac#omac-imac-tenid");
> > +		"imac#omac-imac-tenid#");
> 
> 
> Do you need the additional "#"?

Don't need it, I'll update it in next version.

> >  cmdline_parse_token_num_t cmd_tunnel_filter_tenant_id =
> >  	TOKEN_NUM_INITIALIZER(struct cmd_tunnel_filter_result,
> >  	tenant_id, UINT32);
> > @@ -6914,7 +6916,7 @@ cmdline_parse_inst_t cmd_tunnel_filter = {
> >  	.data = (void *)0,
> >  	.help_str = "add/rm tunnel filter of a port: "
> >  			"tunnel_filter add port_id outer_mac inner_mac ip "
> > -			"inner_vlan tunnel_type(vxlan) filter_type "
> > +			"inner_vlan tunnel_type(vxlan|nvgre) filter_type "
> >  			"(imac-ivlan|imac-ivlan-tenid|imac-tenid|"
> >  			"imac|omac-imac-tenid) "
> >  			"tenant_id queue_num",
> > --
> > 1.7.7.6
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 9de3e7e..a380d43 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -293,11 +293,11 @@  static void cmd_help_long_parsed(void *parsed_result,
 			" a port\n\n"
 
 			"tunnel_filter add (port_id) (outer_mac) (inner_mac) (ip_addr) "
-			"(inner_vlan) (tunnel_type) (filter_type) (tenant_id) (queue_id)\n"
+			"(inner_vlan) (vxlan|nvgre) (filter_type) (tenant_id) (queue_id)\n"
 			"   add a tunnel filter of a port.\n\n"
 
 			"tunnel_filter rm (port_id) (outer_mac) (inner_mac) (ip_addr) "
-			"(inner_vlan) (tunnel_type) (filter_type) (tenant_id) (queue_id)\n"
+			"(inner_vlan) (vxlan|nvgre) (filter_type) (tenant_id) (queue_id)\n"
 			"   remove a tunnel filter of a port.\n\n"
 
 			"rx_vxlan_port add (udp_port) (port_id)\n"
@@ -6851,8 +6851,10 @@  cmd_tunnel_filter_parsed(void *parsed_result,
 
 	if (!strcmp(res->tunnel_type, "vxlan"))
 		tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_VXLAN;
+	if (!strcmp(res->tunnel_type, "nvgre"))
+		tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_NVGRE;
 	else {
-		printf("Only VXLAN is supported now.\n");
+		printf("The tunnel type is supported now.\n");
 		return;
 	}
 
@@ -6896,12 +6898,12 @@  cmdline_parse_token_ipaddr_t cmd_tunnel_filter_ip_value =
 	ip_value);
 cmdline_parse_token_string_t cmd_tunnel_filter_tunnel_type =
 	TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
-	tunnel_type, "vxlan");
+	tunnel_type, "vxlan#nvgre");
 
 cmdline_parse_token_string_t cmd_tunnel_filter_filter_type =
 	TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
 	filter_type, "imac-ivlan#imac-ivlan-tenid#imac-tenid#"
-		"imac#omac-imac-tenid");
+		"imac#omac-imac-tenid#");
 cmdline_parse_token_num_t cmd_tunnel_filter_tenant_id =
 	TOKEN_NUM_INITIALIZER(struct cmd_tunnel_filter_result,
 	tenant_id, UINT32);
@@ -6914,7 +6916,7 @@  cmdline_parse_inst_t cmd_tunnel_filter = {
 	.data = (void *)0,
 	.help_str = "add/rm tunnel filter of a port: "
 			"tunnel_filter add port_id outer_mac inner_mac ip "
-			"inner_vlan tunnel_type(vxlan) filter_type "
+			"inner_vlan tunnel_type(vxlan|nvgre) filter_type "
 			"(imac-ivlan|imac-ivlan-tenid|imac-tenid|"
 			"imac|omac-imac-tenid) "
 			"tenant_id queue_num",