raw/cnxk_bphy: add baseband PHY skeleton driver
[dpdk.git] / examples / distributor / main.c
index 8942f36..1b10296 100644 (file)
@@ -173,12 +173,18 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
                return retval;
 
        struct rte_eth_link link;
-       rte_eth_link_get_nowait(port, &link);
-       while (!link.link_status) {
+       do {
+               retval = rte_eth_link_get_nowait(port, &link);
+               if (retval < 0) {
+                       printf("Failed link get (port %u): %s\n",
+                               port, rte_strerror(-retval));
+                       return retval;
+               } else if (link.link_status)
+                       break;
+
                printf("Waiting for Link up on port %"PRIu16"\n", port);
                sleep(1);
-               rte_eth_link_get_nowait(port, &link);
-       }
+       } while (!link.link_status);
 
        if (!link.link_status) {
                printf("Link down on port %"PRIu16"\n", port);
@@ -186,7 +192,13 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
        }
 
        struct rte_ether_addr addr;
-       rte_eth_macaddr_get(port, &addr);
+       retval = rte_eth_macaddr_get(port, &addr);
+       if (retval < 0) {
+               printf("Failed to get MAC address (port %u): %s\n",
+                               port, rte_strerror(-retval));
+               return retval;
+       }
+
        printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
                        " %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
                        port,
@@ -194,7 +206,9 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
                        addr.addr_bytes[2], addr.addr_bytes[3],
                        addr.addr_bytes[4], addr.addr_bytes[5]);
 
-       rte_eth_promiscuous_enable(port);
+       retval = rte_eth_promiscuous_enable(port);
+       if (retval != 0)
+               return retval;
 
        return 0;
 }
@@ -598,7 +612,7 @@ static int
 init_power_library(void)
 {
        int ret = 0, lcore_id;
-       RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+       RTE_LCORE_FOREACH_WORKER(lcore_id) {
                /* init power management library */
                ret = rte_power_init(lcore_id);
                if (ret) {
@@ -633,10 +647,7 @@ parse_portmask(const char *portmask)
        /* parse hexadecimal string */
        pm = strtoul(portmask, &end, 16);
        if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0'))
-               return -1;
-
-       if (pm == 0)
-               return -1;
+               return 0;
 
        return pm;
 }
@@ -794,7 +805,7 @@ main(int argc, char *argv[])
                 * available, the higher frequency cores will go to the
                 * distributor first, then rx, then tx.
                 */
-               RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+               RTE_LCORE_FOREACH_WORKER(lcore_id) {
 
                        rte_power_get_capabilities(lcore_id, &lcore_cap);
 
@@ -827,7 +838,7 @@ main(int argc, char *argv[])
         * after the high performing core assignment above, pre-assign
         * them here.
         */
-       RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+       RTE_LCORE_FOREACH_WORKER(lcore_id) {
                if (lcore_id == (unsigned int)distr_core_id ||
                                lcore_id == (unsigned int)rx_core_id ||
                                lcore_id == (unsigned int)tx_core_id)
@@ -858,7 +869,7 @@ main(int argc, char *argv[])
         * Kick off all the worker threads first, avoiding the pre-assigned
         * lcore_ids for tx, rx and distributor workloads.
         */
-       RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+       RTE_LCORE_FOREACH_WORKER(lcore_id) {
                if (lcore_id == (unsigned int)distr_core_id ||
                                lcore_id == (unsigned int)rx_core_id ||
                                lcore_id == (unsigned int)tx_core_id)
@@ -911,7 +922,7 @@ main(int argc, char *argv[])
                usleep(1000);
        }
 
-       RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+       RTE_LCORE_FOREACH_WORKER(lcore_id) {
                if (rte_eal_wait_lcore(lcore_id) < 0)
                        return -1;
        }
@@ -921,5 +932,8 @@ main(int argc, char *argv[])
        rte_free(pd);
        rte_free(pr);
 
+       /* clean up the EAL */
+       rte_eal_cleanup();
+
        return 0;
 }