Rename existing log level option parser and add a little helper tracking all options related to logs. This will make it easier to add more log options in the next commits.
Signed-off-by: David Marchand <david.march...@redhat.com> --- lib/eal/common/eal_common_options.c | 26 ++++++++++++++++++-------- lib/eal/common/eal_options.h | 3 ++- lib/eal/freebsd/eal.c | 8 ++++---- lib/eal/linux/eal.c | 8 ++++---- lib/eal/windows/eal.c | 7 ++++--- 5 files changed, 32 insertions(+), 20 deletions(-) diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c index 17c378f0c7..ab6cf8bebf 100644 --- a/lib/eal/common/eal_common_options.c +++ b/lib/eal/common/eal_common_options.c @@ -1640,9 +1640,20 @@ eal_parse_huge_unlink(const char *arg, struct hugepage_file_discipline *out) return -1; } -/* Parse the arguments for --log-level only */ +bool +eal_option_is_log(int opt) +{ + switch (opt) { + case OPT_LOG_LEVEL_NUM: + return true; + default: + return false; + } +} + +/* Parse all arguments looking for log related ones */ int -eal_log_level_parse(int argc, char * const argv[]) +eal_parse_log_options(int argc, char * const argv[]) { struct internal_config *internal_conf = eal_get_internal_configuration(); int option_index, opt; @@ -1661,12 +1672,11 @@ eal_log_level_parse(int argc, char * const argv[]) while ((opt = getopt_long(argc, argv, eal_short_options, eal_long_options, &option_index)) != EOF) { - switch (opt) { - case OPT_LOG_LEVEL_NUM: - if (eal_parse_common_option(opt, optarg, internal_conf) < 0) - return -1; - break; - } + if (!eal_option_is_log(opt)) + continue; + + if (eal_parse_common_option(opt, optarg, internal_conf) < 0) + return -1; } /* restore getopt lib */ diff --git a/lib/eal/common/eal_options.h b/lib/eal/common/eal_options.h index f3f2e104f6..06ba023c5a 100644 --- a/lib/eal/common/eal_options.h +++ b/lib/eal/common/eal_options.h @@ -96,7 +96,8 @@ enum { extern const char eal_short_options[]; extern const struct option eal_long_options[]; -int eal_log_level_parse(int argc, char * const argv[]); +bool eal_option_is_log(int opt); +int eal_parse_log_options(int argc, char * const argv[]); int eal_parse_common_option(int opt, const char *argv, struct internal_config *conf); int eal_option_device_parse(void); diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c index 89dfc540f2..16b1c67cca 100644 --- a/lib/eal/freebsd/eal.c +++ b/lib/eal/freebsd/eal.c @@ -393,8 +393,8 @@ eal_parse_args(int argc, char **argv) goto out; } - /* eal_log_level_parse() already handled this option */ - if (opt == OPT_LOG_LEVEL_NUM) + /* eal_parse_log_options() already handled this option */ + if (eal_option_is_log(opt)) continue; ret = eal_parse_common_option(opt, optarg, internal_conf); @@ -575,8 +575,8 @@ rte_eal_init(int argc, char **argv) /* clone argv to report out later in telemetry */ eal_save_args(argc, argv); - /* set log level as early as possible */ - eal_log_level_parse(argc, argv); + /* parse log options as early as possible */ + eal_parse_log_options(argc, argv); if (rte_eal_cpu_init() < 0) { rte_eal_init_alert("Cannot detect lcores."); diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c index f82a398d4b..49a88cfbd5 100644 --- a/lib/eal/linux/eal.c +++ b/lib/eal/linux/eal.c @@ -611,8 +611,8 @@ eal_parse_args(int argc, char **argv) goto out; } - /* eal_log_level_parse() already handled this option */ - if (opt == OPT_LOG_LEVEL_NUM) + /* eal_parse_log_options() already handled this option */ + if (eal_option_is_log(opt)) continue; ret = eal_parse_common_option(opt, optarg, internal_conf); @@ -951,8 +951,8 @@ rte_eal_init(int argc, char **argv) eal_reset_internal_config(internal_conf); - /* set log level as early as possible */ - eal_log_level_parse(argc, argv); + /* parse log options as early as possible */ + eal_parse_log_options(argc, argv); /* clone argv to report out later in telemetry */ eal_save_args(argc, argv); diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c index 25e69a429b..f77053eb7e 100644 --- a/lib/eal/windows/eal.c +++ b/lib/eal/windows/eal.c @@ -121,8 +121,8 @@ eal_parse_args(int argc, char **argv) return -1; } - /* eal_log_level_parse() already handled this option */ - if (opt == OPT_LOG_LEVEL_NUM) + /* eal_parse_log_options() already handled this option */ + if (eal_option_is_log(opt)) continue; ret = eal_parse_common_option(opt, optarg, internal_conf); @@ -254,7 +254,8 @@ rte_eal_init(int argc, char **argv) eal_log_init(NULL, 0); - eal_log_level_parse(argc, argv); + /* parse log options as early as possible */ + eal_parse_log_options(argc, argv); if (eal_create_cpu_map() < 0) { rte_eal_init_alert("Cannot discover CPU and NUMA."); -- 2.47.0