app/flow-perf: add memory dump to app
[dpdk.git] / app / test-pmd / cmdline.c
index 96fe7c8..996a498 100644 (file)
@@ -95,7 +95,7 @@ static void cmd_help_brief_parsed(__rte_unused void *parsed_result,
                "    help ports                      : Configuring ports.\n"
                "    help registers                  : Reading and setting port registers.\n"
                "    help filters                    : Filters configuration help.\n"
-               "    help traffic_management         : Traffic Management commmands.\n"
+               "    help traffic_management         : Traffic Management commands.\n"
                "    help devices                    : Device related cmds.\n"
                "    help all                        : All of the above sections.\n\n"
        );
@@ -769,7 +769,7 @@ static void cmd_help_long_parsed(void *parsed_result,
                        "    Detach physical or virtual dev by port_id\n\n"
 
                        "port config (port_id|all)"
-                       " speed (10|100|1000|10000|25000|40000|50000|100000|auto)"
+                       " speed (10|100|1000|10000|25000|40000|50000|100000|200000|auto)"
                        " duplex (half|full|auto)\n"
                        "    Set speed and duplex for all ports or port_id\n\n"
 
@@ -1125,6 +1125,10 @@ static void cmd_help_long_parsed(void *parsed_result,
                        "    Restrict ingress traffic to the defined"
                        " flow rules\n\n"
 
+                       "flow aged {port_id} [destroy]\n"
+                       "    List and destroy aged flows"
+                       " flow rules\n\n"
+
                        "set vxlan ip-version (ipv4|ipv6) vni (vni) udp-src"
                        " (udp-src) udp-dst (udp-dst) ip-src (ip-src) ip-dst"
                        " (ip-dst) eth-src (eth-src) eth-dst (eth-dst)\n"
@@ -1619,6 +1623,8 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
                        *speed = ETH_LINK_SPEED_50G;
                } else if (!strcmp(speedstr, "100000")) {
                        *speed = ETH_LINK_SPEED_100G;
+               } else if (!strcmp(speedstr, "200000")) {
+                       *speed = ETH_LINK_SPEED_200G;
                } else if (!strcmp(speedstr, "auto")) {
                        *speed = ETH_LINK_SPEED_AUTONEG;
                } else {
@@ -1666,7 +1672,7 @@ cmdline_parse_token_string_t cmd_config_speed_all_item1 =
        TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, item1, "speed");
 cmdline_parse_token_string_t cmd_config_speed_all_value1 =
        TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, value1,
-                               "10#100#1000#10000#25000#40000#50000#100000#auto");
+                               "10#100#1000#10000#25000#40000#50000#100000#200000#auto");
 cmdline_parse_token_string_t cmd_config_speed_all_item2 =
        TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, item2, "duplex");
 cmdline_parse_token_string_t cmd_config_speed_all_value2 =
@@ -1677,7 +1683,7 @@ cmdline_parse_inst_t cmd_config_speed_all = {
        .f = cmd_config_speed_all_parsed,
        .data = NULL,
        .help_str = "port config all speed "
-               "10|100|1000|10000|25000|40000|50000|100000|auto duplex "
+               "10|100|1000|10000|25000|40000|50000|100000|200000|auto duplex "
                                                        "half|full|auto",
        .tokens = {
                (void *)&cmd_config_speed_all_port,
@@ -1741,7 +1747,7 @@ cmdline_parse_token_string_t cmd_config_speed_specific_item1 =
                                                                "speed");
 cmdline_parse_token_string_t cmd_config_speed_specific_value1 =
        TOKEN_STRING_INITIALIZER(struct cmd_config_speed_specific, value1,
-                               "10#100#1000#10000#25000#40000#50000#100000#auto");
+                               "10#100#1000#10000#25000#40000#50000#100000#200000#auto");
 cmdline_parse_token_string_t cmd_config_speed_specific_item2 =
        TOKEN_STRING_INITIALIZER(struct cmd_config_speed_specific, item2,
                                                                "duplex");
@@ -1753,7 +1759,7 @@ cmdline_parse_inst_t cmd_config_speed_specific = {
        .f = cmd_config_speed_specific_parsed,
        .data = NULL,
        .help_str = "port config <port_id> speed "
-               "10|100|1000|10000|25000|40000|50000|100000|auto duplex "
+               "10|100|1000|10000|25000|40000|50000|100000|200000|auto duplex "
                                                        "half|full|auto",
        .tokens = {
                (void *)&cmd_config_speed_specific_port,
@@ -1922,18 +1928,13 @@ cmd_config_rx_tx_parsed(void *parsed_result,
                nb_txq = res->value;
        }
        else if (!strcmp(res->name, "rxd")) {
-               if (res->value <= 0 || res->value > RTE_TEST_RX_DESC_MAX) {
-                       printf("rxd %d invalid - must be > 0 && <= %d\n",
-                                       res->value, RTE_TEST_RX_DESC_MAX);
+               if (check_nb_rxd(res->value) != 0)
                        return;
-               }
                nb_rxd = res->value;
        } else if (!strcmp(res->name, "txd")) {
-               if (res->value <= 0 || res->value > RTE_TEST_TX_DESC_MAX) {
-                       printf("txd %d invalid - must be > 0 && <= %d\n",
-                                       res->value, RTE_TEST_TX_DESC_MAX);
+               if (check_nb_txd(res->value) != 0)
                        return;
-               }
+
                nb_txd = res->value;
        } else {
                printf("Unknown parameter\n");
@@ -5155,7 +5156,7 @@ cmd_gso_size_parsed(void *parsed_result,
 
        if (test_done == 0) {
                printf("Before setting GSO segsz, please first"
-                               " stop fowarding\n");
+                               " stop forwarding\n");
                return;
        }
 
@@ -16890,8 +16891,10 @@ cmd_ddp_get_list_parsed(
 #ifdef RTE_LIBRTE_I40E_PMD
        size = PROFILE_INFO_SIZE * MAX_PROFILE_NUM + 4;
        p_list = (struct rte_pmd_i40e_profile_list *)malloc(size);
-       if (!p_list)
+       if (!p_list) {
                printf("%s: Failed to malloc buffer\n", __func__);
+               return;
+       }
 
        if (ret == -ENOTSUP)
                ret = rte_pmd_i40e_get_ddp_list(res->port_id,