X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=examples%2Frxtx_callbacks%2Fmain.c;h=a277519f5540594e0c03e93afe4d0b4b43621365;hb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;hp=f2fb4ce44af39b426d118a051a5689d6e12e02e9;hpb=19f366cc059e2db1f70542549733a665977455ea;p=dpdk.git diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c index f2fb4ce44a..a277519f55 100644 --- a/examples/rxtx_callbacks/main.c +++ b/examples/rxtx_callbacks/main.c @@ -10,8 +10,8 @@ #include #include -#define RX_RING_SIZE 128 -#define TX_RING_SIZE 512 +#define RX_RING_SIZE 1024 +#define TX_RING_SIZE 1024 #define NUM_MBUFS 8191 #define MBUF_CACHE_SIZE 250 @@ -20,12 +20,9 @@ static const struct rte_eth_conf port_conf_default = { .rxmode = { .max_rx_pkt_len = ETHER_MAX_LEN, - .ignore_offload_bitfield = 1, }, }; -static unsigned nb_ports; - static struct { uint64_t total_cycles; uint64_t total_pkts; @@ -82,7 +79,7 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool) struct rte_eth_dev_info dev_info; struct rte_eth_txconf txconf; - if (port >= rte_eth_dev_count()) + if (!rte_eth_dev_is_valid_port(port)) return -1; rte_eth_dev_info_get(port, &dev_info); @@ -106,7 +103,6 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool) } txconf = dev_info.default_txconf; - txconf.txq_flags = ETH_TXQ_FLAGS_IGNORE; txconf.offloads = port_conf.txmode.offloads; for (q = 0; q < tx_rings; q++) { retval = rte_eth_tx_queue_setup(port, q, nb_txd, @@ -119,7 +115,7 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool) if (retval < 0) return retval; - struct ether_addr addr; + struct rte_ether_addr addr; rte_eth_macaddr_get(port, &addr); printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8 @@ -145,7 +141,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 +152,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 +175,7 @@ int main(int argc, char *argv[]) { struct rte_mempool *mbuf_pool; + uint16_t nb_ports; uint16_t portid; /* init EAL */ @@ -189,7 +186,7 @@ main(int argc, char *argv[]) argc -= ret; argv += ret; - nb_ports = rte_eth_dev_count(); + nb_ports = rte_eth_dev_count_avail(); if (nb_ports < 2 || (nb_ports & 1)) rte_exit(EXIT_FAILURE, "Error: number of ports must be even\n"); @@ -200,7 +197,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);