[v2,1/2] examples/l2fwd: fix long option parsing
Checks
Commit Message
For l2fwd, --no-mac-updating and --mac-updating are treated as invalid
arguments.Rework long options parsing to let --no-mac-updating and
--mac-updating options work well.
Fixes: fa19eb20d212 ("examples/l2fwd: add forwarding port mapping option")
Cc: stable@dpdk.org
Signed-off-by: SunChengLian <sunchenglian@loongson.cn>
---
examples/l2fwd/main.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
Comments
On Fri, Jun 11, 2021 at 12:05 PM SunChengLian <sunchenglian@loongson.cn> wrote:
>
> For l2fwd, --no-mac-updating and --mac-updating are treated as invalid
> arguments.Rework long options parsing to let --no-mac-updating and
> --mac-updating options work well.
>
> Fixes: fa19eb20d212 ("examples/l2fwd: add forwarding port mapping option")
> Cc: stable@dpdk.org
>
> Signed-off-by: SunChengLian <sunchenglian@loongson.cn>
Reviewed-by: David Marchand <david.marchand@redhat.com>
@@ -434,13 +434,14 @@ enum {
/* 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_MAC_UPDATING_NUM = 256,
+ CMD_LINE_OPT_NO_MAC_UPDATING_NUM,
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_MAC_UPDATING, no_argument, 0, CMD_LINE_OPT_MAC_UPDATING_NUM},
+ { 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}
};
@@ -502,6 +503,14 @@ l2fwd_parse_args(int argc, char **argv)
}
break;
+ case CMD_LINE_OPT_MAC_UPDATING_NUM:
+ mac_updating = 1;
+ break;
+
+ case CMD_LINE_OPT_NO_MAC_UPDATING_NUM:
+ mac_updating = 0;
+ break;
+
default:
l2fwd_usage(prgname);
return -1;