app/testpmd: print fractional part in CPU cycles
[dpdk.git] / app / test-pmd / cmdline.c
index 1375f22..996a498 100644 (file)
@@ -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,
@@ -16885,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,