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 v10 3/7] eal: replace pci-whitelist/pci-blacklist options
Date: Tue, 10 Nov 2020 14:55:40 -0800 [thread overview]
Message-ID: <20201110225544.1876-4-stephen@networkplumber.org> (raw)
In-Reply-To: <20201110225544.1876-1-stephen@networkplumber.org>
Replace -w / --pci-whitelist with -a / --allow options
and --pci-blacklist with --block.
The -b short option remains unchanged.
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 | 66 +++++++++++++---------
lib/librte_eal/common/eal_options.h | 13 ++++-
2 files changed, 49 insertions(+), 30 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..46a1ab8f670d 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -52,7 +52,8 @@
const char
eal_short_options[] =
- "b:" /* pci-blacklist */
+ "a:" /* allow */
+ "b:" /* block */
"c:" /* coremask */
"s:" /* service coremask */
"d:" /* driver */
@@ -63,7 +64,7 @@ eal_short_options[] =
"n:" /* memory channels */
"r:" /* memory ranks */
"v" /* version */
- "w:" /* pci-whitelist */
+ "w:" /* pci-whitelist (deprecated) */
;
const struct option
@@ -89,8 +90,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_BLOCK, 1, NULL, OPT_DEV_BLOCK_NUM },
+ {OPT_DEV_ALLOW, 1, NULL, OPT_DEV_ALLOW_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 },
@@ -105,6 +106,11 @@ eal_long_options[] = {
{OPT_TELEMETRY, 0, NULL, OPT_TELEMETRY_NUM },
{OPT_NO_TELEMETRY, 0, NULL, OPT_NO_TELEMETRY_NUM },
{OPT_FORCE_MAX_SIMD_BITWIDTH, 1, NULL, OPT_FORCE_MAX_SIMD_BITWIDTH_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 }
};
@@ -1448,28 +1454,31 @@ eal_parse_common_option(int opt, const char *optarg,
struct internal_config *conf)
{
static int b_used;
- static int w_used;
+ static int a_used;
switch (opt) {
- /* blacklist */
+ case OPT_PCI_BLACKLIST_NUM:
+ fprintf(stderr,
+ "Option --pci-blacklist is deprecated, use -b, --block instead\n");
+ /* fallthrough */
case 'b':
- if (w_used)
- goto bw_used;
- if (eal_option_device_add(RTE_DEVTYPE_BLACKLISTED_PCI,
- optarg) < 0) {
+ if (a_used)
+ goto ba_conflict;
+ if (eal_option_device_add(RTE_DEVTYPE_BLOCKED, optarg) < 0)
return -1;
- }
b_used = 1;
break;
- /* whitelist */
+
case 'w':
+ fprintf(stderr,
+ "Option -w, --pci-whitelist is deprecated, use -a, --allow option instead\n");
+ /* fallthrough */
+ case 'a':
if (b_used)
- goto bw_used;
- if (eal_option_device_add(RTE_DEVTYPE_WHITELISTED_PCI,
- optarg) < 0) {
+ goto ba_conflict;
+ if (eal_option_device_add(RTE_DEVTYPE_ALLOWED, optarg) < 0)
return -1;
- }
- w_used = 1;
+ a_used = 1;
break;
/* coremask */
case 'c': {
@@ -1760,9 +1769,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");
+
+ba_conflict:
+ RTE_LOG(ERR, EAL,
+ "Options allow (-a) and block (-b) can't be used at the same time\n");
return -1;
}
@@ -1997,14 +2007,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"
+ " -b, --block Add a device to the blocked list.\n"
+ " Prevent EAL from using this device. The argument\n"
+ " format for PCI devices is <domain:bus:devid.func>.\n"
+ " -a, --allow Add a device to the allow 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_ALLOW " cannot be used with "OPT_DEV_BLOCK" 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 aec8a17d722e..d9d26c962590 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,12 @@ enum {
/* long options mapped to a short option */
#define OPT_HELP "help"
OPT_HELP_NUM = 'h',
-#define OPT_PCI_BLACKLIST "pci-blacklist"
- OPT_PCI_BLACKLIST_NUM = 'b',
+#define OPT_DEV_ALLOW "allow"
+ OPT_DEV_ALLOW_NUM = 'a',
+#define OPT_DEV_BLOCK "block"
+ OPT_DEV_BLOCK_NUM = 'b',
+
+ /* legacy option that will be removed in next LTS */
#define OPT_PCI_WHITELIST "pci-whitelist"
OPT_PCI_WHITELIST_NUM = 'w',
@@ -89,6 +93,11 @@ enum {
OPT_NO_TELEMETRY_NUM,
#define OPT_FORCE_MAX_SIMD_BITWIDTH "force-max-simd-bitwidth"
OPT_FORCE_MAX_SIMD_BITWIDTH_NUM,
+
+ /* legacy option that will be removed in next LTS */
+#define OPT_PCI_BLACKLIST "pci-blacklist"
+ OPT_PCI_BLACKLIST_NUM,
+
OPT_LONG_MAX_NUM
};
--
2.27.0
next prev parent reply other threads:[~2020-11-10 22:56 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
2020-09-22 14:31 ` [dpdk-dev] [PATCH 1/8] eal: add macro to mark macros as deprecated Stephen Hemminger
2020-09-23 9:18 ` Burakov, Anatoly
2020-09-23 17:01 ` Stephen Hemminger
2020-09-22 14:31 ` [dpdk-dev] [PATCH 2/8] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-09-22 14:31 ` [dpdk-dev] [PATCH 3/8] drivers: replace references to blacklist Stephen Hemminger
2020-09-22 14:31 ` [dpdk-dev] [PATCH 4/8] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-14 16:07 ` David Marchand
2020-10-20 12:43 ` Thomas Monjalon
2020-10-20 14:56 ` Stephen Hemminger
2020-09-22 14:31 ` [dpdk-dev] [PATCH 5/8] app/test: use new allowlist and blocklist Stephen Hemminger
2020-09-22 14:32 ` [dpdk-dev] [PATCH 6/8] doc: replace references to blacklist/whitelist Stephen Hemminger
2020-09-22 14:32 ` [dpdk-dev] [PATCH 7/8] doc: change reference to allowlist relative to MAC filtering Stephen Hemminger
2020-09-22 14:32 ` [dpdk-dev] [PATCH 8/8] doc: replace -w with -a in the documentation Stephen Hemminger
2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 2/5] drivers: replace references to blacklist Stephen Hemminger
2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 4/5] app/test: use new allowlist and blocklist Stephen Hemminger
2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 2/5] drivers: replace references to blacklist Stephen Hemminger
2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 4/5] app/test: use new allowlist and blocklist Stephen Hemminger
2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
2020-10-22 15:18 ` Wang, Haiyue
2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 2/5] drivers: replace references to blacklist Stephen Hemminger
2020-10-22 20:40 ` [dpdk-dev] [PATCH v4 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-22 20:40 ` [dpdk-dev] [PATCH v4 4/5] app/test: use new allowlist and blocklist Stephen Hemminger
2020-10-22 20:40 ` [dpdk-dev] [PATCH v4 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
2020-10-24 1:01 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
2020-10-24 1:01 ` [dpdk-dev] [PATCH v5 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-10-24 1:01 ` [dpdk-dev] [PATCH v5 2/5] drivers: replace references to blacklist Stephen Hemminger
2020-10-24 1:01 ` [dpdk-dev] [PATCH v5 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-24 16:43 ` Stephen Hemminger
2020-10-24 1:01 ` [dpdk-dev] [PATCH v5 4/5] app/test: use new allowlist and blocklist Stephen Hemminger
2020-10-24 1:01 ` [dpdk-dev] [PATCH v5 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
2020-11-05 8:27 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow David Marchand
2020-11-05 17:02 ` Stephen Hemminger
2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 2/5] drivers: replace references to blacklist Stephen Hemminger
2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 4/5] app/test: use new allowlist and blocklist Stephen Hemminger
2020-10-25 18:47 ` David Marchand
2020-10-25 21:25 ` Stephen Hemminger
2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 2/5] drivers: replace references to blacklist Stephen Hemminger
2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 4/5] doc: change references to blacklist and whitelist Stephen Hemminger
2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 5/5] app/test: use new allowlist and blocklist Stephen Hemminger
2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 2/5] drivers: replace references to blacklist Stephen Hemminger
2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 4/5] doc: change references to blacklist and whitelist Stephen Hemminger
2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 5/5] app/test: use new allowlist and blocklist Stephen Hemminger
2020-10-29 15:31 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-11-09 13:49 ` Bruce Richardson
2020-11-09 15:54 ` Stephen Hemminger
2020-11-09 16:03 ` David Marchand
2020-11-09 16:05 ` Bruce Richardson
2020-11-09 16:07 ` David Marchand
2020-11-09 16:10 ` Bruce Richardson
2020-11-09 16:20 ` Stephen Hemminger
2020-11-09 16:03 ` Bruce Richardson
2020-11-10 12:33 ` Luca Boccassi
2020-11-10 16:40 ` Stephen Hemminger
2020-11-10 16:46 ` Luca Boccassi
2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 2/6] drivers: replace references to blacklist Stephen Hemminger
2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 3/6] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-11-05 22:36 ` [dpdk-dev] [PATCH v9 4/6] app/test: use new allowlist and blocklist Stephen Hemminger
2020-11-05 22:36 ` [dpdk-dev] [PATCH v9 5/6] doc: change references to blacklist and whitelist Stephen Hemminger
2020-11-10 12:59 ` Luca Boccassi
2020-11-10 16:09 ` Bruce Richardson
2020-11-05 22:36 ` [dpdk-dev] [PATCH v9 6/6] doc: update release notes now for block allow changes Stephen Hemminger
2020-11-10 16:10 ` Bruce Richardson
2020-11-10 22:57 ` Stephen Hemminger
2020-11-10 13:56 ` [dpdk-dev] [PATCH v9 0/6] replace blacklist/whitelist with allow/block Luca Boccassi
2020-11-10 16:14 ` Bruce Richardson
2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 1/7] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-11-11 10:43 ` Luca Boccassi
2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 2/7] drivers: replace references to blacklist Stephen Hemminger
2020-11-11 10:45 ` Luca Boccassi
2020-11-10 22:55 ` Stephen Hemminger [this message]
2020-11-11 10:45 ` [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options Luca Boccassi
2020-11-15 18:54 ` Thomas Monjalon
2020-11-15 20:02 ` Thomas Monjalon
2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options Stephen Hemminger
2020-11-11 10:46 ` Luca Boccassi
2020-11-15 19:58 ` Thomas Monjalon
2020-11-15 20:00 ` Thomas Monjalon
2020-11-15 21:38 ` Thomas Monjalon
2020-11-15 21:44 ` Thomas Monjalon
2020-11-15 19:50 ` Thomas Monjalon
2020-11-15 21:56 ` Thomas Monjalon
2020-11-15 21:59 ` Thomas Monjalon
2020-11-15 22:27 ` Thomas Monjalon
2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 5/7] app/test: use new allowlist and blocklist Stephen Hemminger
2020-11-11 10:46 ` Luca Boccassi
2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 6/7] auto test comment fix Stephen Hemminger
2020-11-11 10:47 ` Luca Boccassi
2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 7/7] eal: mark old definitions as deprecated Stephen Hemminger
2020-11-11 10:47 ` Luca Boccassi
2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 0/4] replace blacklist/whitelist with block/allow Thomas Monjalon
2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 1/4] eal: replace usage of blacklist/whitelist in enums Thomas Monjalon
2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 2/4] eal: replace blacklist/whitelist options Thomas Monjalon
2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 3/4] test: rename blacklist/whitelist in autotest scripts Thomas Monjalon
2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 4/4] doc: replace usage of blacklist/whitelist Thomas Monjalon
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=20201110225544.1876-4-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).