app/pipeline: check status of getting link info
authorAndrew Rybchenko <arybchenko@solarflare.com>
Tue, 10 Sep 2019 08:25:49 +0000 (09:25 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 7 Oct 2019 13:00:54 +0000 (15:00 +0200)
The return value of rte_eth_link_get_nowait() was changed from void to int.
Update the usage of the function according to the new return type.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
app/test-pipeline/init.c

index 871d9fa..67d54ae 100644 (file)
@@ -161,10 +161,19 @@ app_ports_check_link(void)
        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);
+               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_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n",
                        port,
                        link.link_speed / 1000,