[dpdk-dev,v2,3/4] app/testpmd:test RX tunnel filter for NVGRE packet
Commit Message
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
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
> -----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
@@ -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",