net/bnxt: refactor init/uninit
[dpdk.git] / app / test-pipeline / init.c
index 871d9fa..fe37d63 100644 (file)
@@ -155,21 +155,29 @@ static void
 app_ports_check_link(void)
 {
        uint32_t all_ports_up, i;
-
+       char link_status_text[RTE_ETH_LINK_MAX_STR_LEN];
        all_ports_up = 1;
 
        for (i = 0; i < app.n_ports; i++) {
                struct rte_eth_link link;
                uint16_t port;
+               int ret;
 
                port = app.ports[i];
                memset(&link, 0, sizeof(link));
-               rte_eth_link_get_nowait(port, &link);
-               RTE_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n",
+               ret = rte_eth_link_get_nowait(port, &link);
+               if (ret < 0) {
+                       RTE_LOG(INFO, USER1,
+                               "Failed to get port %u link status: %s\n",
+                               port, rte_strerror(-ret));
+                       all_ports_up = 0;
+                       continue;
+               }
+               rte_eth_link_to_str(link_status_text, sizeof(link_status_text),
+                                   &link);
+               RTE_LOG(INFO, USER1, "Port %u %s\n",
                        port,
-                       link.link_speed / 1000,
-                       link.link_status ? "UP" : "DOWN");
-
+                       link_status_text);
                if (link.link_status == ETH_LINK_DOWN)
                        all_ports_up = 0;
        }