Signed-off-by: Ivan Dyukov <i.dyu...@samsung.com>
---
 app/proc-info/main.c     |  7 ++++++-
 app/test-pipeline/init.c | 14 ++++++++------
 app/test-pmd/config.c    | 10 ++++++----
 app/test-pmd/testpmd.c   |  4 +++-
 app/test/test_pmd_perf.c |  4 +++-
 5 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/app/proc-info/main.c b/app/proc-info/main.c
index b1a025a36..27065a231 100644
--- a/app/proc-info/main.c
+++ b/app/proc-info/main.c
@@ -685,10 +685,15 @@ show_port(void)
                        printf("Link get failed (port %u): %s\n",
                               i, rte_strerror(-ret));
                } else {
-                       printf("\t  -- link speed %u duplex %d,"
+                       printf("\t  -- link speed %u%s duplex %d%s,"
                                        " auto neg %d status %d\n",
                                        link.link_speed,
+                                       (link.link_speed == UINT32_MAX) ?
+                                       ("(UNKNOWN)") : (" Mbps"),
                                        link.link_duplex,
+                                       (link.link_duplex == 
+                                        ETH_LINK_FULL_DUPLEX) ?
+                                       ("(full)") : ("(half)"),
                                        link.link_autoneg,
                                        link.link_status);
                }
diff --git a/app/test-pipeline/init.c b/app/test-pipeline/init.c
index 67d54ae05..09b762a4e 100644
--- a/app/test-pipeline/init.c
+++ b/app/test-pipeline/init.c
@@ -173,12 +173,14 @@ app_ports_check_link(void)
                        all_ports_up = 0;
                        continue;
                }
-
-               RTE_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n",
-                       port,
-                       link.link_speed / 1000,
-                       link.link_status ? "UP" : "DOWN");
-
+               if (link.link_speed == UINT32_MAX)
+                       RTE_LOG(INFO, USER1, "Port %u (UNKNOWN Gbps) %s\n",
+                               port, link.link_status ? "UP" : "DOWN");
+               else
+                       RTE_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n",
+                               port,
+                               link.link_speed / 1000,
+                               link.link_status ? "UP" : "DOWN");
                if (link.link_status == ETH_LINK_DOWN)
                        all_ports_up = 0;
        }
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 661297ddd..96e668ae5 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -577,7 +577,8 @@ port_infos_display(portid_t port_id)
                printf("\nmemory allocation on the socket: %u",port->socket_id);
 
        printf("\nLink status: %s\n", (link.link_status) ? ("up") : ("down"));
-       printf("Link speed: %u Mbps\n", link.link_speed);
+       printf("Link speed: %u%s\n", link.link_speed,
+              (link.link_speed == UINT32_MAX) ? ("(UNKNOWN)") : (" Mbps"));
        printf("Link duplex: %s\n", (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
               ("full-duplex") : ("half-duplex"));
 
@@ -722,12 +723,13 @@ port_summary_display(portid_t port_id)
        if (ret != 0)
                return;
 
-       printf("%-4d %02X:%02X:%02X:%02X:%02X:%02X %-12s %-14s %-8s %uMbps\n",
+       printf("%-4d %02X:%02X:%02X:%02X:%02X:%02X %-12s %-14s %-8s %u%s\n",
                port_id, mac_addr.addr_bytes[0], mac_addr.addr_bytes[1],
                mac_addr.addr_bytes[2], mac_addr.addr_bytes[3],
                mac_addr.addr_bytes[4], mac_addr.addr_bytes[5], name,
                dev_info.driver_name, (link.link_status) ? ("up") : ("down"),
-               link.link_speed);
+               link.link_speed,
+               (link.link_speed == UINT32_MAX) ? ("(UNKNOWN)") : (" Mbps"));
 }
 
 void
@@ -3787,7 +3789,7 @@ set_queue_rate_limit(portid_t port_id, uint16_t 
queue_idx, uint16_t rate)
        ret = eth_link_get_nowait_print_err(port_id, &link);
        if (ret < 0)
                return 1;
-       if (rate > link.link_speed) {
+       if (link.link_speed != UINT32_MAX && rate > link.link_speed) {
                printf("Invalid rate value:%u bigger than link speed: %u\n",
                        rate, link.link_speed);
                return 1;
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index d4df23a93..9b47886f7 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -3002,8 +3002,10 @@ check_all_ports_link_status(uint32_t port_mask)
                        if (print_flag == 1) {
                                if (link.link_status)
                                        printf(
-                                       "Port%d Link Up. speed %u Mbps- %s\n",
+                                       "Port%d Link Up. speed %u%s- %s\n",
                                        portid, link.link_speed,
+                               (link.link_speed == UINT32_MAX) ?
+                                       ("(UNKNOWN)") : (" Mbps"),
                                (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
                                        ("full-duplex") : ("half-duplex"));
                                else
diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index 352cd4715..c8124676d 100644
--- a/app/test/test_pmd_perf.c
+++ b/app/test/test_pmd_perf.c
@@ -148,8 +148,10 @@ check_all_ports_link_status(uint16_t port_num, uint32_t 
port_mask)
                        if (print_flag == 1) {
                                if (link.link_status) {
                                        printf(
-                                       "Port%d Link Up. Speed %u Mbps - %s\n",
+                                       "Port%d Link Up. Speed %u%s - %s\n",
                                                portid, link.link_speed,
+                               (link.link_speed == UINT32_MAX) ?
+                                       ("(UNKNOWN)") : (" Mbps"),
                                (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
                                        ("full-duplex") : ("half-duplex"));
                                        if (link_mbps == 0)
-- 
2.17.1

Reply via email to