From: Shahed Shaikh <shahed.sha...@cavium.com>

Replace rx_vxlan_port command with rx_tunnel_udp_port to support both VXLAN
and GENEVE udp ports.

Signed-off-by: Shahed Shaikh <shahed.sha...@cavium.com>
---
 app/test-pmd/cmdline.c |   28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index f71d963..4b5a8cd 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -402,11 +402,11 @@ static void cmd_help_long_parsed(void *parsed_result,
                        "imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) 
(queue_id)\n"
                        "   remove a tunnel filter of a port.\n\n"
 
-                       "rx_vxlan_port add (udp_port) (port_id)\n"
-                       "    Add an UDP port for VXLAN packet filter on a 
port\n\n"
+                       "rx_tunnel_udp_port add vxlan|geneve (udp_port) 
(port_id)\n"
+                       "    Add an UDP port for VXLAN/GENEVE packet filter on 
a port\n\n"
 
-                       "rx_vxlan_port rm (udp_port) (port_id)\n"
-                       "    Remove an UDP port for VXLAN packet filter on a 
port\n\n"
+                       "rx_tunnel_udp_port rm vxlan|geneve (udp_port) 
(port_id)\n"
+                       "    Remove an UDP port for VXLAN/GENEVE packet filter 
on a port\n\n"
 
                        "tx_vlan set (port_id) vlan_id[, vlan_id_outer]\n"
                        "    Set hardware insertion of VLAN IDs (single or 
double VLAN "
@@ -7984,6 +7984,8 @@ struct cmd_tunnel_filter_result {
                tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_NVGRE;
        else if (!strcmp(res->tunnel_type, "ipingre"))
                tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_IP_IN_GRE;
+       else if (!strcmp(res->tunnel_type, "geneve"))
+               tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_GENEVE;
        else {
                printf("The tunnel type %s not supported.\n", res->tunnel_type);
                return;
@@ -8029,7 +8031,7 @@ struct cmd_tunnel_filter_result {
        ip_value);
 cmdline_parse_token_string_t cmd_tunnel_filter_tunnel_type =
        TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
-       tunnel_type, "vxlan#nvgre#ipingre");
+       tunnel_type, "vxlan#nvgre#ipingre#geneve");
 
 cmdline_parse_token_string_t cmd_tunnel_filter_filter_type =
        TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result,
@@ -8046,7 +8048,7 @@ struct cmd_tunnel_filter_result {
        .f = cmd_tunnel_filter_parsed,
        .data = (void *)0,
        .help_str = "tunnel_filter add|rm <port_id> <outer_mac> <inner_mac> "
-               "<ip> <inner_vlan> vxlan|nvgre|ipingre oip|iip|imac-ivlan|"
+               "<ip> <inner_vlan> vxlan|nvgre|ipingre|geneve 
oip|iip|imac-ivlan|"
                "imac-ivlan-tenid|imac-tenid|imac|omac-imac-tenid <tenant_id> "
                "<queue_id>: Add/Rm tunnel filter of a port",
        .tokens = {
@@ -8069,6 +8071,7 @@ struct cmd_tunnel_filter_result {
 struct cmd_tunnel_udp_config {
        cmdline_fixed_string_t cmd;
        cmdline_fixed_string_t what;
+       cmdline_fixed_string_t tunnel_type;
        uint16_t udp_port;
        portid_t port_id;
 };
@@ -8084,9 +8087,12 @@ struct cmd_tunnel_udp_config {
 
        tunnel_udp.udp_port = res->udp_port;
 
-       if (!strcmp(res->cmd, "rx_vxlan_port"))
+       if (!strcmp(res->tunnel_type, "vxlan"))
                tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN;
 
+       if (!strcmp(res->tunnel_type, "geneve"))
+               tunnel_udp.prot_type = RTE_TUNNEL_TYPE_GENEVE;
+
        if (!strcmp(res->what, "add"))
                ret = rte_eth_dev_udp_tunnel_port_add(res->port_id,
                                                      &tunnel_udp);
@@ -8100,10 +8106,13 @@ struct cmd_tunnel_udp_config {
 
 cmdline_parse_token_string_t cmd_tunnel_udp_config_cmd =
        TOKEN_STRING_INITIALIZER(struct cmd_tunnel_udp_config,
-                               cmd, "rx_vxlan_port");
+                               cmd, "rx_tunnel_udp_port");
 cmdline_parse_token_string_t cmd_tunnel_udp_config_what =
        TOKEN_STRING_INITIALIZER(struct cmd_tunnel_udp_config,
                                what, "add#rm");
+cmdline_parse_token_string_t cmd_tunnel_udp_config_tunnel_type =
+       TOKEN_STRING_INITIALIZER(struct cmd_tunnel_udp_config,
+                               tunnel_type, "vxlan#geneve");
 cmdline_parse_token_num_t cmd_tunnel_udp_config_udp_port =
        TOKEN_NUM_INITIALIZER(struct cmd_tunnel_udp_config,
                                udp_port, UINT16);
@@ -8114,11 +8123,12 @@ struct cmd_tunnel_udp_config {
 cmdline_parse_inst_t cmd_tunnel_udp_config = {
        .f = cmd_tunnel_udp_config_parsed,
        .data = (void *)0,
-       .help_str = "rx_vxlan_port add|rm <udp_port> <port_id>: "
+       .help_str = "rx_tunnel_udp_port add|rm vxlan|geneve <udp_port> 
<port_id>: "
                "Add/Remove a tunneling UDP port filter",
        .tokens = {
                (void *)&cmd_tunnel_udp_config_cmd,
                (void *)&cmd_tunnel_udp_config_what,
+               (void *)&cmd_tunnel_udp_config_tunnel_type,
                (void *)&cmd_tunnel_udp_config_udp_port,
                (void *)&cmd_tunnel_udp_config_port_id,
                NULL,
-- 
1.7.10.3

Reply via email to