From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Luca Boccassi <bluca@debian.org>
Subject: [dpdk-dev] [PATCH v5 6/9] eal: replace pci-whitelist/pci-blacklist options
Date: Wed, 15 Jul 2020 16:02:54 -0700 [thread overview]
Message-ID: <20200715230257.30810-7-stephen@networkplumber.org> (raw)
In-Reply-To: <20200715230257.30810-1-stephen@networkplumber.org>
Replace "pci-whitelist" with "include"
and "pci-blacklist" with pci-exclude.
Allow the old options for now, but print a nag
warning since old options are deprecated.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
lib/librte_eal/common/eal_common_options.c | 71 ++++++++++++++--------
lib/librte_eal/common/eal_options.h | 6 ++
2 files changed, 50 insertions(+), 27 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index a5426e12346a..a1590ce799ff 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -51,18 +51,20 @@
const char
eal_short_options[] =
- "b:" /* pci-blacklist */
+ "b:" /* deprecated */
"c:" /* coremask */
"s:" /* service coremask */
"d:" /* driver */
"h" /* help */
+ "i:" /* include */
"l:" /* corelist */
"S:" /* service corelist */
"m:" /* memory size */
"n:" /* memory channels */
"r:" /* memory ranks */
"v" /* version */
- "w:" /* pci-whitelist */
+ "x:" /* exclude */
+ "w:" /* deprecated */
;
const struct option
@@ -87,8 +89,8 @@ eal_long_options[] = {
{OPT_NO_PCI, 0, NULL, OPT_NO_PCI_NUM },
{OPT_NO_SHCONF, 0, NULL, OPT_NO_SHCONF_NUM },
{OPT_IN_MEMORY, 0, NULL, OPT_IN_MEMORY_NUM },
- {OPT_PCI_BLACKLIST, 1, NULL, OPT_PCI_BLACKLIST_NUM },
- {OPT_PCI_WHITELIST, 1, NULL, OPT_PCI_WHITELIST_NUM },
+ {OPT_DEV_EXCLUDE, 1, NULL, OPT_DEV_EXCLUDE_NUM },
+ {OPT_DEV_INCLUDE, 1, NULL, OPT_DEV_INCLUDE_NUM },
{OPT_PROC_TYPE, 1, NULL, OPT_PROC_TYPE_NUM },
{OPT_SOCKET_MEM, 1, NULL, OPT_SOCKET_MEM_NUM },
{OPT_SOCKET_LIMIT, 1, NULL, OPT_SOCKET_LIMIT_NUM },
@@ -102,6 +104,11 @@ eal_long_options[] = {
{OPT_MATCH_ALLOCATIONS, 0, NULL, OPT_MATCH_ALLOCATIONS_NUM},
{OPT_TELEMETRY, 0, NULL, OPT_TELEMETRY_NUM },
{OPT_NO_TELEMETRY, 0, NULL, OPT_NO_TELEMETRY_NUM },
+
+ /* legacy options that will be removed in next LTS */
+ {OPT_PCI_BLACKLIST, 1, NULL, OPT_PCI_BLACKLIST_NUM },
+ {OPT_PCI_WHITELIST, 1, NULL, OPT_PCI_WHITELIST_NUM },
+
{0, 0, NULL, 0 }
};
@@ -1414,29 +1421,38 @@ int
eal_parse_common_option(int opt, const char *optarg,
struct internal_config *conf)
{
- static int b_used;
- static int w_used;
+ static bool x_used, i_used;
switch (opt) {
- /* blacklist */
+ /* deprecated option */
case 'b':
- if (w_used)
- goto bw_used;
- if (eal_option_device_add(RTE_DEVTYPE_BLACKLISTED_PCI,
+ fprintf(stderr,
+ "Option -b, --blacklist is deprecated, use -x, --exclude option instead\n");
+ /* fallthrough */
+ case 'x':
+ /* excluded list */
+ if (i_used)
+ goto include_exclude;
+ if (eal_option_device_add(RTE_DEVTYPE_BLOCKED,
optarg) < 0) {
return -1;
}
- b_used = 1;
+ x_used = true;
break;
- /* whitelist */
+
case 'w':
- if (b_used)
- goto bw_used;
- if (eal_option_device_add(RTE_DEVTYPE_WHITELISTED_PCI,
+ fprintf(stderr,
+ "Option -w, --whitelist is deprecated, use -i, --include option instead\n");
+ /* fallthrough */
+ case 'i':
+ /* include device list */
+ if (x_used)
+ goto include_exclude;
+ if (eal_option_device_add(RTE_DEVTYPE_ALLOWED,
optarg) < 0) {
return -1;
}
- w_used = 1;
+ i_used = true;
break;
/* coremask */
case 'c': {
@@ -1715,9 +1731,10 @@ eal_parse_common_option(int opt, const char *optarg,
}
return 0;
-bw_used:
- RTE_LOG(ERR, EAL, "Options blacklist (-b) and whitelist (-w) "
- "cannot be used at the same time\n");
+
+include_exclude:
+ RTE_LOG(ERR, EAL,
+ "Options include (-i) and exclude (-x) can't be used at the same time\n");
return -1;
}
@@ -1926,14 +1943,14 @@ eal_common_usage(void)
" -n CHANNELS Number of memory channels\n"
" -m MB Memory to allocate (see also --"OPT_SOCKET_MEM")\n"
" -r RANKS Force number of memory ranks (don't detect)\n"
- " -b, --"OPT_PCI_BLACKLIST" Add a PCI device in black list.\n"
- " Prevent EAL from using this PCI device. The argument\n"
- " format is <domain:bus:devid.func>.\n"
- " -w, --"OPT_PCI_WHITELIST" Add a PCI device in white list.\n"
- " Only use the specified PCI devices. The argument format\n"
- " is <[domain:]bus:devid.func>. This option can be present\n"
- " several times (once per device).\n"
- " [NOTE: PCI whitelist cannot be used with -b option]\n"
+ " -x, --"OPT_DEV_EXCLUDE" Add a device to the excluded list.\n"
+ " Prevent EAL from using this device. The argument\n"
+ " format for PCI devices is <domain:bus:devid.func>.\n"
+ " -i, --"OPT_DEV_INCLUDE" Add a device to the included list.\n"
+ " Only use the specified devices. The argument format\n"
+ " for PCI devices is <[domain:]bus:devid.func>.\n"
+ " This option can be present several times.\n"
+ " [NOTE: " OPT_DEV_INCLUDE " cannot be used with "OPT_DEV_EXCLUDE" option]\n"
" --"OPT_VDEV" Add a virtual device.\n"
" The argument format is <driver><id>[,key=val,...]\n"
" (ex: --vdev=net_pcap0,iface=eth2).\n"
diff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h
index 89769d48b487..b8e306f834b7 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,6 +13,12 @@ enum {
/* long options mapped to a short option */
#define OPT_HELP "help"
OPT_HELP_NUM = 'h',
+#define OPT_DEV_INCLUDE "include"
+ OPT_DEV_INCLUDE_NUM = 'i',
+#define OPT_DEV_EXCLUDE "exclude"
+ OPT_DEV_EXCLUDE_NUM = 'x',
+
+ /* legacy options that will be removed in next LTS */
#define OPT_PCI_BLACKLIST "pci-blacklist"
OPT_PCI_BLACKLIST_NUM = 'b',
#define OPT_PCI_WHITELIST "pci-whitelist"
--
2.27.0
next prev parent reply other threads:[~2020-07-15 23:04 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-07 17:01 [dpdk-dev] [PATCH 0/9] Rename blacklist/whitelist to blocklist/allowlist Stephen Hemminger
2020-06-07 17:01 ` [dpdk-dev] [PATCH 1/9] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-06-07 17:01 ` [dpdk-dev] [PATCH 2/9] mk: replace reference to blacklist/whitelist Stephen Hemminger
2020-06-07 17:01 ` [dpdk-dev] [PATCH 3/9] check_maintainers: change variable names Stephen Hemminger
2020-06-07 17:01 ` [dpdk-dev] [PATCH 4/9] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-06-07 22:48 ` Gaëtan Rivet
2020-06-07 17:01 ` [dpdk-dev] [PATCH 5/9] drivers: replace references to blacklist Stephen Hemminger
2020-06-07 17:01 ` [dpdk-dev] [PATCH 6/9] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-06-08 9:30 ` Bruce Richardson
2020-06-07 17:01 ` [dpdk-dev] [PATCH 7/9] doc: replace references to blacklist/whitelist Stephen Hemminger
2020-06-07 17:01 ` [dpdk-dev] [PATCH 8/9] app/test: use new allowlist and blocklist Stephen Hemminger
2020-06-07 17:01 ` [dpdk-dev] [PATCH 9/9] doc: add note about blacklist/whitelist changes Stephen Hemminger
2020-06-08 8:35 ` [dpdk-dev] [PATCH 0/9] Rename blacklist/whitelist to blocklist/allowlist Luca Boccassi
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 00/10] Rename blacklist/whitelist to Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 01/10] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 02/10] mk: replace reference to blacklist/whitelist Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 03/10] check_maintainers: change variable names Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 04/10] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 05/10] drivers: replace references to blacklist Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 06/10] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 07/10] doc: replace references to blacklist/whitelist Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 08/10] app/test: use new allowlist and blocklist Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 09/10] doc: add note about blacklist/whitelist changes Stephen Hemminger
2020-06-08 19:25 ` [dpdk-dev] [PATCH v2 10/10] eal: mark old macros for blacklist/whitelist as deprecated Stephen Hemminger
2020-06-09 9:37 ` [dpdk-dev] [PATCH v2 00/10] Rename blacklist/whitelist to Luca Boccassi
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 0/9] rename blacklist/whitelist to exclude/include Stephen Hemminger
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 1/9] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 2/9] mk: replace reference to blacklist/whitelist Stephen Hemminger
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 3/9] check_maintainers: change variable names Stephen Hemminger
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 4/9] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 5/9] drivers: replace references to blacklist Stephen Hemminger
2020-07-15 23:02 ` Stephen Hemminger [this message]
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 7/9] app/test: use new allowlist and blocklist Stephen Hemminger
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 8/9] eal: mark old macros for blacklist/whitelist as deprecated Stephen Hemminger
2020-07-15 23:02 ` [dpdk-dev] [PATCH v5 9/9] doc: replace references to blacklist/whitelist Stephen Hemminger
2020-07-15 23:49 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200715230257.30810-7-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=bluca@debian.org \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.