From f87471c3f16381a9ff7957387e6a76065781e890 Mon Sep 17 00:00:00 2001 From: Gaetan Rivet Date: Thu, 20 Dec 2018 18:06:44 +0100 Subject: [PATCH] eal: check against common option on register Not only check against other registered options, but also common EAL options. This will mitigate user confusion. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/rte_option.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/librte_eal/common/rte_option.c b/lib/librte_eal/common/rte_option.c index d94363872c..ae8a0e2cab 100644 --- a/lib/librte_eal/common/rte_option.c +++ b/lib/librte_eal/common/rte_option.c @@ -2,6 +2,7 @@ * Copyright(c) 2018 Intel Corporation. */ +#include #include #include @@ -9,6 +10,8 @@ #include #include "eal_private.h" +#include "eal_internal_cfg.h" /* Necessary for eal_options.h */ +#include "eal_options.h" TAILQ_HEAD(rte_option_list, rte_option); @@ -39,6 +42,17 @@ void __rte_experimental rte_option_register(struct rte_option *opt) { struct rte_option *option; + const struct option *gopt; + + gopt = &eal_long_options[0]; + while (gopt->name != NULL) { + if (strcmp(gopt->name, opt->name) == 0) { + RTE_LOG(ERR, EAL, "Option %s is already a common EAL option.\n", + opt->name); + return; + } + gopt++; + } TAILQ_FOREACH(option, &rte_option_list, next) { if (strcmp(opt->name, option->name) == 0) { -- 2.20.1