All of lore.kernel.org
 help / color / mirror / Atom feed
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 v4 06/11] eal: replace pci-whitelist/pci-blacklist options
Date: Mon, 13 Jul 2020 22:39:14 -0700	[thread overview]
Message-ID: <20200714053919.5609-7-stephen@networkplumber.org> (raw)
In-Reply-To: <20200714053919.5609-1-stephen@networkplumber.org>

Replace pci-whitelist with pci-include and pci-blacklist with
pci-exclude. Allow the old options for now, but print a nag
warning since old options are deprecated.

The old -b and -w options will be removed in later release.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 lib/librte_eal/common/eal_common_options.c | 59 ++++++++++++++--------
 lib/librte_eal/common/eal_options.h        |  8 ++-
 2 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index a5426e12346a..5b2e85aa5f08 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:" /* pci-include */
 	"l:" /* corelist */
 	"S:" /* service corelist */
 	"m:" /* memory size */
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"x:" /* pci-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_PCI_EXCLUDE, 	1, NULL, OPT_PCI_EXCLUDE_NUM	  },
+	{OPT_PCI_INCLUDE,	1, NULL, OPT_PCI_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,36 @@ 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, --pci-exclude option instead\n");
+		/* fallthrough */
+	case 'x':
+		/* excluded list */
+		if (i_used)
+			goto include_exclude;
+		if (eal_option_device_add(RTE_DEVTYPE_BLOCKED_PCI,
 				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, --pci-include option instead\n");
+		/* fallthrough */
+	case 'i':
+		/* include device list */
+		if (x_used)
+			goto include_exclude;
+		if (eal_option_device_add(RTE_DEVTYPE_ALLOWED_PCI,
 				optarg) < 0) {
 			return -1;
 		}
-		w_used = 1;
+		i_used = true;
 		break;
 	/* coremask */
 	case 'c': {
@@ -1715,9 +1729,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 +1941,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"
+	       "  -x, --"OPT_PCI_EXCLUDE" Add a PCI device in excluded 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"
+	       "  -i, --"OPT_PCI_INCLUDE" Add a PCI device in included 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"
+	       "                      [NOTE: " OPT_PCI_INCLUDE " cannot be used with "OPT_PCI_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..c3c4d874122c 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,11 +13,17 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_PCI_INCLUDE       "pci-include"
+	OPT_PCI_INCLUDE_NUM    = 'i',
+#define OPT_PCI_EXCLUDE       "pci-exclude"
+	OPT_PCI_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"
 	OPT_PCI_WHITELIST_NUM   = 'w',
-
+	
 	/* first long only option value must be >= 256, so that we won't
 	 * conflict with short options */
 	OPT_LONG_MIN_NUM = 256,
-- 
2.26.2


  parent reply	other threads:[~2020-07-14  5:40 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-13  0:00 [dpdk-dev] [PATCH v3 00/10] rename blacklist/whitelist to block/allow Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 01/10] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 02/10] mk: replace reference to blacklist/whitelist Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 03/10] check_maintainers: change variable names Stephen Hemminger
2020-07-10 17:01   ` Thomas Monjalon
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 04/10] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 05/10] drivers: replace references to blacklist Stephen Hemminger
2020-06-15  6:32   ` Hemant Agrawal
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 06/10] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 07/10] doc: replace references to blacklist/whitelist Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 08/10] app/test: use new allowlist and blocklist Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 09/10] doc: add note about blacklist/whitelist changes Stephen Hemminger
2020-06-13  0:00 ` [dpdk-dev] [PATCH v3 10/10] eal: mark old macros for blacklist/whitelist as deprecated Stephen Hemminger
2020-06-17 12:05 ` [dpdk-dev] [PATCH v3 00/10] rename blacklist/whitelist to block/allow Mcnamara, John
2020-07-10 15:06 ` David Marchand
2020-07-14  4:43   ` Stephen Hemminger
2020-07-14  5:33   ` Stephen Hemminger
2020-07-15 10:01     ` [dpdk-dev] [dpdk-techboard] " Thomas Monjalon
2020-09-22 14:28       ` Stephen Hemminger
2020-09-22 16:16         ` Thomas Monjalon
2020-09-22 16:18           ` Thomas Monjalon
2020-09-22 17:12           ` Stephen Hemminger
2020-07-14  5:39 ` [dpdk-dev] [PATCH v4 00/11] rename blacklist/whitelist to exclude/include Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 01/11] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 02/11] mk: replace reference to blacklist/whitelist Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 03/11] check_maintainers: change variable names Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 04/11] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 05/11] drivers: replace references to blacklist Stephen Hemminger
2020-07-14  5:39   ` Stephen Hemminger [this message]
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 07/11] doc: replace references to blacklist/whitelist Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 08/11] app/test: use new allowlist and blocklist Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 09/11] doc: add note about blacklist/whitelist changes Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 10/11] eal: mark old macros for blacklist/whitelist as deprecated Stephen Hemminger
2020-07-14  5:39   ` [dpdk-dev] [PATCH v4 11/11] doc: update examples to new config options Stephen Hemminger
2020-07-14  6:05   ` [dpdk-dev] [PATCH v4 00/11] rename blacklist/whitelist to exclude/include 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=20200714053919.5609-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.