fix ethdev ports enumeration
[dpdk.git] / examples / rxtx_callbacks / main.c
index d2e5e19..46dacc7 100644 (file)
@@ -24,8 +24,6 @@ static const struct rte_eth_conf port_conf_default = {
        },
 };
 
-static unsigned nb_ports;
-
 static struct {
        uint64_t total_cycles;
        uint64_t total_pkts;
@@ -145,7 +143,7 @@ lcore_main(void)
 {
        uint16_t port;
 
-       for (port = 0; port < nb_ports; port++)
+       RTE_ETH_FOREACH_DEV(port)
                if (rte_eth_dev_socket_id(port) > 0 &&
                                rte_eth_dev_socket_id(port) !=
                                                (int)rte_socket_id())
@@ -156,7 +154,7 @@ lcore_main(void)
        printf("\nCore %u forwarding packets. [Ctrl+C to quit]\n",
                        rte_lcore_id());
        for (;;) {
-               for (port = 0; port < nb_ports; port++) {
+               RTE_ETH_FOREACH_DEV(port) {
                        struct rte_mbuf *bufs[BURST_SIZE];
                        const uint16_t nb_rx = rte_eth_rx_burst(port, 0,
                                        bufs, BURST_SIZE);
@@ -179,6 +177,7 @@ int
 main(int argc, char *argv[])
 {
        struct rte_mempool *mbuf_pool;
+       uint16_t nb_ports;
        uint16_t portid;
 
        /* init EAL */
@@ -200,7 +199,7 @@ main(int argc, char *argv[])
                rte_exit(EXIT_FAILURE, "Cannot create mbuf pool\n");
 
        /* initialize all ports */
-       for (portid = 0; portid < nb_ports; portid++)
+       RTE_ETH_FOREACH_DEV(portid)
                if (port_init(portid, mbuf_pool) != 0)
                        rte_exit(EXIT_FAILURE, "Cannot init port %"PRIu8"\n",
                                        portid);