X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Fpdump%2Fmain.c;h=63bbe65cd8438ece7887498cbcf97284c9fb5767;hb=5516e4760eb48c97bbaba195b18dda2302eeeb4f;hp=c1b901279f4b335efc05ea405e0247c10b7fc23a;hpb=a99a311ba101ea7ebde256732bf65f512882d2b6;p=dpdk.git diff --git a/app/pdump/main.c b/app/pdump/main.c index c1b901279f..63bbe65cd8 100644 --- a/app/pdump/main.c +++ b/app/pdump/main.c @@ -151,7 +151,7 @@ static uint8_t multiple_core_capture; static void pdump_usage(const char *prgname) { - printf("usage: %s [EAL options]" + printf("usage: %s [EAL options] --" " --["CMD_LINE_OPT_MULTI"]\n" " --"CMD_LINE_OPT_PDUMP" " "'(port= | device_id=)," @@ -477,10 +477,10 @@ pdump_rxtx(struct rte_ring *ring, uint16_t vdev_id, struct pdump_stats *stats) stats->tx_pkts += nb_in_txd; if (unlikely(nb_in_txd < nb_in_deq)) { - do { - rte_pktmbuf_free(rxtx_bufs[nb_in_txd]); - stats->freed_pkts++; - } while (++nb_in_txd < nb_in_deq); + unsigned int drops = nb_in_deq - nb_in_txd; + + rte_pktmbuf_free_bulk(&rxtx_bufs[nb_in_txd], drops); + stats->freed_pkts += drops; } } } @@ -595,7 +595,7 @@ configure_vdev(uint16_t port_id) if (ret != 0) rte_exit(EXIT_FAILURE, "dev config failed\n"); - for (q = 0; q < txRings; q++) { + for (q = 0; q < txRings; q++) { ret = rte_eth_tx_queue_setup(port_id, q, TX_DESC_PER_QUEUE, rte_eth_dev_socket_id(port_id), NULL); if (ret < 0) @@ -606,7 +606,10 @@ configure_vdev(uint16_t port_id) if (ret < 0) rte_exit(EXIT_FAILURE, "dev start failed\n"); - rte_eth_macaddr_get(port_id, &addr); + ret = rte_eth_macaddr_get(port_id, &addr); + if (ret != 0) + rte_exit(EXIT_FAILURE, "macaddr get failed\n"); + printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8 " %02"PRIx8" %02"PRIx8" %02"PRIx8"\n", port_id, @@ -614,7 +617,13 @@ configure_vdev(uint16_t port_id) addr.addr_bytes[2], addr.addr_bytes[3], addr.addr_bytes[4], addr.addr_bytes[5]); - rte_eth_promiscuous_enable(port_id); + ret = rte_eth_promiscuous_enable(port_id); + if (ret != 0) { + rte_exit(EXIT_FAILURE, + "promiscuous mode enable failed: %s\n", + rte_strerror(-ret)); + return ret; + } return 0; } @@ -938,7 +947,7 @@ dump_packets(void) rte_exit(EXIT_FAILURE, "failed to wait\n"); } - /* master core */ + /* main core */ while (!quit_signal) ; }