User can pass portmask with any value, even invalid mask. The code checks against actual portmask.
Signed-off-by: Vipin Varghese <vipin.vargh...@intel.com> --- examples/l2fwd/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c index 6c07ed4..1c02c1b 100644 --- a/examples/l2fwd/main.c +++ b/examples/l2fwd/main.c @@ -549,6 +549,11 @@ enum { if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); + /* icheck port mask to possible port mask */ + if (l2fwd_enabled_port_mask & ~((1 << nb_ports) - 1)) + rte_exit(EXIT_FAILURE, "Invalid portmask; possible (0x%x)\n", + (1 << nb_ports) - 1); + /* reset l2fwd_dst_ports */ for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) l2fwd_dst_ports[portid] = 0; -- 1.9.1