#include <inttypes.h>
#include <sys/types.h>
#include <sys/queue.h>
-#include <netinet/in.h>
#include <setjmp.h>
#include <stdarg.h>
#include <ctype.h>
/* if timer has reached its timeout */
if (unlikely(timer_tsc >= timer_period)) {
- /* do this only on master core */
- if (lcore_id == rte_get_master_lcore()) {
+ /* do this only on main core */
+ if (lcore_id == rte_get_main_lcore()) {
print_stats();
/* reset the timer */
timer_tsc = 0;
" -p PORTMASK: hexadecimal bitmask of ports to configure\n"
" -q NQ: number of queue (=ports) per lcore (default is 1)\n"
" -T PERIOD: statistics will be refreshed each PERIOD seconds (0 to disable, 10 default, 86400 maximum)\n"
- " --[no-]mac-updating: Enable or disable MAC addresses updating (enabled by default)\n"
+ " --no-mac-updating: Disable MAC addresses updating (enabled by default)\n"
" When enabled:\n"
" - The source MAC address is replaced by the TX port MAC address\n"
" - The destination MAC address is replaced by 02:00:00:00:00:TX_PORT_ID\n"
"T:" /* timer period */
;
-#define CMD_LINE_OPT_MAC_UPDATING "mac-updating"
#define CMD_LINE_OPT_NO_MAC_UPDATING "no-mac-updating"
#define CMD_LINE_OPT_PORTMAP_CONFIG "portmap"
/* first long only option value must be >= 256, so that we won't
* conflict with short options */
- CMD_LINE_OPT_MIN_NUM = 256,
+ CMD_LINE_OPT_NO_MAC_UPDATING_NUM = 256,
CMD_LINE_OPT_PORTMAP_NUM,
};
static const struct option lgopts[] = {
- { CMD_LINE_OPT_MAC_UPDATING, no_argument, &mac_updating, 1},
- { CMD_LINE_OPT_NO_MAC_UPDATING, no_argument, &mac_updating, 0},
+ { CMD_LINE_OPT_NO_MAC_UPDATING, no_argument, 0,
+ CMD_LINE_OPT_NO_MAC_UPDATING_NUM},
{ CMD_LINE_OPT_PORTMAP_CONFIG, 1, 0, CMD_LINE_OPT_PORTMAP_NUM},
{NULL, 0, 0, 0}
};
}
break;
+ case CMD_LINE_OPT_NO_MAC_UPDATING_NUM:
+ mac_updating = 0;
+ break;
+
default:
l2fwd_usage(prgname);
return -1;
ret = 0;
/* launch per-lcore init on every lcore */
- rte_eal_mp_remote_launch(l2fwd_launch_one_lcore, NULL, CALL_MASTER);
- RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+ rte_eal_mp_remote_launch(l2fwd_launch_one_lcore, NULL, CALL_MAIN);
+ RTE_LCORE_FOREACH_WORKER(lcore_id) {
if (rte_eal_wait_lcore(lcore_id) < 0) {
ret = -1;
break;
rte_eth_dev_close(portid);
printf(" Done\n");
}
+
+ /* clean up the EAL */
+ rte_eal_cleanup();
printf("Bye...\n");
return ret;