X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fpacket_ordering%2Fmain.c;h=4bea1982d580ef46a8a6b97a023fd0106a65e8e1;hb=096b31fc0d8c989cc455c35f4d1def24a4ed6dee;hp=a99961f821d568d766c45f1c0c324ef19556f0a4;hpb=089e5ed727a15da2729cfee9b63533dd120bd04c;p=dpdk.git diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c index a99961f821..4bea1982d5 100644 --- a/examples/packet_ordering/main.c +++ b/examples/packet_ordering/main.c @@ -143,10 +143,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; } @@ -322,7 +319,13 @@ configure_eth_port(uint16_t port_id) if (ret < 0) return ret; - rte_eth_macaddr_get(port_id, &addr); + ret = rte_eth_macaddr_get(port_id, &addr); + if (ret != 0) { + printf("Failed to get MAC address (port %u): %s\n", + port_id, rte_strerror(-ret)); + return ret; + } + printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8 " %02"PRIx8" %02"PRIx8" %02"PRIx8"\n", port_id, @@ -330,7 +333,9 @@ configure_eth_port(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) + return ret; return 0; } @@ -340,10 +345,10 @@ print_stats(void) { uint16_t i; struct rte_eth_stats eth_stats; - unsigned int lcore_id, last_lcore_id, master_lcore_id, end_w_lcore_id; + unsigned int lcore_id, last_lcore_id, main_lcore_id, end_w_lcore_id; last_lcore_id = get_last_lcore_id(); - master_lcore_id = rte_get_master_lcore(); + main_lcore_id = rte_get_main_lcore(); end_w_lcore_id = get_previous_lcore_id(last_lcore_id); printf("\nRX thread stats:\n"); @@ -355,7 +360,7 @@ print_stats(void) for (lcore_id = 0; lcore_id <= end_w_lcore_id; lcore_id++) { if (insight_worker && rte_lcore_is_enabled(lcore_id) - && lcore_id != master_lcore_id) { + && lcore_id != main_lcore_id) { printf("\nWorker thread stats on core [%u]:\n", lcore_id); printf(" - Pkts deqd from workers ring: %"PRIu64"\n", @@ -446,7 +451,7 @@ rx_thread(struct rte_ring *ring_out) /* mark sequence number */ for (i = 0; i < nb_rx_pkts; ) - pkts[i++]->seqn = seqn++; + *rte_reorder_seqn(pkts[i++]) = seqn++; /* enqueue to rx_to_workers ring */ ret = rte_ring_enqueue_burst(ring_out, @@ -653,7 +658,7 @@ main(int argc, char **argv) { int ret; unsigned nb_ports; - unsigned int lcore_id, last_lcore_id, master_lcore_id; + unsigned int lcore_id, last_lcore_id, main_lcore_id; uint16_t port_id; uint16_t nb_ports_available; struct worker_thread_args worker_args = {NULL, NULL}; @@ -667,7 +672,7 @@ main(int argc, char **argv) /* Initialize EAL */ ret = rte_eal_init(argc, argv); if (ret < 0) - return -1; + rte_exit(EXIT_FAILURE, "Invalid EAL arguments\n"); argc -= ret; argv += ret; @@ -675,7 +680,7 @@ main(int argc, char **argv) /* Parse the application specific arguments */ ret = parse_args(argc, argv); if (ret < 0) - return -1; + rte_exit(EXIT_FAILURE, "Invalid packet_ordering arguments\n"); /* Check if we have enought cores */ if (rte_lcore_count() < 3) @@ -740,32 +745,32 @@ main(int argc, char **argv) } last_lcore_id = get_last_lcore_id(); - master_lcore_id = rte_get_master_lcore(); + main_lcore_id = rte_get_main_lcore(); worker_args.ring_in = rx_to_workers; worker_args.ring_out = workers_to_tx; - /* Start worker_thread() on all the available slave cores but the last 1 */ + /* Start worker_thread() on all the available worker cores but the last 1 */ for (lcore_id = 0; lcore_id <= get_previous_lcore_id(last_lcore_id); lcore_id++) - if (rte_lcore_is_enabled(lcore_id) && lcore_id != master_lcore_id) + if (rte_lcore_is_enabled(lcore_id) && lcore_id != main_lcore_id) rte_eal_remote_launch(worker_thread, (void *)&worker_args, lcore_id); if (disable_reorder) { - /* Start tx_thread() on the last slave core */ + /* Start tx_thread() on the last worker core */ rte_eal_remote_launch((lcore_function_t *)tx_thread, workers_to_tx, last_lcore_id); } else { send_args.ring_in = workers_to_tx; - /* Start send_thread() on the last slave core */ + /* Start send_thread() on the last worker core */ rte_eal_remote_launch((lcore_function_t *)send_thread, (void *)&send_args, last_lcore_id); } - /* Start rx_thread() on the master core */ + /* Start rx_thread() on the main core */ rx_thread(rx_to_workers); - RTE_LCORE_FOREACH_SLAVE(lcore_id) { + RTE_LCORE_FOREACH_WORKER(lcore_id) { if (rte_eal_wait_lcore(lcore_id) < 0) return -1; }