DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow
@ 2020-09-22 14:31 Stephen Hemminger
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 1/8] eal: add macro to mark macros as deprecated Stephen Hemminger
                   ` (17 more replies)
  0 siblings, 18 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:31 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This is a revised version of the earlier RFC patch set for changing
the blacklist/whitelist terms in DPDK.

The first patch is a duplicate from the other patch set about
use of master/slave in API.

Stephen Hemminger (8):
  eal: add macro to mark macros as deprecated
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: replace references to blacklist/whitelist
  doc: change reference to allowlist relative to MAC filtering
  doc: replace -w with -a in the documentation

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 52 +++++++-------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 13 ++--
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      | 12 ++--
 doc/guides/nics/fail_safe.rst                 | 24 +++----
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 18 ++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 16 ++---
 doc/guides/nics/mlx5.rst                      | 12 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++---
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       | 10 +--
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  7 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/known_issues.rst         |  4 +-
 doc/guides/rel_notes/release_20_08.rst        |  6 ++
 doc/guides/rel_notes/release_2_1.rst          |  2 +-
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 14 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  6 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                |  8 +--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/fm10k/fm10k_ethdev.c              |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 70 ++++++++++++-------
 lib/librte_eal/common/eal_options.h           |  9 ++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_common.h           | 11 +++
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 62 files changed, 333 insertions(+), 285 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 1/8] eal: add macro to mark macros as deprecated
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-09-22 14:31 ` Stephen Hemminger
  2020-09-23  9:18   ` Burakov, Anatoly
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 2/8] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                   ` (16 subsequent siblings)
  17 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:31 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Add a macro that causes GCC and CLANG to emit a warning when
a deprecated macro is used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_eal/include/rte_common.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/lib/librte_eal/include/rte_common.h b/lib/librte_eal/include/rte_common.h
index 8f487a563dfc..c6714b67b411 100644
--- a/lib/librte_eal/include/rte_common.h
+++ b/lib/librte_eal/include/rte_common.h
@@ -86,6 +86,17 @@ typedef uint16_t unaligned_uint16_t;
 /******* Macro to mark functions and fields scheduled for removal *****/
 #define __rte_deprecated	__attribute__((__deprecated__))
 
+/**
+ *  Macro to mark macros and defines scheduled for removal
+ */
+#if defined(RTE_CC_GCC) || defined(RTE_CC_CLANG)
+#define RTE_PRAGMA(x)  _Pragma(#x)
+#define RTE_PRAGMA_WARNING(w) RTE_PRAGMA(GCC warning #w)
+#define RTE_DEPRECATED(x)  RTE_PRAGMA_WARNING(#x is deprecated)
+#else
+#define RTE_DEPRECATED(x)
+#endif
+
 /**
  * Mark a function or variable to a weak reference.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 2/8] eal: replace usage of blacklist/whitelist in enum
  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-22 14:31 ` Stephen Hemminger
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 3/8] drivers: replace references to blacklist Stephen Hemminger
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:31 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..02abf92c30a6 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatiablity will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..494e70b584f7 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatiablity will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 3/8] drivers: replace references to blacklist
  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-22 14:31 ` [dpdk-dev] [PATCH 2/8] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
@ 2020-09-22 14:31 ` Stephen Hemminger
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 4/8] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:31 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     |  8 ++++----
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/fm10k/fm10k_ethdev.c   |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 8 files changed, 26 insertions(+), 32 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index 32e872da5209..f08c3a6149da 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index 9134ec552761..67412594bf54 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -807,8 +807,8 @@ fslmc_vfio_process_group(void)
 	TAILQ_FOREACH_SAFE(dev, &rte_fslmc_bus.device_list, next, dev_temp) {
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -840,8 +840,8 @@ fslmc_vfio_process_group(void)
 
 	TAILQ_FOREACH_SAFE(dev, &rte_fslmc_bus.device_list, next, dev_temp) {
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 62d45041bbdc..61cf067e2228 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index b574693bca48..389ad5995040 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -3083,7 +3083,7 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 	hw->hw_addr = (void *)pdev->mem_resource[0].addr;
 	if (hw->hw_addr == NULL) {
 		PMD_INIT_LOG(ERR, "Bad mem resource."
-			" Try to blacklist unused devices.");
+			" Try to blocklist unused devices.");
 		return -EIO;
 	}
 
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 4/8] eal: replace pci-whitelist/pci-blacklist options
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (2 preceding siblings ...)
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 3/8] drivers: replace references to blacklist Stephen Hemminger
@ 2020-09-22 14:31 ` Stephen Hemminger
  2020-10-14 16:07   ` David Marchand
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 5/8] app/test: use new allowlist and blocklist Stephen Hemminger
                   ` (13 subsequent siblings)
  17 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:31 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Replace -w / --pci-whitelist with -a / --allow options
and -b / --pci-blacklist with -b / --block.

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 | 70 +++++++++++++---------
 lib/librte_eal/common/eal_options.h        |  9 ++-
 2 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index a5426e12346a..4e54512c874c 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -51,7 +51,8 @@
 
 const char
 eal_short_options[] =
-	"b:" /* pci-blacklist */
+	"a:" /* allow */
+	"b:" /* block */
 	"c:" /* coremask */
 	"s:" /* service coremask */
 	"d:" /* driver */
@@ -62,7 +63,7 @@ eal_short_options[] =
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"w:" /* whitelist (deprecated) */
 	;
 
 const struct option
@@ -87,8 +88,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     },
@@ -102,6 +103,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 +1420,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 +1730,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 +1942,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, --"OPT_DEV_BLOCK" 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"
+	       "  -a, --"OPT_DEV_ALLOW" 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_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 89769d48b487..fc0fe2258a32 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,15 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_DEV_ALLOW	      "allow"
+	OPT_DEV_ALLOW_NUM       = 'a',
+#define OPT_DEV_BLOCK         "block"
+	OPT_DEV_BLOCK_NUM      = 'b',
+
+	/* legacy options that will be removed in next LTS */
 #define OPT_PCI_BLACKLIST     "pci-blacklist"
-	OPT_PCI_BLACKLIST_NUM   = 'b',
+#define OPT_PCI_BLACKLIST_NUM OPT_DEV_BLOCK_NUM
+
 #define OPT_PCI_WHITELIST     "pci-whitelist"
 	OPT_PCI_WHITELIST_NUM   = 'w',
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 5/8] app/test: use new allowlist and blocklist
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (3 preceding siblings ...)
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 4/8] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
@ 2020-09-22 14:31 ` Stephen Hemminger
  2020-09-22 14:32 ` [dpdk-dev] [PATCH 6/8] doc: replace references to blacklist/whitelist Stephen Hemminger
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:31 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 ++++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 52 ++++++++++++++++++-------------------
 4 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index cf7584ccd70a..e34a5b2c57a4 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -11,7 +11,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allowlist|-blocklist]")
 
 if len(sys.argv) < 3:
     usage()
@@ -23,18 +23,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -44,8 +44,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 95e74c760dba..72180a172553 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -193,14 +193,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -274,7 +274,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against  allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -284,10 +284,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index 94d26ab1f67c..13253ccee0bb 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_master_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allowlist_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index b019656b29c3..1d05d6d8df34 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_invalid_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,7 @@ REGISTER_TEST_COMMAND(eal_flags_master_opt_autotest, test_master_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 6/8] doc: replace references to blacklist/whitelist
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (4 preceding siblings ...)
  2020-09-22 14:31 ` [dpdk-dev] [PATCH 5/8] app/test: use new allowlist and blocklist Stephen Hemminger
@ 2020-09-22 14:32 ` Stephen Hemminger
  2020-09-22 14:32 ` [dpdk-dev] [PATCH 7/8] doc: change reference to allowlist relative to MAC filtering Stephen Hemminger
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:32 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

The terms blacklist and whitelist are no longer used.

Most of this was automatic replacement, but in a couple of
places the language was awkward before and have tried to improve
the readabilty.

The blacklist/whitelist changes to API will not be a breaking
change for applications in this release but worth adding a note
to encourage migration.

Update examples to new config options
Replace -w with -i and -b with -x to reflect new usage.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +++---
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +++---
 doc/guides/cryptodevs/qat.rst                 |  6 +++---
 doc/guides/eventdevs/octeontx2.rst            | 20 +++++++++----------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++++++-------
 doc/guides/linux_gsg/linux_drivers.rst        |  4 ++--
 doc/guides/mempool/octeontx2.rst              |  4 ++--
 doc/guides/nics/bnxt.rst                      |  6 +++---
 doc/guides/nics/cxgbe.rst                     |  4 ++--
 doc/guides/nics/dpaa.rst                      |  6 +++---
 doc/guides/nics/dpaa2.rst                     |  6 +++---
 doc/guides/nics/enic.rst                      |  6 +++---
 doc/guides/nics/fail_safe.rst                 | 20 +++++++++----------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/ice.rst                       |  2 +-
 doc/guides/nics/mlx4.rst                      |  6 +++---
 doc/guides/nics/mlx5.rst                      |  2 +-
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       | 10 +++++-----
 .../prog_guide/env_abstraction_layer.rst      |  7 +++----
 doc/guides/prog_guide/multi_proc_support.rst  |  4 ++--
 doc/guides/rel_notes/known_issues.rst         |  4 ++--
 doc/guides/rel_notes/release_20_08.rst        |  6 ++++++
 doc/guides/rel_notes/release_2_1.rst          |  2 +-
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++++++-------
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 +++++------
 doc/guides/sample_app_ug/l3_forward.rst       |  6 +++---
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 30 files changed, 99 insertions(+), 94 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 3053636b8295..b50fee76954a 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index db3c8e918945..38ad45e66d76 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index e5d2cf499764..8a89ef7df456 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the bdf allow to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -264,7 +264,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem CONFIG_RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -302,7 +302,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -i 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 6502f6415fb4..470ea5450432 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -66,7 +66,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -i 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -74,7 +74,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -i 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -89,7 +89,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -i 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -98,7 +98,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -i 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -i 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -118,7 +118,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -i 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -126,7 +126,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -i 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -136,7 +136,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -i 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -146,7 +146,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -i 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -156,7 +156,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -i 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 2882883f95f6..4dde4db84864 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 0fe44579689b..41f399ccd608 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --pci-skip-probe <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-w`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-w, --pci-only-list <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 185074013ae5..65be3652ac48 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -104,11 +104,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        ./x86_64-native-linux-gcc/app/testpmd -l 22-25 -n 4 -w 86:00.0 \
+        ./x86_64-native-linux-gcc/app/testpmd -l 22-25 -n 4 -i 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        ./x86_64-native-linux-gcc/app/testpmd -l 26-29 -n 4 -w 86:02.0 \
+        ./x86_64-native-linux-gcc/app/testpmd -l 26-29 -n 4 -i 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 49b45a04e8ec..507591d809c6 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -50,7 +50,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -i 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -69,7 +69,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -i 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 129a16cfc757..627fe88f455d 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -259,7 +259,7 @@ Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
 The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 .. code-block:: console
 
@@ -270,7 +270,7 @@ Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 54a4c138998c..d04a07ddaf5d 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 17839a920e60..a3715a6e9ea4 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -162,10 +162,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index fdfa6fdd5aea..c8059220fa06 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -527,10 +527,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index a28a7f4e477a..69bcfd5c8576 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -187,14 +187,14 @@ or ``vfio`` in non-IOMMU mode.
 
 In the VM, the kernel enic driver may be automatically bound to the VF during
 boot. Unbinding it currently hangs due to a known issue with the driver. To
-work around the issue, blacklist the enic module as follows.
+work around the issue, blocklist the enic module as follows.
 Please see :ref:`Limitations <enic_limitations>` for limitations in
 the use of SR-IOV.
 
 .. code-block:: console
 
      # cat /etc/modprobe.d/enic.conf
-     blacklist enic
+     blocklist enic
 
      # dracut --force
 
@@ -437,7 +437,7 @@ PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
   - VF devices are not usable directly from the host. They can  only be used
     as assigned devices on VM instances.
   - Currently, unbind of the ENIC kernel mode driver 'enic.ko' on the VM
-    instance may hang. As a workaround, enic.ko should be blacklisted or removed
+    instance may hang. As a workaround, enic.ko should be blocklisted or removed
     from the boot process.
   - pci_generic cannot be used as the uio module in the VM. igb_uio or
     vfio in non-IOMMU mode can be used.
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index b4a92f663b17..1af101157724 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -68,11 +68,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-w``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the blocklist mode,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -123,22 +123,22 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocklisted from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
       $RTE_TARGET/build/app/testpmd -c 0xff -n 4 \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
-         -b 84:00.0 -b 00:04.0 -- -i
+         -x 84:00.0 -x 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocklisted, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
@@ -155,9 +155,9 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
 #. Start testpmd, automatically probing the device 84:00.0 and using it with
    the fail-safe.
- 
+
    .. code-block:: console
- 
+
       $RTE_TARGET/build/app/testpmd -c 0xff -n 4 \
          --vdev 'net_failsafe0,dev(0000:84:00.0),dev(net_ring0)' -- -i
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index edd21c4d8e9d..6aecead6e019 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -247,7 +247,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable allowlist filtering to accept packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 9a9f4a6bb093..865718fb83cd 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -61,7 +61,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 1f1e2f6c7767..dfdccb4aab7c 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -29,8 +29,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot white/blocklist a single port without also
+white/blocklisting the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -422,7 +422,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for allowlisting::
 
       {
           for intf in eth2 eth3 eth4 eth5;
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 211c0c5a6c55..d24f70428e4c 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1526,7 +1526,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for allowlisting::
 
       {
           for intf in eth2 eth3 eth4 eth5;
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index be1c2fe1d67e..55ecd186c44e 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -290,7 +290,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow list option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..b5a0f51988aa 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -183,15 +183,15 @@ following::
 
     sudo ./app/app/x86_64-native-linux-gcc/app/pktgen -l 1-5 -n 4        \
      --proc-type auto --log-level debug --socket-mem 512,512 --file-prefix pg   \
-     --vdev=net_tap0 --vdev=net_tap1 -b 05:00.0 -b 05:00.1                  \
-     -b 04:00.0 -b 04:00.1 -b 04:00.2 -b 04:00.3                            \
-     -b 81:00.0 -b 81:00.1 -b 81:00.2 -b 81:00.3                            \
-     -b 82:00.0 -b 83:00.0 -- -T -P -m [2:3].0 -m [4:5].1                   \
+     --vdev=net_tap0 --vdev=net_tap1 -x 05:00.0 -x 05:00.1                  \
+     -x 04:00.0 -x 04:00.1 -x 04:00.2 -x 04:00.3                            \
+     -x 81:00.0 -x 81:00.1 -x 81:00.2 -x 81:00.3                            \
+     -x 82:00.0 -x 83:00.0 -- -T -P -m [2:3].0 -m [4:5].1                   \
      -f themes/black-yellow.theme
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-x`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index f64ae953d106..5965c15baa43 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,11 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
-so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailale, so they are ignored by the DPDK.
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst
index 5fb7f834f841..4b234c574c55 100644
--- a/doc/guides/rel_notes/known_issues.rst
+++ b/doc/guides/rel_notes/known_issues.rst
@@ -523,8 +523,8 @@ Devices bound to igb_uio with VT-d enabled do not work on Linux kernel 3.15-3.17
       DMAR:[fault reason 02] Present bit in context entry is clear
 
 **Resolution/Workaround**:
-   Use earlier or later kernel versions, or avoid driver binding on boot by blacklisting the driver modules.
-   I.e., in the case of ``ixgbe``, we can pass the kernel command line option: ``modprobe.blacklist=ixgbe``.
+   Use earlier or later kernel versions, or avoid driver binding on boot by blocklisting the driver modules.
+   I.e., in the case of ``ixgbe``, we can pass the kernel command line option: ``modprobe.blocklist=ixgbe``.
    This way we do not need to unbind the device to bind it to igb_uio.
 
 **Affected Environment/Platform**:
diff --git a/doc/guides/rel_notes/release_20_08.rst b/doc/guides/rel_notes/release_20_08.rst
index a19ec6db2be7..1916df2fe1a5 100644
--- a/doc/guides/rel_notes/release_20_08.rst
+++ b/doc/guides/rel_notes/release_20_08.rst
@@ -308,6 +308,12 @@ API Changes
 * vhost: The API of ``rte_vhost_host_notifier_ctrl`` was changed to be per
   queue and not per device, a qid parameter was added to the arguments list.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
+
 
 ABI Changes
 -----------
diff --git a/doc/guides/rel_notes/release_2_1.rst b/doc/guides/rel_notes/release_2_1.rst
index beadc51ba438..6339172c64fa 100644
--- a/doc/guides/rel_notes/release_2_1.rst
+++ b/doc/guides/rel_notes/release_2_1.rst
@@ -472,7 +472,7 @@ Resolved Issues
 
 * **devargs: Fix crash on failure.**
 
-  This problem occurred when passing an invalid PCI id to the blacklist API in
+  This problem occurred when passing an invalid PCI id to the blocklist API in
   devargs.
 
 
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 405e706a46e4..5f7591df43dc 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -79,19 +79,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./build/bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
+    $ ./build/bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
     --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the master and used to print the stats live on screen,
@@ -111,20 +111,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 434f484138d0..db2685660ff7 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -329,15 +329,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./build/ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -935,13 +935,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1029,4 +1029,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 07c8d44936d6..5173da8b108a 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,17 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index a44fbcd52c3a..473326275e49 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that blocklist (or block) packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 7/8] doc: change reference to allowlist relative to MAC filtering
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (5 preceding siblings ...)
  2020-09-22 14:32 ` [dpdk-dev] [PATCH 6/8] doc: replace references to blacklist/whitelist Stephen Hemminger
@ 2020-09-22 14:32 ` Stephen Hemminger
  2020-09-22 14:32 ` [dpdk-dev] [PATCH 8/8] doc: replace -w with -a in the documentation Stephen Hemminger
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:32 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Avoid potential confusion in documentation around allow option
for bus addresses by rewording the text around MAC address filtering.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/nics/bnxt.rst     | 11 ++++-------
 doc/guides/nics/features.rst |  2 +-
 doc/guides/nics/mlx4.rst     |  2 +-
 doc/guides/nics/mlx5.rst     |  2 +-
 4 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 627fe88f455d..1a78b5c74fbd 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-allowlist filtering to accept packets.
+The application adds (or removes) MAC addresses that enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,17 +269,14 @@ allowlist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-allowlist filtering to accept packets.
+Application adds (or removes) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
     testpmd> show port (port_id) mcast_macs
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-allowlist filtering to accept packets.
-
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 6aecead6e019..19b6e7e3312f 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -247,7 +247,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable allowlist filtering to accept packets.
+Supports adding MAC addresses to filter.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index dfdccb4aab7c..13c598ef39b8 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -422,7 +422,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for allowlisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index d24f70428e4c..fc0f3fc57f70 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1526,7 +1526,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for allowlisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH 8/8] doc: replace -w with -a in the documentation
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (6 preceding siblings ...)
  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 ` Stephen Hemminger
  2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-22 14:32 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

The -w option is deprecated and replaced with -a

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/cryptodevs/qat.rst                 |  6 ++---
 doc/guides/nics/bnxt.rst                      |  2 +-
 doc/guides/nics/cxgbe.rst                     |  8 +++----
 doc/guides/nics/enic.rst                      |  6 ++---
 doc/guides/nics/fail_safe.rst                 |  4 ++--
 doc/guides/nics/i40e.rst                      | 16 +++++++-------
 doc/guides/nics/ice.rst                       | 16 +++++++-------
 doc/guides/nics/ixgbe.rst                     |  4 ++--
 doc/guides/nics/mlx4.rst                      | 10 ++++-----
 doc/guides/nics/mlx5.rst                      | 10 ++++-----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++++++++----------
 doc/guides/nics/thunderx.rst                  |  4 ++--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++---
 .../prog_guide/switch_representation.rst      |  6 ++---
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++---
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 22 files changed, 70 insertions(+), 70 deletions(-)

diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index 8a89ef7df456..b32c7a11f771 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -663,7 +663,7 @@ QAT SYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -i <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
@@ -671,7 +671,7 @@ QAT ASYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -i <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
@@ -680,7 +680,7 @@ QAT compression PMD can be tested by running the test application::
     sed -i 's,\(CONFIG_RTE_COMPRESSDEV_TEST\)=n,\1=y,' build/.config
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -i <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 1a78b5c74fbd..cfc00a90247d 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -725,7 +725,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -i DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index d04a07ddaf5d..004e2b9a2533 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -112,7 +112,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   testpmd -i 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ^^^^^^^^^^^^^^^^^^^^^^
@@ -317,7 +317,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88 -- -i
+     testpmd -i 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -344,7 +344,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     testpmd -i 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -776,7 +776,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -i 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index 69bcfd5c8576..a67f169a87a8 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -312,7 +312,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -i 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -378,7 +378,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -i 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -427,7 +427,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -i 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index 1af101157724..3ab77b3c021f 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -144,13 +144,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 
       $RTE_TARGET/build/app/testpmd -c 0xff -n 4 \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
-         -w 81:00.0 -- -i
+         -i 81:00.0 -- -i
 
 #. Start testpmd using a flexible device definition
 
    .. code-block:: console
 
-      $RTE_TARGET/build/app/testpmd -c 0xff -n 4 -w ff:ff.f \
+      $RTE_TARGET/build/app/testpmd -c 0xff -n 4 -i ff:ff.f \
          --vdev='net_failsafe0,exec(echo 84:00.0)' -- -i
 
 #. Start testpmd, automatically probing the device 84:00.0 and using it with
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index b7430f6c4e0a..0944cffad028 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -194,7 +194,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -i aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -207,7 +207,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -i 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -222,7 +222,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -i DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -234,7 +234,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -i 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -244,7 +244,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -i 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -479,7 +479,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -i 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -487,7 +487,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -i 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -813,7 +813,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./l3fwd -l 18-21 -n 4 -i 82:00.0 -w 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 865718fb83cd..93eb2f0c2264 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -50,7 +50,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -i 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -73,7 +73,7 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -i 80:00.0,pipeline-mode-support=1
 
 - ``Flow Mark Support`` (default ``0``)
 
@@ -85,7 +85,7 @@ Runtime Config Options
   2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
   Example::
 
-    -w 80:00.0,flow-mark-support=1
+    -i 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -94,8 +94,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -i 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -i 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -106,14 +106,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    testpmd -i 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    testpmd -i 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -253,7 +253,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      testpmd -l 22-25 -n 4 -i 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..68ce5906adc3 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -i af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -i DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 13c598ef39b8..fc151a07cd90 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -434,10 +434,10 @@ devices managed by librte_pmd_mlx4.
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -i 0000:83:00.0
+      -i 0000:83:00.0
+      -i 0000:84:00.0
+      -i 0000:84:00.0
 
    .. note::
 
@@ -450,7 +450,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -i 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index fc0f3fc57f70..351d6ba1e45f 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1538,10 +1538,10 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -i 0000:05:00.1
+      -i 0000:06:00.0
+      -i 0000:06:00.1
+      -i 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1549,7 +1549,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -i 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index 10f33a025ede..f7495200a131 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -78,7 +78,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    $RTE_TARGET/app/testpmd -i b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index bb591a8b7e65..3d382446d1d1 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -74,7 +74,7 @@ use arm64-octeontx2-linux-gcc as target.
 
    .. code-block:: console
 
-      ./build/app/testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./build/app/testpmd -c 0x300 -i 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -127,7 +127,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -i 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -138,7 +138,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -i 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -150,7 +150,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -i 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -162,7 +162,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -i 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -174,7 +174,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -i 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -196,7 +196,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -i 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -205,7 +205,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -i 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -216,7 +216,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -i 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -224,7 +224,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -i 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -240,7 +240,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -i 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index b1ef9eba59b8..9ec77713db5e 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -178,7 +178,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -i 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -398,7 +398,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -i 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 6fae39f9048a..5957c2032989 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -i DBDF,representor=0
+   -i DBDF,representor=[0,4,6,9]
+   -i DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..165535ede561 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -i pci:dbdf,representor=0
+   -i pci:dbdf,representor=[0-3]
+   -i pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index dc7972aa9a5c..e4c23da9ebcb 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,7 +46,7 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -i FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index db2685660ff7..5cb62a4a33e9 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -131,7 +131,7 @@ The application has a number of command line options::
 
    ./build/ipsec-secgw [EAL options] --
                         -p PORTMASK -P -u PORTMASK -j FRAMESIZE
-                        -l -w REPLAY_WINOW_SIZE -e -a
+                        -l -i REPLAY_WINOW_SIZE -e -a
                         -c SAD_CACHE_SIZE
                         -s NUMBER_OF_MBUFS_IN_PACKET_POOL
                         -f CONFIG_FILE_PATH
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index 0cc6f2e62e75..4ed33c508f04 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,7 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./l3fwd-power -l xxx   -n 4   -i 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index d66a724827af..78dde860626c 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -i 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 28b729dbda8b..334a4f558abd 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -417,7 +417,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -i 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -427,7 +427,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -i 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -437,7 +437,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -i 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index cdedaf9a97d4..c03681525e60 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -61,7 +61,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -i 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..b1a011b121c5 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -i 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH 1/8] eal: add macro to mark macros as deprecated
  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
  0 siblings, 1 reply; 117+ messages in thread
From: Burakov, Anatoly @ 2020-09-23  9:18 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On 22-Sep-20 3:31 PM, Stephen Hemminger wrote:
> Add a macro that causes GCC and CLANG to emit a warning when
> a deprecated macro is used.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>   lib/librte_eal/include/rte_common.h | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 
> diff --git a/lib/librte_eal/include/rte_common.h b/lib/librte_eal/include/rte_common.h
> index 8f487a563dfc..c6714b67b411 100644
> --- a/lib/librte_eal/include/rte_common.h
> +++ b/lib/librte_eal/include/rte_common.h
> @@ -86,6 +86,17 @@ typedef uint16_t unaligned_uint16_t;
>   /******* Macro to mark functions and fields scheduled for removal *****/
>   #define __rte_deprecated	__attribute__((__deprecated__))
>   
> +/**
> + *  Macro to mark macros and defines scheduled for removal
> + */
> +#if defined(RTE_CC_GCC) || defined(RTE_CC_CLANG)
> +#define RTE_PRAGMA(x)  _Pragma(#x)
> +#define RTE_PRAGMA_WARNING(w) RTE_PRAGMA(GCC warning #w)
> +#define RTE_DEPRECATED(x)  RTE_PRAGMA_WARNING(#x is deprecated)
> +#else
> +#define RTE_DEPRECATED(x)
> +#endif
> +
>   /**
>    * Mark a function or variable to a weak reference.
>    */
> 

Don't we already have this in the master/slave lcore patchset?

-- 
Thanks,
Anatoly

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH 1/8] eal: add macro to mark macros as deprecated
  2020-09-23  9:18   ` Burakov, Anatoly
@ 2020-09-23 17:01     ` Stephen Hemminger
  0 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-09-23 17:01 UTC (permalink / raw)
  To: Burakov, Anatoly; +Cc: dev

On Wed, 23 Sep 2020 10:18:21 +0100
"Burakov, Anatoly" <anatoly.burakov@intel.com> wrote:

> On 22-Sep-20 3:31 PM, Stephen Hemminger wrote:
> > Add a macro that causes GCC and CLANG to emit a warning when
> > a deprecated macro is used.
> > 
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > ---
> >   lib/librte_eal/include/rte_common.h | 11 +++++++++++
> >   1 file changed, 11 insertions(+)
> > 
> > diff --git a/lib/librte_eal/include/rte_common.h b/lib/librte_eal/include/rte_common.h
> > index 8f487a563dfc..c6714b67b411 100644
> > --- a/lib/librte_eal/include/rte_common.h
> > +++ b/lib/librte_eal/include/rte_common.h
> > @@ -86,6 +86,17 @@ typedef uint16_t unaligned_uint16_t;
> >   /******* Macro to mark functions and fields scheduled for removal *****/
> >   #define __rte_deprecated	__attribute__((__deprecated__))
> >   
> > +/**
> > + *  Macro to mark macros and defines scheduled for removal
> > + */
> > +#if defined(RTE_CC_GCC) || defined(RTE_CC_CLANG)
> > +#define RTE_PRAGMA(x)  _Pragma(#x)
> > +#define RTE_PRAGMA_WARNING(w) RTE_PRAGMA(GCC warning #w)
> > +#define RTE_DEPRECATED(x)  RTE_PRAGMA_WARNING(#x is deprecated)
> > +#else
> > +#define RTE_DEPRECATED(x)
> > +#endif
> > +
> >   /**
> >    * Mark a function or variable to a weak reference.
> >    */
> >   
> 
> Don't we already have this in the master/slave lcore patchset?
> 

Yes, this intentional (see the cover letter) so that the patch set
can be tested by the CI infrastructure. There is no good way with current
patch flow to mark a set of patches dependent on earlier group.

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH 4/8] eal: replace pci-whitelist/pci-blacklist options
  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
  0 siblings, 1 reply; 117+ messages in thread
From: David Marchand @ 2020-10-14 16:07 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi

On Tue, Sep 22, 2020 at 4:33 PM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> Replace -w / --pci-whitelist with -a / --allow options
> and -b / --pci-blacklist with -b / --block.

Looks like there is a mix or -a/-b and -i/-x from the previous proposal.

This is what causes CI failure as I previously reported:
http://inbox.dpdk.org/dev/CAJFAV8yCWg9YXKBiKsoEq7dHGr3PjbTGzHL_d1j5+Dp9GuXbOw@mail.gmail.com/

I guess the intention of this patch is:

'-b' / '--pci-blacklist' becomes '-b' / '--block' + warning on '--pci-blacklist'
'-w' / '--pci-whitelist' becomes '-a' / '--allow' + warning on 'w' /
'--pci-whitelist'


Comments below.


>
> 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 | 70 +++++++++++++---------
>  lib/librte_eal/common/eal_options.h        |  9 ++-
>  2 files changed, 51 insertions(+), 28 deletions(-)
>
> diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
> index a5426e12346a..4e54512c874c 100644
> --- a/lib/librte_eal/common/eal_common_options.c
> +++ b/lib/librte_eal/common/eal_common_options.c
> @@ -51,7 +51,8 @@
>
>  const char
>  eal_short_options[] =
> -       "b:" /* pci-blacklist */
> +       "a:" /* allow */
> +       "b:" /* block */
>         "c:" /* coremask */
>         "s:" /* service coremask */
>         "d:" /* driver */
> @@ -62,7 +63,7 @@ eal_short_options[] =
>         "n:" /* memory channels */
>         "r:" /* memory ranks */
>         "v"  /* version */
> -       "w:" /* pci-whitelist */
> +       "w:" /* whitelist (deprecated) */
>         ;
>
>  const struct option
> @@ -87,8 +88,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     },
> @@ -102,6 +103,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 +1420,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;

Previously the variables matched the short options.
It should be a_used and b_used.


>
>         switch (opt) {
> -       /* blacklist */
> +       /* deprecated option */
>         case 'b':

Should be
case OPT_PCI_BLACKLIST_NUM:

> -               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");

We keep the -b option as is, don't complain about it.

Plus, the previous option was not --blacklist but --pci-blacklist.
Please use "--"OPT_PCI_BLACKLIST.



> +               /* fallthrough */
> +       case 'x':
> +               /* excluded list */

Should be
case 'b':
         /* block 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");

Plus, the previous option was not --whitelist but --pci-whitelist.
Please use "--"OPT_PCI_WHITELIST.

The new option is '-a' not '-i'.



> +               /* fallthrough */
> +       case 'i':
> +               /* include device list */

Should be
case 'a':
        /* allow list */

etc...


> +               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 +1730,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");

-a / -b


>         return -1;
>  }
>
> @@ -1926,14 +1942,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, --"OPT_DEV_BLOCK" 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"
> +              "  -a, --"OPT_DEV_ALLOW" 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_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 89769d48b487..fc0fe2258a32 100644
> --- a/lib/librte_eal/common/eal_options.h
> +++ b/lib/librte_eal/common/eal_options.h
> @@ -13,8 +13,15 @@ enum {
>         /* long options mapped to a short option */
>  #define OPT_HELP              "help"
>         OPT_HELP_NUM            = 'h',
> +#define OPT_DEV_ALLOW        "allow"
> +       OPT_DEV_ALLOW_NUM       = 'a',
> +#define OPT_DEV_BLOCK         "block"
> +       OPT_DEV_BLOCK_NUM      = 'b',

Fix indent.


> +
> +       /* legacy options that will be removed in next LTS */
>  #define OPT_PCI_BLACKLIST     "pci-blacklist"
> -       OPT_PCI_BLACKLIST_NUM   = 'b',
> +#define OPT_PCI_BLACKLIST_NUM OPT_DEV_BLOCK_NUM

Move OPT_PCI_BLACKLIST_NUM as a long-only option.
This way we can differentiate it from the 'b' short option that has
been preserved.


> +
>  #define OPT_PCI_WHITELIST     "pci-whitelist"
>         OPT_PCI_WHITELIST_NUM   = 'w',
>
> --
> 2.27.0
>


-- 
David Marchand


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH 4/8] eal: replace pci-whitelist/pci-blacklist options
  2020-10-14 16:07   ` David Marchand
@ 2020-10-20 12:43     ` Thomas Monjalon
  2020-10-20 14:56       ` Stephen Hemminger
  0 siblings, 1 reply; 117+ messages in thread
From: Thomas Monjalon @ 2020-10-20 12:43 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, David Marchand

Ping Stephen,

Waiting a new version addressing these comments
before resuming the review.

Thanks


14/10/2020 18:07, David Marchand:
> On Tue, Sep 22, 2020 at 4:33 PM Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> >
> > Replace -w / --pci-whitelist with -a / --allow options
> > and -b / --pci-blacklist with -b / --block.
> 
> Looks like there is a mix or -a/-b and -i/-x from the previous proposal.
> 
> This is what causes CI failure as I previously reported:
> http://inbox.dpdk.org/dev/CAJFAV8yCWg9YXKBiKsoEq7dHGr3PjbTGzHL_d1j5+Dp9GuXbOw@mail.gmail.com/
> 
> I guess the intention of this patch is:
> 
> '-b' / '--pci-blacklist' becomes '-b' / '--block' + warning on '--pci-blacklist'
> '-w' / '--pci-whitelist' becomes '-a' / '--allow' + warning on 'w' /
> '--pci-whitelist'
> 
> 
> Comments below.
> 
> 
> >
> > 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 | 70 +++++++++++++---------
> >  lib/librte_eal/common/eal_options.h        |  9 ++-
> >  2 files changed, 51 insertions(+), 28 deletions(-)
> >
> > diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
> > index a5426e12346a..4e54512c874c 100644
> > --- a/lib/librte_eal/common/eal_common_options.c
> > +++ b/lib/librte_eal/common/eal_common_options.c
> > @@ -51,7 +51,8 @@
> >
> >  const char
> >  eal_short_options[] =
> > -       "b:" /* pci-blacklist */
> > +       "a:" /* allow */
> > +       "b:" /* block */
> >         "c:" /* coremask */
> >         "s:" /* service coremask */
> >         "d:" /* driver */
> > @@ -62,7 +63,7 @@ eal_short_options[] =
> >         "n:" /* memory channels */
> >         "r:" /* memory ranks */
> >         "v"  /* version */
> > -       "w:" /* pci-whitelist */
> > +       "w:" /* whitelist (deprecated) */
> >         ;
> >
> >  const struct option
> > @@ -87,8 +88,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     },
> > @@ -102,6 +103,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 +1420,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;
> 
> Previously the variables matched the short options.
> It should be a_used and b_used.
> 
> 
> >
> >         switch (opt) {
> > -       /* blacklist */
> > +       /* deprecated option */
> >         case 'b':
> 
> Should be
> case OPT_PCI_BLACKLIST_NUM:
> 
> > -               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");
> 
> We keep the -b option as is, don't complain about it.
> 
> Plus, the previous option was not --blacklist but --pci-blacklist.
> Please use "--"OPT_PCI_BLACKLIST.
> 
> 
> 
> > +               /* fallthrough */
> > +       case 'x':
> > +               /* excluded list */
> 
> Should be
> case 'b':
>          /* block 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");
> 
> Plus, the previous option was not --whitelist but --pci-whitelist.
> Please use "--"OPT_PCI_WHITELIST.
> 
> The new option is '-a' not '-i'.
> 
> 
> 
> > +               /* fallthrough */
> > +       case 'i':
> > +               /* include device list */
> 
> Should be
> case 'a':
>         /* allow list */
> 
> etc...
> 
> 
> > +               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 +1730,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");
> 
> -a / -b
> 
> 
> >         return -1;
> >  }
> >
> > @@ -1926,14 +1942,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, --"OPT_DEV_BLOCK" 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"
> > +              "  -a, --"OPT_DEV_ALLOW" 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_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 89769d48b487..fc0fe2258a32 100644
> > --- a/lib/librte_eal/common/eal_options.h
> > +++ b/lib/librte_eal/common/eal_options.h
> > @@ -13,8 +13,15 @@ enum {
> >         /* long options mapped to a short option */
> >  #define OPT_HELP              "help"
> >         OPT_HELP_NUM            = 'h',
> > +#define OPT_DEV_ALLOW        "allow"
> > +       OPT_DEV_ALLOW_NUM       = 'a',
> > +#define OPT_DEV_BLOCK         "block"
> > +       OPT_DEV_BLOCK_NUM      = 'b',
> 
> Fix indent.
> 
> 
> > +
> > +       /* legacy options that will be removed in next LTS */
> >  #define OPT_PCI_BLACKLIST     "pci-blacklist"
> > -       OPT_PCI_BLACKLIST_NUM   = 'b',
> > +#define OPT_PCI_BLACKLIST_NUM OPT_DEV_BLOCK_NUM
> 
> Move OPT_PCI_BLACKLIST_NUM as a long-only option.
> This way we can differentiate it from the 'b' short option that has
> been preserved.
> 
> 
> > +
> >  #define OPT_PCI_WHITELIST     "pci-whitelist"
> >         OPT_PCI_WHITELIST_NUM   = 'w',
> >
> > --
> > 2.27.0
> >
> 
> 
> 






^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH 4/8] eal: replace pci-whitelist/pci-blacklist options
  2020-10-20 12:43     ` Thomas Monjalon
@ 2020-10-20 14:56       ` Stephen Hemminger
  0 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-20 14:56 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Luca Boccassi, David Marchand

On Tue, 20 Oct 2020 14:43:20 +0200
Thomas Monjalon <thomas@monjalon.net> wrote:

> Ping Stephen,
> 
> Waiting a new version addressing these comments
> before resuming the review.
> 
> Thanks
> 

I wanted to get the master/slave set in first.


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v2 0/5] replace blacklist/whitelist with block/allow
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (7 preceding siblings ...)
  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 ` Stephen Hemminger
  2020-10-20 16:20   ` [dpdk-dev] [PATCH v2 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (4 more replies)
  2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (8 subsequent siblings)
  17 siblings, 5 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-20 16:20 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This is a revised version of the earlier RFC patch set for changing
the blacklist/whitelist terms in DPDK.

The first patch is a duplicate from the other patch set about
use of master/slave in API.

v2
  - rebase on main branch
  - fix the handling of -b option.  Keep -b as --block-list but deprecate --pci-blacklist
  - fix documentation (now in 20.11, and options changed)

Stephen Hemminger (5):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: change references to blacklist and whitelist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 52 +++++++-------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 12 ++--
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 16 ++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 16 ++---
 doc/guides/nics/mlx5.rst                      | 12 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++---
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  6 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  6 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                |  8 +--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 72 +++++++++++--------
 lib/librte_eal/common/eal_options.h           |  9 ++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 318 insertions(+), 266 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v2 1/5] eal: replace usage of blacklist/whitelist in enum
  2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-20 16:20   ` Stephen Hemminger
  2020-10-20 16:20   ` [dpdk-dev] [PATCH v2 2/5] drivers: replace references to blacklist Stephen Hemminger
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-20 16:20 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..02abf92c30a6 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatiablity will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v2 2/5] drivers: replace references to blacklist
  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   ` Stephen Hemminger
  2020-10-20 16:20   ` [dpdk-dev] [PATCH v2 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-20 16:20 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     |  8 ++++----
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 25 insertions(+), 31 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index c94c72106f2c..a1f6a60f0760 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..eff344cd5017 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v2 3/5] eal: replace pci-whitelist/pci-blacklist options
  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   ` 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
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-20 16:20 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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 | 70 +++++++++++++---------
 lib/librte_eal/common/eal_options.h        |  9 ++-
 2 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..96ba5fe9f632 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,8 @@ eal_short_options[] =
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"w:" /* whitelist (deprecated) */
+	"B:" /* blacklist (deprecated) */
 	;
 
 const struct option
@@ -89,8 +91,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 +107,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                        }
 };
 
@@ -1447,29 +1454,37 @@ 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 */
+	case 'B':
+		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,
+		/* 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, --pci-whitelist is deprecated, use -a, --allow 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': {
@@ -1760,9 +1775,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;
 }
 
@@ -1997,14 +2013,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, --"OPT_DEV_BLOCK" 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"
+	       "  -a, --"OPT_DEV_ALLOW" 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_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..e621c26098c3 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,15 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_DEV_ALLOW	      "allow"
+	OPT_DEV_ALLOW_NUM       = 'a',
+#define OPT_DEV_BLOCK         "block"
+	OPT_DEV_BLOCK_NUM      = 'b',
+
+	/* legacy options that will be removed in next LTS */
 #define OPT_PCI_BLACKLIST     "pci-blacklist"
-	OPT_PCI_BLACKLIST_NUM   = 'b',
+	OPT_PCI_BLACKLIST_NUM  = 'B',
+
 #define OPT_PCI_WHITELIST     "pci-whitelist"
 	OPT_PCI_WHITELIST_NUM   = 'w',
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v2 4/5] app/test: use new allowlist and blocklist
  2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (2 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-10-20 16:20   ` [dpdk-dev] [PATCH v2 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-20 16:20 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py                       | 16 +++----
 app/test/autotest_runner.py                | 18 ++++----
 app/test/test.c                            |  2 +-
 app/test/test_eal_flags.c                  | 52 +++++++++++-----------
 lib/librte_eal/common/eal_common_options.c |  4 +-
 5 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..988d054ba6c8 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allowlist|-blocklist]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..9fb94ae27352 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against  allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..d78eb04a25e4 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allowlist_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..3d3032bb4577 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_invalid_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,7 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 96ba5fe9f632..879a384fb7c1 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -90,8 +90,8 @@ eal_long_options[] = {
 	{OPT_NO_HUGE,           0, NULL, OPT_NO_HUGE_NUM          },
 	{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_DEV_BLOCK, 	1, NULL, OPT_DEV_BLOCK_NUM	  },
+	{OPT_IN_MEMORY,		0, NULL, OPT_IN_MEMORY_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       },
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v2 5/5] doc: change references to blacklist and whitelist
  2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (3 preceding siblings ...)
  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   ` Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-20 16:20 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>

doc: replace -w with -a in the documentation

The -w option is deprecated and replaced with -a

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 12 ++++----
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 16 +++++------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 16 +++++------
 doc/guides/nics/mlx5.rst                      | 12 ++++----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  6 ++--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  6 ++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 166 insertions(+), 149 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 3053636b8295..b50fee76954a 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index db3c8e918945..38ad45e66d76 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index a0becf689109..d41ee82aff52 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -264,7 +264,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem CONFIG_RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -302,7 +302,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -662,7 +662,7 @@ QAT SYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
@@ -670,7 +670,7 @@ QAT ASYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
@@ -679,7 +679,7 @@ QAT compression PMD can be tested by running the test application::
     sed -i 's,\(CONFIG_RTE_COMPRESSDEV_TEST\)=n,\1=y,' build/.config
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 6502f6415fb4..1c671518a4db 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -66,7 +66,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -74,7 +74,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -89,7 +89,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -98,7 +98,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -118,7 +118,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -126,7 +126,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -136,7 +136,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -146,7 +146,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -156,7 +156,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 49b45a04e8ec..efaef85f90fc 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -50,7 +50,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -69,7 +69,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 28973fc3e2e9..82cabab6885d 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -728,7 +728,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 54a4c138998c..ee91c85ebfee 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -112,7 +112,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ^^^^^^^^^^^^^^^^^^^^^^
@@ -317,7 +317,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88 -- -i
+     testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -344,7 +344,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -776,7 +776,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 74d4a6058ef0..eb9defca0f09 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index ca6ba5b5e291..693be5ce8707 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -527,10 +527,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index a28a7f4e477a..fa8459435730 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -312,7 +312,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -378,7 +378,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -427,7 +427,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index f80346a35898..25525ef19aad 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -60,7 +60,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -68,11 +68,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -123,8 +123,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -132,13 +132,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 16e00b8f64b5..14b8d0f33fae 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index a0b81e66950f..0eb1d7c1af2f 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -194,7 +194,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -207,7 +207,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -222,7 +222,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -234,7 +234,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -244,7 +244,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -479,7 +479,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -487,7 +487,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -822,7 +822,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./l3fwd -l 18-21 -n 4 -a 82:00.0 -w 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 25a821177a4c..bb76d62a0139 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -47,7 +47,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -58,7 +58,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -70,7 +70,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -79,8 +91,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -91,14 +103,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -250,7 +262,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 6818b6af515e..67e3964b2b3b 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -29,8 +29,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -422,7 +422,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -434,10 +434,10 @@ devices managed by librte_pmd_mlx4.
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -450,7 +450,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index a071db276fe4..b44490cfe5e4 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1537,7 +1537,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1549,10 +1549,10 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -i 0000:05:00.1
+      -i 0000:06:00.0
+      -i 0000:06:00.1
+      -i 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1560,7 +1560,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -i 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index 10f33a025ede..7766a76d7a6d 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -78,7 +78,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    $RTE_TARGET/app/testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index f3be79bbb8a3..9862a1d4508c 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -74,7 +74,7 @@ use arm64-octeontx2-linux-gcc as target.
 
    .. code-block:: console
 
-      ./build/app/testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./build/app/testpmd -c 0x300 -a 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -127,7 +127,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -138,7 +138,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -150,7 +150,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -162,7 +162,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -174,7 +174,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -196,7 +196,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -205,7 +205,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -216,7 +216,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -224,7 +224,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -240,7 +240,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index 959b52c1c333..64322442a003 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -295,7 +295,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index b1ef9eba59b8..db64503a9ab8 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -178,7 +178,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -398,7 +398,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..9af4d6192fd4 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 0d45b500325f..28ab5a03be8c 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -539,6 +539,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 54ff6574aed8..f0947a7544e4 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -79,19 +79,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./build/bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
+    $ ./build/bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
     --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -111,20 +111,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index dc7972aa9a5c..e4c23da9ebcb 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,7 +46,7 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -i FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 434f484138d0..db2685660ff7 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -329,15 +329,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./build/ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -935,13 +935,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1029,4 +1029,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 07c8d44936d6..5173da8b108a 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,17 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index c2d4ca73abde..1e580ff86cf4 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index f05816d9b24e..bc162a0118ac 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,7 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./l3fwd-power -l xxx   -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index d66a724827af..60a7eb227db2 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -i 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 28b729dbda8b..72707e9a4a9d 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -417,7 +417,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -427,7 +427,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -437,7 +437,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 7e5dc0c54b1a..4771e8ecf04d 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -59,7 +59,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v3 0/5] replace blacklist/whitelist with block/allow
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (8 preceding siblings ...)
  2020-10-20 16:20 ` [dpdk-dev] [PATCH v2 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-22 14:39 ` Stephen Hemminger
  2020-10-22 14:39   ` [dpdk-dev] [PATCH v3 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (4 more replies)
  2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (7 subsequent siblings)
  17 siblings, 5 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 14:39 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This is a revised version of the earlier RFC patch set for changing
the blacklist/whitelist terms in DPDK.

The first patch is a duplicate from the other patch set about
use of master/slave in API.

v3
   - rebase on main
   - fix new use of RTE_DEV_BLACKLISTED in fslmc
   - minor checkpatch reported whitespace stuff

Stephen Hemminger (8):
  eal: add macro to mark macros as deprecated
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: replace references to blacklist/whitelist
  doc: change reference to allowlist relative to MAC filtering
  doc: replace -w with -a in the documentation

Stephen Hemminger (5):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: change references to blacklist and whitelist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 52 +++++++-------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 12 ++--
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 16 ++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 16 ++---
 doc/guides/nics/mlx5.rst                      | 12 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++---
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  6 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  6 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 70 ++++++++++++-------
 lib/librte_eal/common/eal_options.h           |  9 ++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 319 insertions(+), 267 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v3 1/5] eal: replace usage of blacklist/whitelist in enum
  2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-22 14:39   ` Stephen Hemminger
  2020-10-22 14:39   ` [dpdk-dev] [PATCH v3 2/5] drivers: replace references to blacklist Stephen Hemminger
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 14:39 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v3 2/5] drivers: replace references to blacklist
  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   ` Stephen Hemminger
  2020-10-22 14:39   ` [dpdk-dev] [PATCH v3 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 14:39 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal, Sachin Saxena,
	Stephen Hemminger, Long Li, Jay Zhou, Maxime Coquelin,
	Chenbo Xia

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index c94c72106f2c..a1f6a60f0760 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..ebcc8e1edae7 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v3 3/5] eal: replace pci-whitelist/pci-blacklist options
  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   ` 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
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 14:39 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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 | 70 +++++++++++++---------
 lib/librte_eal/common/eal_options.h        |  9 ++-
 2 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..0518430b44bc 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,8 @@ eal_short_options[] =
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"w:" /* whitelist (deprecated) */
+	"B:" /* blacklist (deprecated) */
 	;
 
 const struct option
@@ -89,8 +91,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 +107,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                        }
 };
 
@@ -1447,29 +1454,37 @@ 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 */
+	case 'B':
+		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,
+		/* 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, --pci-whitelist is deprecated, use -a, --allow 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': {
@@ -1760,9 +1775,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;
 }
 
@@ -1997,14 +2013,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, --"OPT_DEV_BLOCK" 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"
+	       "  -a, --"OPT_DEV_ALLOW" 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_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..e621c26098c3 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,15 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_DEV_ALLOW	      "allow"
+	OPT_DEV_ALLOW_NUM       = 'a',
+#define OPT_DEV_BLOCK         "block"
+	OPT_DEV_BLOCK_NUM      = 'b',
+
+	/* legacy options that will be removed in next LTS */
 #define OPT_PCI_BLACKLIST     "pci-blacklist"
-	OPT_PCI_BLACKLIST_NUM   = 'b',
+	OPT_PCI_BLACKLIST_NUM  = 'B',
+
 #define OPT_PCI_WHITELIST     "pci-whitelist"
 	OPT_PCI_WHITELIST_NUM   = 'w',
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v3 4/5] app/test: use new allowlist and blocklist
  2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (2 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-10-22 14:39   ` [dpdk-dev] [PATCH v3 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 14:39 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 ++++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 52 ++++++++++++++++++-------------------
 4 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..988d054ba6c8 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allowlist|-blocklist]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..9fb94ae27352 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against  allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..d78eb04a25e4 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allowlist_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..3d3032bb4577 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_invalid_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,7 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v3 5/5] doc: change references to blacklist and whitelist
  2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (3 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-10-22 15:18     ` Wang, Haiyue
  4 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 14:39 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Luca Boccassi, Akhil Goyal, Hemant Agrawal,
	John Griffin, Fiona Trahe, Deepak Kumar Jain, Pavan Nikhilesh,
	Jerin Jacob, Bruce Richardson, Nithin Dabilpuram, Ajit Khaparde,
	Somnath Kotur, Rahul Lakkireddy, Sachin Saxena, John Daley,
	Hyong Youb Kim, Gaetan Rivet, Beilei Xing, Jeff Guo, Qiming Yang,
	Qi Zhang, Haiyue Wang, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Martin Spinler, Kiran Kumar K,
	Andrew Rybchenko, Keith Wiles, Maciej Czekaj, Anatoly Burakov,
	Thomas Monjalon, Ferruh Yigit, Nicolas Chautru, Harry van Haaren,
	Radu Nicolau, Konstantin Ananyev, David Hunt, Maxime Coquelin,
	Chenbo Xia, Declan Doherty, Wisam Jaddo

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 12 ++++----
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 16 +++++------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 16 +++++------
 doc/guides/nics/mlx5.rst                      | 12 ++++----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  6 ++--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  6 ++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 166 insertions(+), 149 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 3053636b8295..b50fee76954a 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index db3c8e918945..38ad45e66d76 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index a0becf689109..d41ee82aff52 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -264,7 +264,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem CONFIG_RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -302,7 +302,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -662,7 +662,7 @@ QAT SYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
@@ -670,7 +670,7 @@ QAT ASYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
@@ -679,7 +679,7 @@ QAT compression PMD can be tested by running the test application::
     sed -i 's,\(CONFIG_RTE_COMPRESSDEV_TEST\)=n,\1=y,' build/.config
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 6502f6415fb4..1c671518a4db 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -66,7 +66,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -74,7 +74,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -89,7 +89,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -98,7 +98,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -118,7 +118,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -126,7 +126,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -136,7 +136,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -146,7 +146,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -156,7 +156,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 49b45a04e8ec..efaef85f90fc 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -50,7 +50,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -69,7 +69,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 28973fc3e2e9..82cabab6885d 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -728,7 +728,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 54a4c138998c..ee91c85ebfee 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -112,7 +112,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ^^^^^^^^^^^^^^^^^^^^^^
@@ -317,7 +317,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88 -- -i
+     testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -344,7 +344,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -776,7 +776,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 74d4a6058ef0..eb9defca0f09 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index ca6ba5b5e291..693be5ce8707 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -527,10 +527,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index a28a7f4e477a..fa8459435730 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -312,7 +312,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -378,7 +378,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -427,7 +427,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index f80346a35898..25525ef19aad 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -60,7 +60,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -68,11 +68,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -123,8 +123,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -132,13 +132,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 16e00b8f64b5..14b8d0f33fae 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index a0b81e66950f..0eb1d7c1af2f 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -194,7 +194,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -207,7 +207,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -222,7 +222,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -234,7 +234,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -244,7 +244,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -479,7 +479,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -487,7 +487,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -822,7 +822,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./l3fwd -l 18-21 -n 4 -a 82:00.0 -w 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 25a821177a4c..bb76d62a0139 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -47,7 +47,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -58,7 +58,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -70,7 +70,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -79,8 +91,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -91,14 +103,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -250,7 +262,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 6818b6af515e..67e3964b2b3b 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -29,8 +29,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -422,7 +422,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -434,10 +434,10 @@ devices managed by librte_pmd_mlx4.
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -450,7 +450,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index a071db276fe4..b44490cfe5e4 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1537,7 +1537,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1549,10 +1549,10 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -i 0000:05:00.1
+      -i 0000:06:00.0
+      -i 0000:06:00.1
+      -i 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1560,7 +1560,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -i 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index 10f33a025ede..7766a76d7a6d 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -78,7 +78,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    $RTE_TARGET/app/testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index f3be79bbb8a3..9862a1d4508c 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -74,7 +74,7 @@ use arm64-octeontx2-linux-gcc as target.
 
    .. code-block:: console
 
-      ./build/app/testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./build/app/testpmd -c 0x300 -a 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -127,7 +127,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -138,7 +138,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -150,7 +150,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -162,7 +162,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -174,7 +174,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -196,7 +196,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -205,7 +205,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -216,7 +216,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -224,7 +224,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -240,7 +240,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index 959b52c1c333..64322442a003 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -295,7 +295,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index b1ef9eba59b8..db64503a9ab8 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -178,7 +178,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -398,7 +398,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..9af4d6192fd4 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 0d45b500325f..28ab5a03be8c 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -539,6 +539,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 54ff6574aed8..f0947a7544e4 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -79,19 +79,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./build/bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
+    $ ./build/bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
     --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -111,20 +111,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index dc7972aa9a5c..e4c23da9ebcb 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,7 +46,7 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -i FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 434f484138d0..db2685660ff7 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -329,15 +329,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./build/ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -935,13 +935,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1029,4 +1029,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 07c8d44936d6..5173da8b108a 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,17 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index c2d4ca73abde..1e580ff86cf4 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index f05816d9b24e..bc162a0118ac 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,7 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./l3fwd-power -l xxx   -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index d66a724827af..60a7eb227db2 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -i 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 28b729dbda8b..72707e9a4a9d 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -417,7 +417,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -427,7 +427,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -437,7 +437,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 7e5dc0c54b1a..4771e8ecf04d 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -59,7 +59,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v3 5/5] doc: change references to blacklist and whitelist
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Wang, Haiyue @ 2020-10-22 15:18 UTC (permalink / raw)
  To: Stephen Hemminger, dev
  Cc: Luca Boccassi, Akhil Goyal, Hemant Agrawal, Griffin, John, Trahe,
	Fiona, Jain, Deepak K, Pavan Nikhilesh, Jerin Jacob, Richardson,
	Bruce, Nithin Dabilpuram, Ajit Khaparde, Somnath Kotur,
	Rahul Lakkireddy, Sachin Saxena, John Daley, Hyong Youb Kim,
	Gaetan Rivet, Xing, Beilei, Guo, Jia, Yang, Qiming, Zhang, Qi Z,
	Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko, Martin Spinler,
	Kiran Kumar K, Andrew Rybchenko, Wiles, Keith, Maciej Czekaj,
	Burakov, Anatoly, Thomas Monjalon, Yigit, Ferruh, Chautru,
	Nicolas, Van Haaren, Harry, Nicolau, Radu, Ananyev, Konstantin,
	Hunt, David, Maxime Coquelin, Xia, Chenbo, Doherty, Declan,
	Wisam Jaddo

> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Thursday, October 22, 2020 22:39
> To: dev@dpdk.org
> Cc: Stephen Hemminger <stephen@networkplumber.org>; Luca Boccassi <bluca@debian.org>; Akhil Goyal
> <akhil.goyal@nxp.com>; Hemant Agrawal <hemant.agrawal@nxp.com>; Griffin, John <john.griffin@intel.com>;
> Trahe, Fiona <fiona.trahe@intel.com>; Jain, Deepak K <deepak.k.jain@intel.com>; Pavan Nikhilesh
> <pbhagavatula@marvell.com>; Jerin Jacob <jerinj@marvell.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; Nithin Dabilpuram <ndabilpuram@marvell.com>; Ajit Khaparde
> <ajit.khaparde@broadcom.com>; Somnath Kotur <somnath.kotur@broadcom.com>; Rahul Lakkireddy
> <rahul.lakkireddy@chelsio.com>; Sachin Saxena <sachin.saxena@oss.nxp.com>; John Daley
> <johndale@cisco.com>; Hyong Youb Kim <hyonkim@cisco.com>; Gaetan Rivet <grive@u256.net>; Xing, Beilei
> <beilei.xing@intel.com>; Guo, Jia <jia.guo@intel.com>; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi
> Z <qi.z.zhang@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Matan Azrad <matan@nvidia.com>; Shahaf
> Shuler <shahafs@nvidia.com>; Viacheslav Ovsiienko <viacheslavo@nvidia.com>; Martin Spinler
> <spinler@cesnet.cz>; Kiran Kumar K <kirankumark@marvell.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>; Wiles, Keith <keith.wiles@intel.com>; Maciej Czekaj
> <mczekaj@marvell.com>; Burakov, Anatoly <anatoly.burakov@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Chautru, Nicolas
> <nicolas.chautru@intel.com>; Van Haaren, Harry <harry.van.haaren@intel.com>; Nicolau, Radu
> <radu.nicolau@intel.com>; Ananyev, Konstantin <konstantin.ananyev@intel.com>; Hunt, David
> <david.hunt@intel.com>; Maxime Coquelin <maxime.coquelin@redhat.com>; Xia, Chenbo
> <chenbo.xia@intel.com>; Doherty, Declan <declan.doherty@intel.com>; Wisam Jaddo <wisamm@nvidia.com>
> Subject: [PATCH v3 5/5] doc: change references to blacklist and whitelist
> 
> There are two areas where documentation needed update.
> The first was use of whitelist when describing address
> filtering.
> 
> The other is the legacy -w whitelist option for PCI
> which is used in many examples
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> ---


> 
> diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
> index a071db276fe4..b44490cfe5e4 100644
> --- a/doc/guides/nics/mlx5.rst
> +++ b/doc/guides/nics/mlx5.rst
> @@ -1537,7 +1537,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
>        eth32
>        eth33
> 
> -#. Optionally, retrieve their PCI bus addresses for whitelisting::
> +#. Optionally, retrieve their PCI bus addresses for use in allow list::
> 
>        {
>            for intf in eth2 eth3 eth4 eth5;
> @@ -1549,10 +1549,10 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
> 
>     Example output::
> 
> -      -w 0000:05:00.1
> -      -w 0000:06:00.0
> -      -w 0000:06:00.1
> -      -w 0000:05:00.0
> +      -i 0000:05:00.1
> +      -i 0000:06:00.0
> +      -i 0000:06:00.1
> +      -i 0000:05:00.0

         ^
         | -a ?

> 
>  #. Request huge pages::
> 
> @@ -1560,7 +1560,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
> 
>  #. Start testpmd with basic parameters::
> 
> -      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
> +      testpmd -l 8-15 -n 4 -i 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
                               ^
                               | -a ?
> 


> diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst
> b/doc/guides/sample_app_ug/eventdev_pipeline.rst
> index dc7972aa9a5c..e4c23da9ebcb 100644
> --- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
> +++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
> @@ -46,7 +46,7 @@ these settings is shown below:
> 
>  .. code-block:: console
> 
> -    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
> +    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -i FF00 -s4 -n0 -c32 -W1000 -D
                                                                  ^
                                                                  |
                           This is app argument:   "-w, --worker-mask=core mask  Run worker on CPUs in core mask\n"

> 


> 
> diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
> index d66a724827af..60a7eb227db2 100644
> --- a/doc/guides/sample_app_ug/vdpa.rst
> +++ b/doc/guides/sample_app_ug/vdpa.rst
> @@ -52,7 +52,7 @@ Take IFCVF driver for example:
>  .. code-block:: console
> 
>          ./vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
> -                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
> +                -i 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \

                    ^
                    | -a ?

>                  -- --interactive
> 


> --
> 2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v4 0/5] replace blacklist/whitelist with block/allow
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (9 preceding siblings ...)
  2020-10-22 14:39 ` [dpdk-dev] [PATCH v3 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-22 20:39 ` Stephen Hemminger
  2020-10-22 20:39   ` [dpdk-dev] [PATCH v4 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (4 more replies)
  2020-10-24  1:01 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (6 subsequent siblings)
  17 siblings, 5 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 20:39 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This is a revised version of the earlier RFC patch set for changing
the blacklist/whitelist terms in DPDK.

The first patch is a duplicate from the other patch set about
use of master/slave in API.

Note:
This may cause some warnings in existing programs in the CI
tests using the -w flag.

It also causes checkpatch complaints because we are replacing
blacklist which is flagged by the current versions.

v4
   - fix some references to -w change to -a in docs
   - fix alignment of output of help

Stephen Hemminger (5):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: change references to blacklist and whitelist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 52 +++++++-------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 16 ++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++---
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  6 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  6 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 70 ++++++++++++-------
 lib/librte_eal/common/eal_options.h           |  9 ++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 324 insertions(+), 272 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v4 1/5] eal: replace usage of blacklist/whitelist in enum
  2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-22 20:39   ` Stephen Hemminger
  2020-10-22 20:39   ` [dpdk-dev] [PATCH v4 2/5] drivers: replace references to blacklist Stephen Hemminger
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 20:39 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v4 2/5] drivers: replace references to blacklist
  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   ` Stephen Hemminger
  2020-10-22 20:40   ` [dpdk-dev] [PATCH v4 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 20:39 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal, Sachin Saxena,
	Stephen Hemminger, Long Li, Jay Zhou, Maxime Coquelin,
	Chenbo Xia

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index c94c72106f2c..a1f6a60f0760 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..ebcc8e1edae7 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v4 3/5] eal: replace pci-whitelist/pci-blacklist options
  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   ` 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
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 20:40 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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 | 70 +++++++++++++---------
 lib/librte_eal/common/eal_options.h        |  9 ++-
 2 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..cf6c3770730a 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,8 @@ eal_short_options[] =
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"w:" /* whitelist (deprecated) */
+	"B:" /* blacklist (deprecated) */
 	;
 
 const struct option
@@ -89,8 +91,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 +107,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                        }
 };
 
@@ -1447,29 +1454,37 @@ 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 */
+	case 'B':
+		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,
+		/* 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, --pci-whitelist is deprecated, use -a, --allow 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': {
@@ -1760,9 +1775,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;
 }
 
@@ -1997,14 +2013,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, --"OPT_DEV_BLOCK"         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"
+	       "  -a, --"OPT_DEV_ALLOW"         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_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..e621c26098c3 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,15 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_DEV_ALLOW	      "allow"
+	OPT_DEV_ALLOW_NUM       = 'a',
+#define OPT_DEV_BLOCK         "block"
+	OPT_DEV_BLOCK_NUM      = 'b',
+
+	/* legacy options that will be removed in next LTS */
 #define OPT_PCI_BLACKLIST     "pci-blacklist"
-	OPT_PCI_BLACKLIST_NUM   = 'b',
+	OPT_PCI_BLACKLIST_NUM  = 'B',
+
 #define OPT_PCI_WHITELIST     "pci-whitelist"
 	OPT_PCI_WHITELIST_NUM   = 'w',
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v4 4/5] app/test: use new allowlist and blocklist
  2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (2 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-10-22 20:40   ` [dpdk-dev] [PATCH v4 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 20:40 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 ++++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 52 ++++++++++++++++++-------------------
 4 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..988d054ba6c8 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allowlist|-blocklist]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..9fb94ae27352 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against  allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..d78eb04a25e4 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allowlist_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..3d3032bb4577 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_invalid_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,7 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v4 5/5] doc: change references to blacklist and whitelist
  2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (3 preceding siblings ...)
  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   ` Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-22 20:40 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Luca Boccassi, Akhil Goyal, Hemant Agrawal,
	John Griffin, Fiona Trahe, Deepak Kumar Jain, Pavan Nikhilesh,
	Jerin Jacob, Bruce Richardson, Nithin Dabilpuram, Ajit Khaparde,
	Somnath Kotur, Rahul Lakkireddy, Sachin Saxena, John Daley,
	Hyong Youb Kim, Gaetan Rivet, Beilei Xing, Jeff Guo, Qiming Yang,
	Qi Zhang, Haiyue Wang, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Martin Spinler, Kiran Kumar K,
	Andrew Rybchenko, Keith Wiles, Maciej Czekaj, Anatoly Burakov,
	Thomas Monjalon, Ferruh Yigit, Nicolas Chautru, Harry van Haaren,
	Radu Nicolau, Konstantin Ananyev, David Hunt, Maxime Coquelin,
	Chenbo Xia, Declan Doherty, Wisam Jaddo

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 18 ++++++------
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 16 +++++------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 18 ++++++------
 doc/guides/nics/mlx5.rst                      | 14 +++++-----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  6 ++--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  6 ++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  2 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 171 insertions(+), 154 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 3053636b8295..b50fee76954a 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index db3c8e918945..38ad45e66d76 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index a0becf689109..d41ee82aff52 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -264,7 +264,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem CONFIG_RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -302,7 +302,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -662,7 +662,7 @@ QAT SYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
@@ -670,7 +670,7 @@ QAT ASYM crypto PMD can be tested by running the test application::
     make defconfig
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
@@ -679,7 +679,7 @@ QAT compression PMD can be tested by running the test application::
     sed -i 's,\(CONFIG_RTE_COMPRESSDEV_TEST\)=n,\1=y,' build/.config
     make -j
     cd ./build/app
-    ./test -l1 -n1 -w <your qat bdf>
+    ./test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 6502f6415fb4..1c671518a4db 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -66,7 +66,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -74,7 +74,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -89,7 +89,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -98,7 +98,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -118,7 +118,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -126,7 +126,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -136,7 +136,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -146,7 +146,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -156,7 +156,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 49b45a04e8ec..efaef85f90fc 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -50,7 +50,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -69,7 +69,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 28973fc3e2e9..37c632c3f046 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -686,7 +686,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -728,7 +728,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -753,12 +753,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 54a4c138998c..ee91c85ebfee 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -112,7 +112,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ^^^^^^^^^^^^^^^^^^^^^^
@@ -317,7 +317,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88 -- -i
+     testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -344,7 +344,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -776,7 +776,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 74d4a6058ef0..eb9defca0f09 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index ca6ba5b5e291..693be5ce8707 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -527,10 +527,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index a28a7f4e477a..fa8459435730 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -312,7 +312,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -378,7 +378,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -427,7 +427,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index f80346a35898..25525ef19aad 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -60,7 +60,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -68,11 +68,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -123,8 +123,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -132,13 +132,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 16e00b8f64b5..14b8d0f33fae 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index a0b81e66950f..0eb1d7c1af2f 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -194,7 +194,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -207,7 +207,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -222,7 +222,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -234,7 +234,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -244,7 +244,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -479,7 +479,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -487,7 +487,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -822,7 +822,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./l3fwd -l 18-21 -n 4 -a 82:00.0 -w 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 25a821177a4c..bb76d62a0139 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -47,7 +47,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -58,7 +58,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -70,7 +70,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -79,8 +91,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -91,14 +103,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -250,7 +262,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 6818b6af515e..428e71d88687 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -29,8 +29,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -422,7 +422,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -430,14 +430,14 @@ devices managed by librte_pmd_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -450,7 +450,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index a071db276fe4..9f0dc8388951 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1537,7 +1537,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1545,14 +1545,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1560,7 +1560,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index 10f33a025ede..7766a76d7a6d 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -78,7 +78,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    $RTE_TARGET/app/testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index f3be79bbb8a3..9862a1d4508c 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -74,7 +74,7 @@ use arm64-octeontx2-linux-gcc as target.
 
    .. code-block:: console
 
-      ./build/app/testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./build/app/testpmd -c 0x300 -a 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -127,7 +127,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -138,7 +138,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -150,7 +150,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -162,7 +162,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -174,7 +174,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -196,7 +196,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -205,7 +205,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -216,7 +216,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -224,7 +224,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -240,7 +240,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index 959b52c1c333..64322442a003 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -295,7 +295,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index b1ef9eba59b8..db64503a9ab8 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -178,7 +178,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -398,7 +398,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..9af4d6192fd4 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 0d45b500325f..28ab5a03be8c 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -539,6 +539,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 54ff6574aed8..f0947a7544e4 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -79,19 +79,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./build/bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
+    $ ./build/bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
     --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -111,20 +111,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index dc7972aa9a5c..e4c23da9ebcb 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,7 +46,7 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -i FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 434f484138d0..db2685660ff7 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -329,15 +329,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./build/ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -935,13 +935,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1029,4 +1029,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 07c8d44936d6..5173da8b108a 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,17 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./build/l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index c2d4ca73abde..1e580ff86cf4 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index f05816d9b24e..bc162a0118ac 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,7 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./l3fwd-power -l xxx   -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index d66a724827af..60a7eb227db2 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -i 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 28b729dbda8b..72707e9a4a9d 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -417,7 +417,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -427,7 +427,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -437,7 +437,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 7e5dc0c54b1a..4771e8ecf04d 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -59,7 +59,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (10 preceding siblings ...)
  2020-10-22 20:39 ` [dpdk-dev] [PATCH v4 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-24  1:01 ` Stephen Hemminger
  2020-10-24  1:01   ` [dpdk-dev] [PATCH v5 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (5 more replies)
  2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                   ` (5 subsequent siblings)
  17 siblings, 6 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-24  1:01 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This is a revised version of the earlier RFC patch set for changing
the blacklist/whitelist terms in DPDK.

The first patch is a duplicate from the other patch set about
use of master/slave in API.

Note:
This may cause some warnings in existing programs in the CI
tests using the -w flag.

It also causes checkpatch complaints because we are replacing
blacklist which is flagged by the current versions.

v5 - rebase and fix conflicts in documentation

Stephen Hemminger (5):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: change references to blacklist and whitelist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 52 +++++++-------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 16 ++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 +++---
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  6 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 70 ++++++++++++-------
 lib/librte_eal/common/eal_options.h           |  9 ++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 328 insertions(+), 273 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v5 1/5] eal: replace usage of blacklist/whitelist in enum
  2020-10-24  1:01 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-24  1:01   ` Stephen Hemminger
  2020-10-24  1:01   ` [dpdk-dev] [PATCH v5 2/5] drivers: replace references to blacklist Stephen Hemminger
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-24  1:01 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v5 2/5] drivers: replace references to blacklist
  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   ` Stephen Hemminger
  2020-10-24  1:01   ` [dpdk-dev] [PATCH v5 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-24  1:01 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index c94c72106f2c..a1f6a60f0760 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..ebcc8e1edae7 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v5 3/5] eal: replace pci-whitelist/pci-blacklist options
  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   ` 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
                     ` (2 subsequent siblings)
  5 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-24  1:01 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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 | 70 +++++++++++++---------
 lib/librte_eal/common/eal_options.h        |  9 ++-
 2 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..cf6c3770730a 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,8 @@ eal_short_options[] =
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"w:" /* whitelist (deprecated) */
+	"B:" /* blacklist (deprecated) */
 	;
 
 const struct option
@@ -89,8 +91,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 +107,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                        }
 };
 
@@ -1447,29 +1454,37 @@ 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 */
+	case 'B':
+		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,
+		/* 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, --pci-whitelist is deprecated, use -a, --allow 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': {
@@ -1760,9 +1775,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;
 }
 
@@ -1997,14 +2013,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, --"OPT_DEV_BLOCK"         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"
+	       "  -a, --"OPT_DEV_ALLOW"         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_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..e621c26098c3 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,15 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_DEV_ALLOW	      "allow"
+	OPT_DEV_ALLOW_NUM       = 'a',
+#define OPT_DEV_BLOCK         "block"
+	OPT_DEV_BLOCK_NUM      = 'b',
+
+	/* legacy options that will be removed in next LTS */
 #define OPT_PCI_BLACKLIST     "pci-blacklist"
-	OPT_PCI_BLACKLIST_NUM   = 'b',
+	OPT_PCI_BLACKLIST_NUM  = 'B',
+
 #define OPT_PCI_WHITELIST     "pci-whitelist"
 	OPT_PCI_WHITELIST_NUM   = 'w',
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v5 4/5] app/test: use new allowlist and blocklist
  2020-10-24  1:01 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (2 preceding siblings ...)
  2020-10-24  1:01   ` [dpdk-dev] [PATCH v5 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
@ 2020-10-24  1:01   ` 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
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-24  1:01 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 ++++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 52 ++++++++++++++++++-------------------
 4 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..988d054ba6c8 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allowlist|-blocklist]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..9fb94ae27352 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against  allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..d78eb04a25e4 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allowlist_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..3d3032bb4577 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_invalid_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,7 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v5 5/5] doc: change references to blacklist and whitelist
  2020-10-24  1:01 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (3 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-11-05  8:27   ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow David Marchand
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-24  1:01 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 18 ++++++------
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 16 +++++------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 18 ++++++------
 doc/guides/nics/mlx5.rst                      | 14 +++++-----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  6 ++--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +--
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 175 insertions(+), 155 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 080768a2e766..83565d71752d 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index da14a68d9cff..bac82421bca2 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index f77ce91f76ee..f8d3d77474ff 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -237,7 +237,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -275,7 +275,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -632,19 +632,19 @@ Testing
 QAT SYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 4f06e069847a..496b7199c8c9 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -55,7 +55,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -63,7 +63,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -78,7 +78,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -87,7 +87,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -96,7 +96,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -115,7 +115,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -125,7 +125,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -135,7 +135,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -145,7 +145,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 -----------------
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 53f09a52dbb5..1272c1e72b7b 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -42,7 +42,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -61,7 +61,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 2540ddd5c2f5..97033958b758 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -683,7 +683,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -725,7 +725,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -750,12 +750,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 442ab1511c64..8c2985cad04a 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -96,7 +96,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   dpdk-testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -301,7 +301,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -328,7 +328,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -760,7 +760,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 1deb7faaa50c..9ae5109234eb 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 01e37d462102..b79780abc1a5 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -503,10 +503,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index c62448768376..163ae3f47b11 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -305,7 +305,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -371,7 +371,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -420,7 +420,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index e1b5c80d6c91..9a9cf5bfbc3d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -48,7 +48,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -56,11 +56,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -111,8 +111,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -120,13 +120,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 234bf066b9f6..6458bfc42e1f 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 5cf85d94cc34..488a9ec22450 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -172,7 +172,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -185,7 +185,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -200,7 +200,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -212,7 +212,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -222,7 +222,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -458,7 +458,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -466,7 +466,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -802,7 +802,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index a2aea1233376..6e4d53968f75 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -30,7 +30,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -41,7 +41,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -53,7 +53,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -62,8 +74,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -74,14 +86,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    dpdk-testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    dpdk-testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -233,7 +245,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index ed920e91ad51..cea7e8c2c4e3 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -381,7 +381,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -389,14 +389,14 @@ devices managed by librte_pmd_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -409,7 +409,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index afa65a1379a5..5077e06a98a2 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1488,7 +1488,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1496,14 +1496,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1511,7 +1511,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index ecea3ecff074..e987f331048c 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -63,7 +63,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    ./<build_dir>/app/dpdk-testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index 7c04b5e60040..3c42e8585835 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -63,7 +63,8 @@ for details.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 \
+      	-- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -116,7 +117,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -127,7 +128,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -139,7 +140,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -151,7 +152,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -163,7 +164,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -185,7 +186,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -194,7 +195,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -205,7 +206,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -213,7 +214,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -229,7 +230,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index 959b52c1c333..64322442a003 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -295,7 +295,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index a928a790e389..9da4281c8bd3 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -377,7 +377,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..9af4d6192fd4 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index d8ac359e51d4..57069ae4db4c 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -543,6 +543,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 7c5a45b72afb..b2af9a0755d6 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -61,19 +61,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
+    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> \
     -c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -93,20 +93,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index b4fc587a09e2..41ee8b7ee3f4 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,8 +46,8 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-    -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 \
+    -e4 -a FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 1f37dccf8bb7..cb637abdfaf4 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -929,13 +929,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1023,4 +1023,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 7acbd7404e3b..5d53bf633db7 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,18 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+		-- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index 4a96800ec648..eee5d8185061 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index d7e1dc581328..831f2bf58f99 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,8 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 \
+    	-- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index a8bedbab5321..9a7743146b82 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -w 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 29340d94e801..73cabf0098d3 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -394,7 +394,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -404,7 +404,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -414,7 +414,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 7e5dc0c54b1a..4771e8ecf04d 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -59,7 +59,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v5 3/5] eal: replace pci-whitelist/pci-blacklist options
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-24 16:43 UTC (permalink / raw)
  To: dev; +Cc: Luca Boccassi

On Fri, 23 Oct 2020 18:01:44 -0700
Stephen Hemminger <stephen@networkplumber.org> wrote:

> +	case 'i':
> +		/* include device list */
> +		if (x_used)
> +			goto include_exclude;

This part is wrong, and didn't get fixed with some of the renaming

^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v6 0/5] replace blacklist/whitelist with allow/block
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (11 preceding siblings ...)
  2020-10-24  1:01 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
@ 2020-10-25 16:57 ` Stephen Hemminger
  2020-10-25 16:57   ` [dpdk-dev] [PATCH v6 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (4 more replies)
  2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                   ` (4 subsequent siblings)
  17 siblings, 5 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 16:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This patch series changes the use of the terms blacklist and whitelist
and instead uses block and allow.  The change is most visible
in the options passed to DPDK programs for marking which devices
to use.

The options are also shortened because they can be used for
not just PCI devices. When DPDK was expanded to support other bus
types the -b option was also uses for non-PCI devices. But the
documentation and the name of the long option never changed.

v6 - fix some confusion in handling options that was introduced
     by earlier versions of the patch.

Stephen Hemminger (5):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: change references to blacklist and whitelist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 52 +++++++-------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 16 ++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 ++++---
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  6 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 67 ++++++++++++-------
 lib/librte_eal/common/eal_options.h           |  9 ++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 326 insertions(+), 272 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v6 1/5] eal: replace usage of blacklist/whitelist in enum
  2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
@ 2020-10-25 16:57   ` Stephen Hemminger
  2020-10-25 16:57   ` [dpdk-dev] [PATCH v6 2/5] drivers: replace references to blacklist Stephen Hemminger
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 16:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v6 2/5] drivers: replace references to blacklist
  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   ` Stephen Hemminger
  2020-10-25 16:57   ` [dpdk-dev] [PATCH v6 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 16:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index c94c72106f2c..a1f6a60f0760 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..ebcc8e1edae7 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v6 3/5] eal: replace pci-whitelist/pci-blacklist options
  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   ` 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 16:57   ` [dpdk-dev] [PATCH v6 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 16:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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 | 67 +++++++++++++---------
 lib/librte_eal/common/eal_options.h        |  9 ++-
 2 files changed, 49 insertions(+), 27 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..5bf1c152d9d0 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,8 @@ eal_short_options[] =
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"w:" /* whitelist (deprecated) */
+	"B:" /* blacklist (deprecated) */
 	;
 
 const struct option
@@ -89,8 +91,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 +107,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 +1455,35 @@ 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 'B':
+		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) {
+		/* excluded list */
+		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':
+		/* include device list */
 		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 +1774,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 +2012,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, --"OPT_DEV_BLOCK"         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"
+	       "  -a, --"OPT_DEV_ALLOW"         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_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..e621c26098c3 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,15 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_DEV_ALLOW	      "allow"
+	OPT_DEV_ALLOW_NUM       = 'a',
+#define OPT_DEV_BLOCK         "block"
+	OPT_DEV_BLOCK_NUM      = 'b',
+
+	/* legacy options that will be removed in next LTS */
 #define OPT_PCI_BLACKLIST     "pci-blacklist"
-	OPT_PCI_BLACKLIST_NUM   = 'b',
+	OPT_PCI_BLACKLIST_NUM  = 'B',
+
 #define OPT_PCI_WHITELIST     "pci-whitelist"
 	OPT_PCI_WHITELIST_NUM   = 'w',
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v6 4/5] app/test: use new allowlist and blocklist
  2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                     ` (2 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-10-25 18:47     ` David Marchand
  2020-10-25 16:57   ` [dpdk-dev] [PATCH v6 5/5] doc: change references to blacklist and whitelist Stephen Hemminger
  4 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 16:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 ++++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 52 ++++++++++++++++++-------------------
 4 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..988d054ba6c8 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allowlist|-blocklist]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..9fb94ae27352 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against  allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..d78eb04a25e4 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allowlist_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..3d3032bb4577 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_invalid_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,7 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v6 5/5] doc: change references to blacklist and whitelist
  2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                     ` (3 preceding siblings ...)
  2020-10-25 16:57   ` [dpdk-dev] [PATCH v6 4/5] app/test: use new allowlist and blocklist Stephen Hemminger
@ 2020-10-25 16:57   ` Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 16:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 18 ++++++------
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 16 +++++------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 18 ++++++------
 doc/guides/nics/mlx5.rst                      | 14 +++++-----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  6 ++--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +--
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 175 insertions(+), 155 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 080768a2e766..83565d71752d 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index da14a68d9cff..bac82421bca2 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index f77ce91f76ee..f8d3d77474ff 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -237,7 +237,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -275,7 +275,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -632,19 +632,19 @@ Testing
 QAT SYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 4f06e069847a..496b7199c8c9 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -55,7 +55,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -63,7 +63,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -78,7 +78,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -87,7 +87,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -96,7 +96,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -115,7 +115,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -125,7 +125,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -135,7 +135,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -145,7 +145,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 -----------------
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 53f09a52dbb5..1272c1e72b7b 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -42,7 +42,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -61,7 +61,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 2540ddd5c2f5..97033958b758 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -683,7 +683,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -725,7 +725,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -750,12 +750,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 442ab1511c64..8c2985cad04a 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -96,7 +96,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   dpdk-testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -301,7 +301,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -328,7 +328,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -760,7 +760,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 1deb7faaa50c..9ae5109234eb 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 01e37d462102..b79780abc1a5 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -503,10 +503,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index c62448768376..163ae3f47b11 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -305,7 +305,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -371,7 +371,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -420,7 +420,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index e1b5c80d6c91..9a9cf5bfbc3d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -48,7 +48,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -56,11 +56,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -111,8 +111,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -120,13 +120,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 234bf066b9f6..6458bfc42e1f 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 5cf85d94cc34..488a9ec22450 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -172,7 +172,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -185,7 +185,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -200,7 +200,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -212,7 +212,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -222,7 +222,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -458,7 +458,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -466,7 +466,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -802,7 +802,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index a2aea1233376..6e4d53968f75 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -30,7 +30,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -41,7 +41,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -53,7 +53,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -62,8 +74,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -74,14 +86,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    dpdk-testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    dpdk-testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -233,7 +245,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index ed920e91ad51..cea7e8c2c4e3 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -381,7 +381,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -389,14 +389,14 @@ devices managed by librte_pmd_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -409,7 +409,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index afa65a1379a5..5077e06a98a2 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1488,7 +1488,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1496,14 +1496,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1511,7 +1511,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index ecea3ecff074..e987f331048c 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -63,7 +63,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    ./<build_dir>/app/dpdk-testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index 7c04b5e60040..3c42e8585835 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -63,7 +63,8 @@ for details.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 \
+      	-- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -116,7 +117,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -127,7 +128,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -139,7 +140,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -151,7 +152,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -163,7 +164,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -185,7 +186,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -194,7 +195,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -205,7 +206,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -213,7 +214,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -229,7 +230,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index 959b52c1c333..64322442a003 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -295,7 +295,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index a928a790e389..9da4281c8bd3 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -377,7 +377,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..9af4d6192fd4 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index d8ac359e51d4..57069ae4db4c 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -543,6 +543,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 7c5a45b72afb..b2af9a0755d6 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -61,19 +61,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
+    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> \
     -c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -93,20 +93,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index b4fc587a09e2..41ee8b7ee3f4 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,8 +46,8 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-    -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 \
+    -e4 -a FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 1f37dccf8bb7..cb637abdfaf4 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -929,13 +929,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1023,4 +1023,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 7acbd7404e3b..5d53bf633db7 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,18 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+		-- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index 4a96800ec648..eee5d8185061 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index d7e1dc581328..831f2bf58f99 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,8 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 \
+    	-- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index a8bedbab5321..9a7743146b82 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -w 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 29340d94e801..73cabf0098d3 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -394,7 +394,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -404,7 +404,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -414,7 +414,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 7e5dc0c54b1a..4771e8ecf04d 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -59,7 +59,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v6 4/5] app/test: use new allowlist and blocklist
  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
  0 siblings, 1 reply; 117+ messages in thread
From: David Marchand @ 2020-10-25 18:47 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, Thomas Monjalon

On Sun, Oct 25, 2020 at 5:59 PM Stephen Hemminger
<stephen@networkplumber.org> wrote:
> @@ -61,7 +61,7 @@ do_recursive_call(void)
>                         { "test_main_lcore_flag", no_action },
>                         { "test_invalid_n_flag", no_action },
>                         { "test_no_hpet_flag", no_action },
> -                       { "test_whitelist_flag", no_action },
> +                       { "test_allowlist_flag", no_action },

"test_allow_flag"

This is the reason for the current CI UT failure.


>                         { "test_invalid_b_flag", no_action },
>                         { "test_invalid_vdev_flag", no_action },
>                         { "test_invalid_r_flag", no_action },

[snip]

> @@ -1492,9 +1492,9 @@ test_eal_flags(void)
>                 return ret;
>         }
>
> -       ret = test_whitelist_flag();
> +       ret = test_allow_flag();
>         if (ret < 0) {
> -               printf("Error in test_invalid_whitelist_flag()\n");
> +               printf("Error in test_invalid_allow_flag()\n");

printf("Error in test_allow_flag()\n");


>                 return ret;
>         }
>

While at it.
As far as patch 3 of this series is concerned, you can probably look
again at the comments I made on v1 (no need for a -B short option
introduction).
Plus, mix of tabs/spaces, mix of allow-block/include-exclude, in the
comments, usage() strings, plus hardcoded strings rather than use of
"--" OPT_XXX.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v7 0/5] replace blacklist/whitelist with allow/block
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (12 preceding siblings ...)
  2020-10-25 16:57 ` [dpdk-dev] [PATCH v6 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
@ 2020-10-25 20:57 ` Stephen Hemminger
  2020-10-25 20:57   ` [dpdk-dev] [PATCH v7 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (4 more replies)
  2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                   ` (3 subsequent siblings)
  17 siblings, 5 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 20:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This patch series changes the use of the terms blacklist and whitelist
and instead uses block and allow.  The change is most visible
in the options passed to DPDK programs for marking which devices
to use.

The options are also shortened because they can be used for
not just PCI devices. When DPDK was expanded to support other bus
types the -b option was also uses for non-PCI devices. But the
documentation and the name of the long option never changed.

v7 - fix options handling changes in test code.
     this should fix the CI failures.

v6 - fix some confusion in handling options that was introduced
     by earlier versions of the patch.

Stephen Hemminger (5):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  doc: change references to blacklist and whitelist
  app/test: use new allowlist and blocklist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 53 ++++++++-------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 16 ++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 ++++---
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  6 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 67 ++++++++++++-------
 lib/librte_eal/common/eal_options.h           |  9 ++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 327 insertions(+), 272 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v7 1/5] eal: replace usage of blacklist/whitelist in enum
  2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
@ 2020-10-25 20:57   ` Stephen Hemminger
  2020-10-25 20:57   ` [dpdk-dev] [PATCH v7 2/5] drivers: replace references to blacklist Stephen Hemminger
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 20:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v7 2/5] drivers: replace references to blacklist
  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   ` Stephen Hemminger
  2020-10-25 20:57   ` [dpdk-dev] [PATCH v7 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 20:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index c94c72106f2c..a1f6a60f0760 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..ebcc8e1edae7 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v7 3/5] eal: replace pci-whitelist/pci-blacklist options
  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   ` 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
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 20:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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 | 67 +++++++++++++---------
 lib/librte_eal/common/eal_options.h        |  9 ++-
 2 files changed, 49 insertions(+), 27 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..5bf1c152d9d0 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,8 @@ eal_short_options[] =
 	"n:" /* memory channels */
 	"r:" /* memory ranks */
 	"v"  /* version */
-	"w:" /* pci-whitelist */
+	"w:" /* whitelist (deprecated) */
+	"B:" /* blacklist (deprecated) */
 	;
 
 const struct option
@@ -89,8 +91,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 +107,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 +1455,35 @@ 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 'B':
+		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) {
+		/* excluded list */
+		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':
+		/* include device list */
 		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 +1774,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 +2012,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, --"OPT_DEV_BLOCK"         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"
+	       "  -a, --"OPT_DEV_ALLOW"         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_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..e621c26098c3 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -13,8 +13,15 @@ enum {
 	/* long options mapped to a short option */
 #define OPT_HELP              "help"
 	OPT_HELP_NUM            = 'h',
+#define OPT_DEV_ALLOW	      "allow"
+	OPT_DEV_ALLOW_NUM       = 'a',
+#define OPT_DEV_BLOCK         "block"
+	OPT_DEV_BLOCK_NUM      = 'b',
+
+	/* legacy options that will be removed in next LTS */
 #define OPT_PCI_BLACKLIST     "pci-blacklist"
-	OPT_PCI_BLACKLIST_NUM   = 'b',
+	OPT_PCI_BLACKLIST_NUM  = 'B',
+
 #define OPT_PCI_WHITELIST     "pci-whitelist"
 	OPT_PCI_WHITELIST_NUM   = 'w',
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v7 4/5] doc: change references to blacklist and whitelist
  2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                     ` (2 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-10-25 20:57   ` [dpdk-dev] [PATCH v7 5/5] app/test: use new allowlist and blocklist Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 20:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 18 ++++++------
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 16 +++++------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 18 ++++++------
 doc/guides/nics/mlx5.rst                      | 14 +++++-----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  6 ++--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +--
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 175 insertions(+), 155 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 080768a2e766..83565d71752d 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index da14a68d9cff..bac82421bca2 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index f77ce91f76ee..f8d3d77474ff 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -237,7 +237,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -275,7 +275,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -632,19 +632,19 @@ Testing
 QAT SYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 4f06e069847a..496b7199c8c9 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -55,7 +55,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -63,7 +63,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -78,7 +78,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -87,7 +87,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -96,7 +96,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -115,7 +115,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -125,7 +125,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -135,7 +135,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -145,7 +145,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 -----------------
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 53f09a52dbb5..1272c1e72b7b 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -42,7 +42,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -61,7 +61,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 2540ddd5c2f5..97033958b758 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -683,7 +683,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -725,7 +725,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -750,12 +750,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 442ab1511c64..8c2985cad04a 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -96,7 +96,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   dpdk-testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -301,7 +301,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -328,7 +328,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -760,7 +760,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 1deb7faaa50c..9ae5109234eb 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 01e37d462102..b79780abc1a5 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -503,10 +503,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index c62448768376..163ae3f47b11 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -305,7 +305,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -371,7 +371,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -420,7 +420,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index e1b5c80d6c91..9a9cf5bfbc3d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -48,7 +48,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -56,11 +56,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -111,8 +111,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -120,13 +120,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 234bf066b9f6..6458bfc42e1f 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 5cf85d94cc34..488a9ec22450 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -172,7 +172,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -185,7 +185,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -200,7 +200,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -212,7 +212,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -222,7 +222,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -458,7 +458,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -466,7 +466,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -802,7 +802,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index a2aea1233376..6e4d53968f75 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -30,7 +30,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -41,7 +41,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -53,7 +53,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -62,8 +74,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -74,14 +86,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    dpdk-testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    dpdk-testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -233,7 +245,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index ed920e91ad51..cea7e8c2c4e3 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -381,7 +381,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -389,14 +389,14 @@ devices managed by librte_pmd_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -409,7 +409,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index afa65a1379a5..5077e06a98a2 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1488,7 +1488,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1496,14 +1496,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1511,7 +1511,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index ecea3ecff074..e987f331048c 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -63,7 +63,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    ./<build_dir>/app/dpdk-testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index 7c04b5e60040..3c42e8585835 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -63,7 +63,8 @@ for details.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 \
+      	-- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -116,7 +117,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -127,7 +128,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -139,7 +140,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -151,7 +152,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -163,7 +164,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -185,7 +186,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -194,7 +195,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -205,7 +206,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -213,7 +214,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -229,7 +230,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index 959b52c1c333..64322442a003 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -295,7 +295,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index a928a790e389..9da4281c8bd3 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -377,7 +377,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..9af4d6192fd4 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index d8ac359e51d4..57069ae4db4c 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -543,6 +543,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 7c5a45b72afb..b2af9a0755d6 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -61,19 +61,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
+    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> \
     -c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -93,20 +93,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index b4fc587a09e2..41ee8b7ee3f4 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,8 +46,8 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-    -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 \
+    -e4 -a FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 1f37dccf8bb7..cb637abdfaf4 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -929,13 +929,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1023,4 +1023,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 7acbd7404e3b..5d53bf633db7 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,18 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+		-- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index 4a96800ec648..eee5d8185061 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index d7e1dc581328..831f2bf58f99 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,8 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 \
+    	-- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index a8bedbab5321..9a7743146b82 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -w 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 29340d94e801..73cabf0098d3 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -394,7 +394,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -404,7 +404,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -414,7 +414,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 7e5dc0c54b1a..4771e8ecf04d 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -59,7 +59,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v7 5/5] app/test: use new allowlist and blocklist
  2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                     ` (3 preceding siblings ...)
  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   ` Stephen Hemminger
  4 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 20:57 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 +++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 53 +++++++++++++++++++------------------
 4 files changed, 45 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..6ff2e71475a1 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allow|-block]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..72c40e85fdd2 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..ba0b0309b561 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allow_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..9267fd704fde 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_invalid_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,8 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag); /* for legacy CI */
+REGISTER_TEST_COMMAND(eal_flags_a_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (13 preceding siblings ...)
  2020-10-25 20:57 ` [dpdk-dev] [PATCH v7 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
@ 2020-10-25 21:15 ` Stephen Hemminger
  2020-10-25 21:15   ` [dpdk-dev] [PATCH v8 1/5] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (5 more replies)
  2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
                   ` (2 subsequent siblings)
  17 siblings, 6 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 21:15 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This patch series changes the use of the terms blacklist and whitelist
and instead uses block and allow.  The change is most visible
in the options passed to DPDK programs for marking which devices
to use.

The options are also shortened because they can be used for
not just PCI devices. When DPDK was expanded to support other bus
types the -b option was also uses for non-PCI devices. But the
documentation and the name of the long option never changed.

v8 - incorporate more of the feedback from David Marchand
     fix the pci-blacklist option number and reformat the usage
     (All the usage message should be fixed format).

v7 - fix options handling changes in test code.
     this should fix the CI failures.

v6 - fix some confusion in handling options that was introduced
     by earlier versions of the patch.

Stephen Hemminger (5):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  doc: change references to blacklist and whitelist
  app/test: use new allowlist and blocklist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 53 +++++++--------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 16 ++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 +++----
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  6 +-
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
 lib/librte_eal/common/eal_options.h           | 13 +++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 329 insertions(+), 273 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v8 1/5] eal: replace usage of blacklist/whitelist in enum
  2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
@ 2020-10-25 21:15   ` Stephen Hemminger
  2020-10-25 21:15   ` [dpdk-dev] [PATCH v8 2/5] drivers: replace references to blacklist Stephen Hemminger
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 21:15 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v8 2/5] drivers: replace references to blacklist
  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   ` Stephen Hemminger
  2020-10-25 21:15   ` [dpdk-dev] [PATCH v8 3/5] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 21:15 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index c94c72106f2c..a1f6a60f0760 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -568,7 +568,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -630,13 +630,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index beb3dd008fbc..be4ab4ff3f64 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -403,7 +403,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -434,16 +434,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..ebcc8e1edae7 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocklisted, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v8 3/5] eal: replace pci-whitelist/pci-blacklist options
  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   ` Stephen Hemminger
  2020-10-25 21:15   ` [dpdk-dev] [PATCH v8 4/5] doc: change references to blacklist and whitelist Stephen Hemminger
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 21:15 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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, 51 insertions(+), 28 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..8fb2d4a09312 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,35 @@ 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) {
+		/* excluded list */
+		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':
+		/* include device list */
 		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 +1773,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 +2011,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 excluded 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 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_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


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v8 4/5] doc: change references to blacklist and whitelist
  2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                     ` (2 preceding siblings ...)
  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   ` 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
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 21:15 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 18 ++++++------
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 16 +++++------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 18 ++++++------
 doc/guides/nics/mlx5.rst                      | 14 +++++-----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  6 ++--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +--
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 175 insertions(+), 155 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 080768a2e766..83565d71752d 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index da14a68d9cff..bac82421bca2 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index f77ce91f76ee..f8d3d77474ff 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -237,7 +237,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -275,7 +275,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -632,19 +632,19 @@ Testing
 QAT SYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 4f06e069847a..496b7199c8c9 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -55,7 +55,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -63,7 +63,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -78,7 +78,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -87,7 +87,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -96,7 +96,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -115,7 +115,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -125,7 +125,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -135,7 +135,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -145,7 +145,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 -----------------
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 53f09a52dbb5..1272c1e72b7b 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -42,7 +42,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -61,7 +61,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 2540ddd5c2f5..97033958b758 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -683,7 +683,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -725,7 +725,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -750,12 +750,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 442ab1511c64..8c2985cad04a 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_pmd_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -96,7 +96,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   dpdk-testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -301,7 +301,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -328,7 +328,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -760,7 +760,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 1deb7faaa50c..9ae5109234eb 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 01e37d462102..b79780abc1a5 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -503,10 +503,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index c62448768376..163ae3f47b11 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -305,7 +305,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -371,7 +371,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -420,7 +420,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index e1b5c80d6c91..9a9cf5bfbc3d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -48,7 +48,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -56,11 +56,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -111,8 +111,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -120,13 +120,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 234bf066b9f6..6458bfc42e1f 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 5cf85d94cc34..488a9ec22450 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -172,7 +172,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -185,7 +185,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -200,7 +200,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -212,7 +212,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -222,7 +222,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -458,7 +458,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -466,7 +466,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -802,7 +802,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index a2aea1233376..6e4d53968f75 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -30,7 +30,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -41,7 +41,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -53,7 +53,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -62,8 +74,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -74,14 +86,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    dpdk-testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    dpdk-testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -233,7 +245,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index ed920e91ad51..cea7e8c2c4e3 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_pmd_mlx4 relies heavily on system calls for control
@@ -381,7 +381,7 @@ devices managed by librte_pmd_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -389,14 +389,14 @@ devices managed by librte_pmd_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -409,7 +409,7 @@ devices managed by librte_pmd_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index afa65a1379a5..5077e06a98a2 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1488,7 +1488,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1496,14 +1496,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1511,7 +1511,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index ecea3ecff074..e987f331048c 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -63,7 +63,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    ./<build_dir>/app/dpdk-testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index 7c04b5e60040..3c42e8585835 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -63,7 +63,8 @@ for details.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 \
+      	-- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -116,7 +117,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -127,7 +128,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -139,7 +140,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -151,7 +152,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -163,7 +164,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -185,7 +186,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -194,7 +195,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -205,7 +206,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -213,7 +214,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -229,7 +230,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index 959b52c1c333..64322442a003 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -295,7 +295,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index a928a790e389..9da4281c8bd3 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -377,7 +377,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..9af4d6192fd4 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
+Blocklisting
 ~~~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device blocklist functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..2d083b8a4f68 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocklisted in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index d8ac359e51d4..57069ae4db4c 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -543,6 +543,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to include/exclude.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 7c5a45b72afb..b2af9a0755d6 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -61,19 +61,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
+    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> \
     -c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -93,20 +93,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index b4fc587a09e2..41ee8b7ee3f4 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,8 +46,8 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-    -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 \
+    -e4 -a FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 1f37dccf8bb7..cb637abdfaf4 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -929,13 +929,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1023,4 +1023,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 7acbd7404e3b..5d53bf633db7 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,18 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+		-- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index 4a96800ec648..eee5d8185061 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index d7e1dc581328..831f2bf58f99 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,8 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 \
+    	-- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index a8bedbab5321..9a7743146b82 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -w 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 29340d94e801..73cabf0098d3 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -394,7 +394,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -404,7 +404,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -414,7 +414,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 7e5dc0c54b1a..4771e8ecf04d 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -59,7 +59,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v8 5/5] app/test: use new allowlist and blocklist
  2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                     ` (3 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-10-29 15:31   ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 21:15 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 +++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 53 +++++++++++++++++++------------------
 4 files changed, 45 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..6ff2e71475a1 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allow|-block]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..72c40e85fdd2 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..ba0b0309b561 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allow_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..85b6c6d7c7f9 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,8 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag); /* for legacy CI */
+REGISTER_TEST_COMMAND(eal_flags_a_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v6 4/5] app/test: use new allowlist and blocklist
  2020-10-25 18:47     ` David Marchand
@ 2020-10-25 21:25       ` Stephen Hemminger
  0 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-25 21:25 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, Luca Boccassi, Thomas Monjalon

On Sun, 25 Oct 2020 19:47:16 +0100
David Marchand <david.marchand@redhat.com> wrote:

> On Sun, Oct 25, 2020 at 5:59 PM Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> > @@ -61,7 +61,7 @@ do_recursive_call(void)
> >                         { "test_main_lcore_flag", no_action },
> >                         { "test_invalid_n_flag", no_action },
> >                         { "test_no_hpet_flag", no_action },
> > -                       { "test_whitelist_flag", no_action },
> > +                       { "test_allowlist_flag", no_action },  
> 
> "test_allow_flag"
> 
> This is the reason for the current CI UT failure.

Parallel discovery! Just found same thing..


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block
  2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
                     ` (4 preceding siblings ...)
  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   ` Stephen Hemminger
  5 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-10-29 15:31 UTC (permalink / raw)
  To: dev

On Sun, 25 Oct 2020 14:15:13 -0700
Stephen Hemminger <stephen@networkplumber.org> wrote:

> This patch series changes the use of the terms blacklist and whitelist
> and instead uses block and allow.  The change is most visible
> in the options passed to DPDK programs for marking which devices
> to use.
> 
> The options are also shortened because they can be used for
> not just PCI devices. When DPDK was expanded to support other bus
> types the -b option was also uses for non-PCI devices. But the
> documentation and the name of the long option never changed.
> 
> v8 - incorporate more of the feedback from David Marchand
>      fix the pci-blacklist option number and reformat the usage
>      (All the usage message should be fixed format).
> 
> v7 - fix options handling changes in test code.
>      this should fix the CI failures.
> 
> v6 - fix some confusion in handling options that was introduced
>      by earlier versions of the patch.
> 
> Stephen Hemminger (5):
>   eal: replace usage of blacklist/whitelist in enum
>   drivers: replace references to blacklist
>   eal: replace pci-whitelist/pci-blacklist options
>   doc: change references to blacklist and whitelist
>   app/test: use new allowlist and blocklist
> 
>  app/test/autotest.py                          | 16 ++---
>  app/test/autotest_runner.py                   | 18 ++---
>  app/test/test.c                               |  2 +-
>  app/test/test_eal_flags.c                     | 53 +++++++--------
>  doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
>  doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
>  doc/guides/cryptodevs/qat.rst                 | 12 ++--
>  doc/guides/eventdevs/octeontx2.rst            | 20 +++---
>  doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
>  doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
>  doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
>  doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
>  doc/guides/mempool/octeontx2.rst              |  4 +-
>  doc/guides/nics/bnxt.rst                      | 18 ++---
>  doc/guides/nics/cxgbe.rst                     | 12 ++--
>  doc/guides/nics/dpaa.rst                      |  6 +-
>  doc/guides/nics/dpaa2.rst                     |  6 +-
>  doc/guides/nics/enic.rst                      |  6 +-
>  doc/guides/nics/fail_safe.rst                 | 16 ++---
>  doc/guides/nics/features.rst                  |  2 +-
>  doc/guides/nics/i40e.rst                      | 16 ++---
>  doc/guides/nics/ice.rst                       | 28 +++++---
>  doc/guides/nics/ixgbe.rst                     |  4 +-
>  doc/guides/nics/mlx4.rst                      | 18 ++---
>  doc/guides/nics/mlx5.rst                      | 14 ++--
>  doc/guides/nics/nfb.rst                       |  2 +-
>  doc/guides/nics/octeontx2.rst                 | 23 +++----
>  doc/guides/nics/sfc_efx.rst                   |  2 +-
>  doc/guides/nics/tap.rst                       |  2 +-
>  doc/guides/nics/thunderx.rst                  |  4 +-
>  .../prog_guide/env_abstraction_layer.rst      |  6 +-
>  doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
>  doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
>  .../prog_guide/switch_representation.rst      |  6 +-
>  doc/guides/rel_notes/release_20_11.rst        |  5 ++
>  doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
>  .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
>  doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
>  doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
>  .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
>  .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
>  doc/guides/sample_app_ug/vdpa.rst             |  2 +-
>  doc/guides/tools/cryptoperf.rst               |  6 +-
>  doc/guides/tools/flow-perf.rst                |  2 +-
>  doc/guides/tools/testregex.rst                |  2 +-
>  drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
>  drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
>  drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
>  drivers/bus/pci/pci_common.c                  | 24 +++----
>  drivers/bus/vmbus/vmbus_common.c              |  4 +-
>  drivers/crypto/virtio/virtio_pci.c            |  2 +-
>  drivers/net/virtio/virtio_pci.c               |  2 +-
>  lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
>  lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
>  lib/librte_eal/common/eal_options.h           | 13 +++-
>  lib/librte_eal/include/rte_bus.h              | 10 ++-
>  lib/librte_eal/include/rte_dev.h              | 10 ++-
>  lib/librte_eal/include/rte_devargs.h          | 10 ++-
>  58 files changed, 329 insertions(+), 273 deletions(-)
> 

Any comments on this? What is timeline for merge?

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow
  2020-10-24  1:01 ` [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow Stephen Hemminger
                     ` (4 preceding siblings ...)
  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   ` David Marchand
  2020-11-05 17:02     ` Stephen Hemminger
  5 siblings, 1 reply; 117+ messages in thread
From: David Marchand @ 2020-11-05  8:27 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: dev, Luca Boccassi, Gaetan Rivet, Hemant Agrawal,
	Thomas Monjalon, Yigit, Ferruh, Mcnamara, John

On Sat, Oct 24, 2020 at 3:02 AM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> This is a revised version of the earlier RFC patch set for changing
> the blacklist/whitelist terms in DPDK.
>
> The first patch is a duplicate from the other patch set about
> use of master/slave in API.
>
> Note:
> This may cause some warnings in existing programs in the CI
> tests using the -w flag.
>
> It also causes checkpatch complaints because we are replacing
> blacklist which is flagged by the current versions.
>
> v5 - rebase and fix conflicts in documentation
>
> Stephen Hemminger (5):
>   eal: replace usage of blacklist/whitelist in enum
>   drivers: replace references to blacklist
>   eal: replace pci-whitelist/pci-blacklist options
>   app/test: use new allowlist and blocklist
>   doc: change references to blacklist and whitelist

- This series does not implement what had been announced in the
deprecation notice:
https://git.dpdk.org/dpdk/commit/doc/guides/rel_notes/deprecation.rst?id=714e3e60014206cb616cd4157bf11a5209e7186f

From my pov, the implementation with ALLOWED/BLOCKED is as good as the
one initially proposed so this is fine.
But in this case, please stick to it, there are still some traces
about "included" / "include" / "excluded" "exclude" devices, in
comments and usage strings.
Idem, please stick to a consistent wording in all patches, I noted
"Blocklisted" "Blocked" "Marked as blocked".

- The release note and deprecation notice (which is missing) must both
be updated atomically with the patches that change API.

- Compilation is broken at patch1, since patch2 changes are required.

- The documentation patch has misses:
doc/guides/nics/fail_safe.rst:         -w 81:00.0 -- -i
doc/guides/nics/fail_safe.rst:      ./<build_dir>/app/dpdk-testpmd -c
0xff -n 4 -w ff:ff.f \
doc/guides/sample_app_ug/vdpa.rst:                -w
0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \

- The documentation patch has a rebase issue in ice.rst, as flow mark
devargs has been dropped in 62451c94ad - net/ice: remove devargs for
flow mark (7 weeks ago) <Guinan Sun>


-- 
David Marchand


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 17:02 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, Luca Boccassi, Gaetan Rivet, Hemant Agrawal,
	Thomas Monjalon, Yigit, Ferruh, Mcnamara, John

On Thu, 5 Nov 2020 09:27:59 +0100
David Marchand <david.marchand@redhat.com> wrote:

> On Sat, Oct 24, 2020 at 3:02 AM Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> >
> > This is a revised version of the earlier RFC patch set for changing
> > the blacklist/whitelist terms in DPDK.
> >
> > The first patch is a duplicate from the other patch set about
> > use of master/slave in API.
> >
> > Note:
> > This may cause some warnings in existing programs in the CI
> > tests using the -w flag.
> >
> > It also causes checkpatch complaints because we are replacing
> > blacklist which is flagged by the current versions.
> >
> > v5 - rebase and fix conflicts in documentation
> >
> > Stephen Hemminger (5):
> >   eal: replace usage of blacklist/whitelist in enum
> >   drivers: replace references to blacklist
> >   eal: replace pci-whitelist/pci-blacklist options
> >   app/test: use new allowlist and blocklist
> >   doc: change references to blacklist and whitelist  
> 
> - This series does not implement what had been announced in the
> deprecation notice:
> https://git.dpdk.org/dpdk/commit/doc/guides/rel_notes/deprecation.rst?id=714e3e60014206cb616cd4157bf11a5209e7186f
> 
> From my pov, the implementation with ALLOWED/BLOCKED is as good as the
> one initially proposed so this is fine.
> But in this case, please stick to it, there are still some traces
> about "included" / "include" / "excluded" "exclude" devices, in
> comments and usage strings.
> Idem, please stick to a consistent wording in all patches, I noted
> "Blocklisted" "Blocked" "Marked as blocked".

Thanks fixed in next version

> - The release note and deprecation notice (which is missing) must both
> be updated atomically with the patches that change API.

Should I just remove the deprecation notice now?

> - Compilation is broken at patch1, since patch2 changes are required.

The compilation does work just produces lots of warnings.


> - The documentation patch has misses:
> doc/guides/nics/fail_safe.rst:         -w 81:00.0 -- -i
> doc/guides/nics/fail_safe.rst:      ./<build_dir>/app/dpdk-testpmd -c
> 0xff -n 4 -w ff:ff.f \
> doc/guides/sample_app_ug/vdpa.rst:                -w
> 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \

Fixed those

> - The documentation patch has a rebase issue in ice.rst, as flow mark
> devargs has been dropped in 62451c94ad - net/ice: remove devargs for
> flow mark (7 weeks ago) <Guinan Sun>

Fixed that as well


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v9 0/6] replace blacklist/whitelist with allow/block
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (14 preceding siblings ...)
  2020-10-25 21:15 ` [dpdk-dev] [PATCH v8 0/5] replace blacklist/whitelist with allow/block Stephen Hemminger
@ 2020-11-05 22:35 ` Stephen Hemminger
  2020-11-05 22:35   ` [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (6 more replies)
  2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
  2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 0/4] replace blacklist/whitelist with block/allow Thomas Monjalon
  17 siblings, 7 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 22:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This patch series changes the use of the terms blacklist and whitelist
and instead uses block and allow.  The change is most visible
in the options passed to DPDK programs for marking which devices
to use.

The options are also shortened because they can be used for
not just PCI devices. When DPDK was expanded to support other bus
types the -b option was also uses for non-PCI devices. But the
documentation and the name of the long option never changed.

v9 - rebase to main and use  the feedback from David Marchand
     fix some more leftover places where previous names
     where still in documentation, comments, help etc.
     split out release note (so people look at it)

v8 - incorporate more of the feedback from David Marchand
     fix the pci-blacklist option number and reformat the usage
     (All the usage message should be fixed format).

v7 - fix options handling changes in test code.
     this should fix the CI failures.

Stephen Hemminger (6):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  app/test: use new allowlist and blocklist
  doc: change references to blacklist and whitelist
  doc: update release notes now for block allow changes

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 53 +++++++--------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 20 +++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 16 ++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 +++----
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  8 +--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/deprecation.rst          | 23 -------
 doc/guides/rel_notes/release_20_11.rst        | 11 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
 lib/librte_eal/common/eal_options.h           | 13 +++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 59 files changed, 326 insertions(+), 299 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
@ 2020-11-05 22:35   ` Stephen Hemminger
  2020-11-09 13:49     ` Bruce Richardson
  2020-11-10 12:33     ` Luca Boccassi
  2020-11-05 22:35   ` [dpdk-dev] [PATCH v9 2/6] drivers: replace references to blacklist Stephen Hemminger
                     ` (5 subsequent siblings)
  6 siblings, 2 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 22:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros. To help with conversion to new names
cause a message when the compatibility names are used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
 lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
 4 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v9 2/6] drivers: replace references to blacklist
  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-05 22:35   ` Stephen Hemminger
  2020-11-05 22:35   ` [dpdk-dev] [PATCH v9 3/6] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 22:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index ece6a4c4243a..3098e230933c 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -584,7 +584,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -646,13 +646,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index db936696282e..58435589b21d 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -420,7 +420,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -451,16 +451,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..b52f36c33e4f 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v9 3/6] eal: replace pci-whitelist/pci-blacklist options
  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-05 22:35   ` [dpdk-dev] [PATCH v9 2/6] drivers: replace references to blacklist Stephen Hemminger
@ 2020-11-05 22:35   ` Stephen Hemminger
  2020-11-05 22:36   ` [dpdk-dev] [PATCH v9 4/6] app/test: use new allowlist and blocklist Stephen Hemminger
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 22:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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, 51 insertions(+), 28 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b3341683662..8fb2d4a09312 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,35 @@ 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) {
+		/* excluded list */
+		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':
+		/* include device list */
 		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 +1773,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 +2011,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 excluded 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 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_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


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v9 4/6] app/test: use new allowlist and blocklist
  2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
                     ` (2 preceding siblings ...)
  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   ` Stephen Hemminger
  2020-11-05 22:36   ` [dpdk-dev] [PATCH v9 5/6] doc: change references to blacklist and whitelist Stephen Hemminger
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 22:36 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 +++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 53 +++++++++++++++++++------------------
 4 files changed, 45 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..6ff2e71475a1 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allow|-block]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..8aa4d45569db 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocked/allowed tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..ba0b0309b561 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allow_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..85b6c6d7c7f9 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,8 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag); /* for legacy CI */
+REGISTER_TEST_COMMAND(eal_flags_a_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v9 5/6] doc: change references to blacklist and whitelist
  2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
                     ` (3 preceding siblings ...)
  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   ` 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 13:56   ` [dpdk-dev] [PATCH v9 0/6] replace blacklist/whitelist with allow/block Luca Boccassi
  6 siblings, 2 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 22:36 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

There are two areas where documentation needed update.
The first was use of whitelist when describing address
filtering.

The other is the legacy -w whitelist option for PCI
which is used in many examples

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++---
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++---
 doc/guides/cryptodevs/qat.rst                 | 12 +++++-----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++++--------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++------
 doc/guides/linux_gsg/linux_drivers.rst        |  4 ++--
 doc/guides/mempool/octeontx2.rst              |  4 ++--
 doc/guides/nics/bnxt.rst                      | 18 +++++++--------
 doc/guides/nics/cxgbe.rst                     | 12 +++++-----
 doc/guides/nics/dpaa.rst                      |  6 ++---
 doc/guides/nics/dpaa2.rst                     |  6 ++---
 doc/guides/nics/enic.rst                      |  6 ++---
 doc/guides/nics/fail_safe.rst                 | 20 ++++++++--------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++++++-------
 doc/guides/nics/ice.rst                       | 16 ++++++-------
 doc/guides/nics/ixgbe.rst                     |  4 ++--
 doc/guides/nics/mlx4.rst                      | 18 +++++++--------
 doc/guides/nics/mlx5.rst                      | 14 +++++------
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 23 ++++++++++---------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 ++--
 .../prog_guide/env_abstraction_layer.rst      |  8 +++----
 doc/guides/prog_guide/multi_proc_support.rst  |  4 ++--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++---
 .../prog_guide/switch_representation.rst      |  6 ++---
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++------
 .../sample_app_ug/eventdev_pipeline.rst       |  4 ++--
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 +++++-----
 doc/guides/sample_app_ug/l3_forward.rst       |  7 +++---
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 ++-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++---
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 40 files changed, 161 insertions(+), 158 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 080768a2e766..83565d71752d 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index da14a68d9cff..bac82421bca2 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index 566423948f79..cf16f0350303 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -237,7 +237,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -275,7 +275,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -638,19 +638,19 @@ Testing
 QAT SYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 242d283965f9..485a375c4f2c 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -55,7 +55,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -63,7 +63,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -78,7 +78,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -87,7 +87,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -96,7 +96,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -115,7 +115,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -125,7 +125,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -135,7 +135,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -145,7 +145,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 -----------------
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 53f09a52dbb5..1272c1e72b7b 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -42,7 +42,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -61,7 +61,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index ab093c3f4df6..d9a7d8793092 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -683,7 +683,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -745,7 +745,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -770,12 +770,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 3fa77d7458c0..f01cd65603f6 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_net_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -96,7 +96,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   dpdk-testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -301,7 +301,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -328,7 +328,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -760,7 +760,7 @@ devices managed by librte_net_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index ae1642b15ec3..917482dbe2a5 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index c9deb53349ab..f98c31e4695e 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -503,10 +503,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index c62448768376..163ae3f47b11 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -305,7 +305,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -371,7 +371,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -420,7 +420,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index 27ff306b1a9b..ae9f08ec8d1d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -48,7 +48,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -56,11 +56,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -111,8 +111,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -120,25 +120,25 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
       ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
-         -w 81:00.0 -- -i
+         -a 81:00.0 -- -i
 
 #. Start testpmd using a flexible device definition
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -w ff:ff.f \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -a ff:ff.f \
          --vdev='net_failsafe0,exec(echo 84:00.0)' -- -i
 
 #. Start testpmd, automatically probing the device 84:00.0 and using it with
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index a4b288abcf5f..43f74e02abf3 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 828a25988e34..ab0a6ee36e51 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -172,7 +172,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -185,7 +185,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -200,7 +200,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -212,7 +212,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -222,7 +222,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -452,7 +452,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -460,7 +460,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -796,7 +796,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 11c7420ed502..c5a76a2a21a9 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -30,7 +30,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -41,7 +41,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -53,7 +53,7 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -62,8 +62,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -74,14 +74,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    dpdk-testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    dpdk-testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -233,7 +233,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index c408ab71385b..33832ad2a1d8 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_net_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot use block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_net_mlx4 relies heavily on system calls for control
@@ -381,7 +381,7 @@ devices managed by librte_net_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -389,14 +389,14 @@ devices managed by librte_net_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -409,7 +409,7 @@ devices managed by librte_net_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 59b2bf4036b9..d988e887f345 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1524,7 +1524,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for use in allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1532,14 +1532,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1547,7 +1547,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index ecea3ecff074..e987f331048c 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -63,7 +63,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    ./<build_dir>/app/dpdk-testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index 18566a2c6665..57b4257debbb 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -63,7 +63,8 @@ for details.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 \
+      	-- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -116,7 +117,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -127,7 +128,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -139,7 +140,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -151,7 +152,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -163,7 +164,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -185,7 +186,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -194,7 +195,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -205,7 +206,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -213,7 +214,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -229,7 +230,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index cc5b9f120c97..962e54389fbc 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -350,7 +350,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index 6f9900883495..12d43ce93e28 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -377,7 +377,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..1f30e13b8bf3 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
-~~~~~~~~~~~~
+Block list
+~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device block list functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocked are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..29bc83f4365f 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be added to block list in every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 7c5a45b72afb..b2af9a0755d6 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -61,19 +61,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
+    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> \
     -c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -93,20 +93,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index b4fc587a09e2..41ee8b7ee3f4 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,8 +46,8 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-    -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 \
+    -e4 -a FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 1f37dccf8bb7..cb637abdfaf4 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to allowed the Ethernet devices needed and therefore implicitly
+blocklisting all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -929,13 +929,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1023,4 +1023,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 7acbd7404e3b..5d53bf633db7 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,18 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+		-- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index 4a96800ec648..eee5d8185061 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index d7e1dc581328..61bc17fb6eb0 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,8 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 \
+        -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index a8bedbab5321..cb9c4f216986 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -a 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 29340d94e801..73cabf0098d3 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -394,7 +394,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -404,7 +404,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -414,7 +414,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 018358ac1719..634009cceea9 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -65,7 +65,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v9 6/6] doc: update release notes now for block allow changes
  2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
                     ` (4 preceding siblings ...)
  2020-11-05 22:36   ` [dpdk-dev] [PATCH v9 5/6] doc: change references to blacklist and whitelist Stephen Hemminger
@ 2020-11-05 22:36   ` Stephen Hemminger
  2020-11-10 16:10     ` Bruce Richardson
  2020-11-10 13:56   ` [dpdk-dev] [PATCH v9 0/6] replace blacklist/whitelist with allow/block Luca Boccassi
  6 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-05 22:36 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Remove the deprecation notice and add description to the release notes.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/rel_notes/deprecation.rst   | 23 -----------------------
 doc/guides/rel_notes/release_20_11.rst | 11 +++++++++++
 2 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index f3258eb3f725..d459a25eabe3 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -28,29 +28,6 @@ Deprecation Notices
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-* eal: The terms blacklist and whitelist to describe devices used
-  by DPDK will be replaced in the 20.11 relase.
-  This will apply to command line arguments as well as macros.
-
-  The macro ``RTE_DEV_BLACKLISTED`` will be replaced with ``RTE_DEV_EXCLUDED``
-  and ``RTE_DEV_WHITELISTED`` will be replaced with ``RTE_DEV_INCLUDED``
-  ``RTE_BUS_SCAN_BLACKLIST`` and ``RTE_BUS_SCAN_WHITELIST`` will be
-  replaced with ``RTE_BUS_SCAN_EXCLUDED`` and ``RTE_BUS_SCAN_INCLUDED``
-  respectively. Likewise ``RTE_DEVTYPE_BLACKLISTED_PCI`` and
-  ``RTE_DEVTYPE_WHITELISTED_PCI`` will be replaced with
-  ``RTE_DEVTYPE_EXCLUDED`` and ``RTE_DEVTYPE_INCLUDED``.
-
-  The old macros will be marked as deprecated in 20.11 and any
-  usage will cause a compile warning. They will be removed in
-  a future release.
-
-  The command line arguments to ``rte_eal_init`` will change from
-  ``-b, --pci-blacklist`` to ``-x, --exclude`` and
-  ``-w, --pci-whitelist`` to ``-i, --include``.
-  The old command line arguments will continue to be accepted in 20.11
-  but will cause a runtime warning message. The old arguments will
-  be removed in a future release.
-
 * eal: The function ``rte_eal_remote_launch`` will return new error codes
   after read or write error on the pipe, instead of calling ``rte_panic``.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 6bbd6ee93922..df955e2214c4 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -644,6 +644,17 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The selection of devices on the EAL command line has been
+  changed from ``--pci-blacklist`` and ``--pci-whitelist``
+  to ``--block`` and ``--allow``. The short form option for
+  using a device is now ``-a`` instead of ``-w``.
+
+  The internal macros for ``RTE_DEV_BLACKLISTED`` and ``RTE_DEV_WHITELISTED``
+  have been replaced with ``RTE_DEV_BLOCKED`` and ``RTE_DEV_ALLOWED``.
+
+  There are compatibility macros and command line mappings to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  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-10 12:33     ` Luca Boccassi
  1 sibling, 1 reply; 117+ messages in thread
From: Bruce Richardson @ 2020-11-09 13:49 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, Gaetan Rivet

On Thu, Nov 05, 2020 at 02:35:57PM -0800, Stephen Hemminger wrote:
> This patch renames the enum values in the EAL include files.
> As a backward compatible temporary migration tool, define
> a replacement mapping for old values.
> 
> The old names relating to blacklist and whitelist are replaced
> by block list and allow list, but applications may be using the
> older compatibility macros. To help with conversion to new names
> cause a message when the compatibility names are used.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Gaetan Rivet <grive@u256.net>
> ---
>  lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
>  lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
>  lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
>  lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
>  4 files changed, 31 insertions(+), 13 deletions(-)
> 
<snip>  
> +/* Backwards compatibility will be removed later */
> +#define RTE_DEVTYPE_WHITELISTED_PCI \
> +	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
> +#define RTE_DEVTYPE_BLACKLISTED_PCI \
> +	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
> +

This patch causes build failures which persist until patch 3, because of
these deprecations. I think you need to define the backward-compatibility
macros here, but only mark them deprecated at the end of the set.

/Bruce

../lib/librte_eal/common/eal_common_options.c: In function ‘eal_parse_common_option’:
../lib/librte_eal/common/eal_common_options.c:1458:13: error: "RTE_DEVTYPE_BLACKLISTED_PCI" is deprecated [-Werror]
 1458 |   if (eal_option_device_add(RTE_DEVTYPE_BLACKLISTED_PCI,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/librte_eal/common/eal_common_options.c:1468:13: error: "RTE_DEVTYPE_WHITELISTED_PCI" is deprecated [-Werror]
 1468 |   if (eal_option_device_add(RTE_DEVTYPE_WHITELISTED_PCI,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  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:03         ` Bruce Richardson
  0 siblings, 2 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-09 15:54 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, Luca Boccassi, Gaetan Rivet

On Mon, 9 Nov 2020 13:49:31 +0000
Bruce Richardson <bruce.richardson@intel.com> wrote:

> On Thu, Nov 05, 2020 at 02:35:57PM -0800, Stephen Hemminger wrote:
> > This patch renames the enum values in the EAL include files.
> > As a backward compatible temporary migration tool, define
> > a replacement mapping for old values.
> > 
> > The old names relating to blacklist and whitelist are replaced
> > by block list and allow list, but applications may be using the
> > older compatibility macros. To help with conversion to new names
> > cause a message when the compatibility names are used.
> > 
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > Acked-by: Luca Boccassi <bluca@debian.org>
> > Acked-by: Gaetan Rivet <grive@u256.net>
> > ---
> >  lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
> >  lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
> >  lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
> >  lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
> >  4 files changed, 31 insertions(+), 13 deletions(-)
> >   
> <snip>  
> > +/* Backwards compatibility will be removed later */
> > +#define RTE_DEVTYPE_WHITELISTED_PCI \
> > +	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
> > +#define RTE_DEVTYPE_BLACKLISTED_PCI \
> > +	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
> > +  
> 
> This patch causes build failures which persist until patch 3, because of
> these deprecations. I think you need to define the backward-compatibility
> macros here, but only mark them deprecated at the end of the set.
> 
> /Bruce

Is building without warnings in every step that important?
The previous patch series for master/slave had the same effect


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  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:03         ` Bruce Richardson
  1 sibling, 1 reply; 117+ messages in thread
From: David Marchand @ 2020-11-09 16:03 UTC (permalink / raw)
  To: Stephen Hemminger, Thomas Monjalon
  Cc: Bruce Richardson, dev, Luca Boccassi, Gaetan Rivet

On Mon, Nov 9, 2020 at 4:55 PM Stephen Hemminger
<stephen@networkplumber.org> wrote:
> > This patch causes build failures which persist until patch 3, because of
> > these deprecations. I think you need to define the backward-compatibility
> > macros here, but only mark them deprecated at the end of the set.
> >
> > /Bruce
>
> Is building without warnings in every step that important?
> The previous patch series for master/slave had the same effect

Thomas fixed it while applying.
https://patchwork.dpdk.org/cover/80987/#122107


-- 
David Marchand


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-09 15:54       ` Stephen Hemminger
  2020-11-09 16:03         ` David Marchand
@ 2020-11-09 16:03         ` Bruce Richardson
  1 sibling, 0 replies; 117+ messages in thread
From: Bruce Richardson @ 2020-11-09 16:03 UTC (permalink / raw)
  To: Stephen Hemminger, thomas, david.marchand
  Cc: dev, Luca Boccassi, Gaetan Rivet

On Mon, Nov 09, 2020 at 07:54:40AM -0800, Stephen Hemminger wrote:
> On Mon, 9 Nov 2020 13:49:31 +0000
> Bruce Richardson <bruce.richardson@intel.com> wrote:
> 
> > On Thu, Nov 05, 2020 at 02:35:57PM -0800, Stephen Hemminger wrote:
> > > This patch renames the enum values in the EAL include files.
> > > As a backward compatible temporary migration tool, define
> > > a replacement mapping for old values.
> > > 
> > > The old names relating to blacklist and whitelist are replaced
> > > by block list and allow list, but applications may be using the
> > > older compatibility macros. To help with conversion to new names
> > > cause a message when the compatibility names are used.
> > > 
> > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > > Acked-by: Luca Boccassi <bluca@debian.org>
> > > Acked-by: Gaetan Rivet <grive@u256.net>
> > > ---
> > >  lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
> > >  lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
> > >  lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
> > >  lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
> > >  4 files changed, 31 insertions(+), 13 deletions(-)
> > >   
> > <snip>  
> > > +/* Backwards compatibility will be removed later */
> > > +#define RTE_DEVTYPE_WHITELISTED_PCI \
> > > +	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
> > > +#define RTE_DEVTYPE_BLACKLISTED_PCI \
> > > +	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
> > > +  
> > 
> > This patch causes build failures which persist until patch 3, because of
> > these deprecations. I think you need to define the backward-compatibility
> > macros here, but only mark them deprecated at the end of the set.
> > 
> > /Bruce
> 
> Is building without warnings in every step that important?
> The previous patch series for master/slave had the same effect
> 
I assumed it was necessary, but maybe I'm mistaken.
Thomas, David, your feedback please? We really could do with getting this
patchset into the LTS release!

/Bruce

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-09 16:03         ` David Marchand
@ 2020-11-09 16:05           ` Bruce Richardson
  2020-11-09 16:07             ` David Marchand
  0 siblings, 1 reply; 117+ messages in thread
From: Bruce Richardson @ 2020-11-09 16:05 UTC (permalink / raw)
  To: David Marchand
  Cc: Stephen Hemminger, Thomas Monjalon, dev, Luca Boccassi, Gaetan Rivet

On Mon, Nov 09, 2020 at 05:03:06PM +0100, David Marchand wrote:
> On Mon, Nov 9, 2020 at 4:55 PM Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> > > This patch causes build failures which persist until patch 3, because of
> > > these deprecations. I think you need to define the backward-compatibility
> > > macros here, but only mark them deprecated at the end of the set.
> > >
> > > /Bruce
> >
> > Is building without warnings in every step that important?
> > The previous patch series for master/slave had the same effect
> 
> Thomas fixed it while applying.
> https://patchwork.dpdk.org/cover/80987/#122107
> 
> 
In this case I believe the below needs to be applied to patch 1, and then
the inverse of it set as patch 4 to mark the compatibility macros as
deprecated.

/Bruce

diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index 80b154fb9..db90422ab 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -221,9 +221,9 @@ enum rte_bus_scan_mode {

 /* Backwards compatibility will be removed */
 #define RTE_BUS_SCAN_WHITELIST \
-       RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+       RTE_BUS_SCAN_ALLOWLIST
 #define RTE_BUS_SCAN_BLACKLIST \
-       RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+       RTE_BUS_SCAN_BLOCKLIST

 /**
  * A structure used to configure bus operations.
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 6dd72c11a..6cc56a769 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -58,9 +58,9 @@ enum rte_dev_policy {

 /* Backwards compatibility will be removed */
 #define RTE_DEV_WHITELISTED \
-       RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+       RTE_DEV_ALLOWED
 #define RTE_DEV_BLACKLISTED \
-       RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+       RTE_DEV_BLOCKED

 /**
  * A generic memory resource representation.
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 296f19324..8fed046e9 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -36,9 +36,9 @@ enum rte_devtype {

 /* Backwards compatibility will be removed later */
 #define RTE_DEVTYPE_WHITELISTED_PCI \
-       RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+       RTE_DEVTYPE_ALLOWED
 #define RTE_DEVTYPE_BLACKLISTED_PCI \
-       RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+       RTE_DEVTYPE_BLOCKED

 /**
  * Structure that stores a device given by the user with its arguments


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-09 16:05           ` Bruce Richardson
@ 2020-11-09 16:07             ` David Marchand
  2020-11-09 16:10               ` Bruce Richardson
  0 siblings, 1 reply; 117+ messages in thread
From: David Marchand @ 2020-11-09 16:07 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Stephen Hemminger, Thomas Monjalon, dev, Luca Boccassi, Gaetan Rivet

On Mon, Nov 9, 2020 at 5:06 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Mon, Nov 09, 2020 at 05:03:06PM +0100, David Marchand wrote:
> > On Mon, Nov 9, 2020 at 4:55 PM Stephen Hemminger
> > <stephen@networkplumber.org> wrote:
> > > > This patch causes build failures which persist until patch 3, because of
> > > > these deprecations. I think you need to define the backward-compatibility
> > > > macros here, but only mark them deprecated at the end of the set.
> > > >
> > > > /Bruce
> > >
> > > Is building without warnings in every step that important?
> > > The previous patch series for master/slave had the same effect
> >
> > Thomas fixed it while applying.
> > https://patchwork.dpdk.org/cover/80987/#122107
> >
> >
> In this case I believe the below needs to be applied to patch 1, and then
> the inverse of it set as patch 4 to mark the compatibility macros as
> deprecated.

Or just squash the patches and be done with it, like I already commented.
No one cares about this series anyway.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-09 16:07             ` David Marchand
@ 2020-11-09 16:10               ` Bruce Richardson
  2020-11-09 16:20                 ` Stephen Hemminger
  0 siblings, 1 reply; 117+ messages in thread
From: Bruce Richardson @ 2020-11-09 16:10 UTC (permalink / raw)
  To: David Marchand
  Cc: Stephen Hemminger, Thomas Monjalon, dev, Luca Boccassi, Gaetan Rivet

On Mon, Nov 09, 2020 at 05:07:16PM +0100, David Marchand wrote:
> On Mon, Nov 9, 2020 at 5:06 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > On Mon, Nov 09, 2020 at 05:03:06PM +0100, David Marchand wrote:
> > > On Mon, Nov 9, 2020 at 4:55 PM Stephen Hemminger
> > > <stephen@networkplumber.org> wrote:
> > > > > This patch causes build failures which persist until patch 3, because of
> > > > > these deprecations. I think you need to define the backward-compatibility
> > > > > macros here, but only mark them deprecated at the end of the set.
> > > > >
> > > > > /Bruce
> > > >
> > > > Is building without warnings in every step that important?
> > > > The previous patch series for master/slave had the same effect
> > >
> > > Thomas fixed it while applying.
> > > https://patchwork.dpdk.org/cover/80987/#122107
> > >
> > >
> > In this case I believe the below needs to be applied to patch 1, and then
> > the inverse of it set as patch 4 to mark the compatibility macros as
> > deprecated.
> 
> Or just squash the patches and be done with it, like I already commented.
> No one cares about this series anyway.
> 
Ok, yep, that's fine too.

/Bruce

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-09 16:10               ` Bruce Richardson
@ 2020-11-09 16:20                 ` Stephen Hemminger
  0 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-09 16:20 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: David Marchand, Thomas Monjalon, dev, Luca Boccassi, Gaetan Rivet

On Mon, 9 Nov 2020 16:10:45 +0000
Bruce Richardson <bruce.richardson@intel.com> wrote:

> On Mon, Nov 09, 2020 at 05:07:16PM +0100, David Marchand wrote:
> > On Mon, Nov 9, 2020 at 5:06 PM Bruce Richardson
> > <bruce.richardson@intel.com> wrote:  
> > >
> > > On Mon, Nov 09, 2020 at 05:03:06PM +0100, David Marchand wrote:  
> > > > On Mon, Nov 9, 2020 at 4:55 PM Stephen Hemminger
> > > > <stephen@networkplumber.org> wrote:  
> > > > > > This patch causes build failures which persist until patch 3, because of
> > > > > > these deprecations. I think you need to define the backward-compatibility
> > > > > > macros here, but only mark them deprecated at the end of the set.
> > > > > >
> > > > > > /Bruce  
> > > > >
> > > > > Is building without warnings in every step that important?
> > > > > The previous patch series for master/slave had the same effect  
> > > >
> > > > Thomas fixed it while applying.
> > > > https://patchwork.dpdk.org/cover/80987/#122107
> > > >
> > > >  
> > > In this case I believe the below needs to be applied to patch 1, and then
> > > the inverse of it set as patch 4 to mark the compatibility macros as
> > > deprecated.  
> > 
> > Or just squash the patches and be done with it, like I already commented.
> > No one cares about this series anyway.
> >   
> Ok, yep, that's fine too.
> 
> /Bruce

Agree, go ahead and combine the patches.
They were split for testing and review.

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  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-10 12:33     ` Luca Boccassi
  2020-11-10 16:40       ` Stephen Hemminger
  1 sibling, 1 reply; 117+ messages in thread
From: Luca Boccassi @ 2020-11-10 12:33 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Thu, 2020-11-05 at 14:35 -0800, Stephen Hemminger wrote:
> This patch renames the enum values in the EAL include files.
> As a backward compatible temporary migration tool, define
> a replacement mapping for old values.
> 
> The old names relating to blacklist and whitelist are replaced
> by block list and allow list, but applications may be using the
> older compatibility macros. To help with conversion to new names
> cause a message when the compatibility names are used.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Gaetan Rivet <grive@u256.net>
> ---
>  lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
>  lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
>  lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
>  lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
>  4 files changed, 31 insertions(+), 13 deletions(-)

<..>

> diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
> index 898efa0d667b..296f19324fae 100644
> --- a/lib/librte_eal/include/rte_devargs.h
> +++ b/lib/librte_eal/include/rte_devargs.h
> @@ -29,11 +29,17 @@ extern "C" {
>   * Type of generic device
>   */
>  enum rte_devtype {
> -	RTE_DEVTYPE_WHITELISTED_PCI,
> -	RTE_DEVTYPE_BLACKLISTED_PCI,
> +	RTE_DEVTYPE_ALLOWED,
> +	RTE_DEVTYPE_BLOCKED,
>  	RTE_DEVTYPE_VIRTUAL,

Any particular reason to drop the _PCI suffix from the enums and
command line parameters? Does it apply to more than PCI devices
nowadays?

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 5/6] doc: change references to blacklist and whitelist
  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
  1 sibling, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-10 12:59 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

On Thu, 5 Nov 2020 at 22:36, Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> There are two areas where documentation needed update.
> The first was use of whitelist when describing address
> filtering.
>
> The other is the legacy -w whitelist option for PCI
> which is used in many examples
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> ---
>  doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++---
>  doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++---
>  doc/guides/cryptodevs/qat.rst                 | 12 +++++-----
>  doc/guides/eventdevs/octeontx2.rst            | 20 ++++++++--------
>  doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
>  doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
>  doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++------
>  doc/guides/linux_gsg/linux_drivers.rst        |  4 ++--
>  doc/guides/mempool/octeontx2.rst              |  4 ++--
>  doc/guides/nics/bnxt.rst                      | 18 +++++++--------
>  doc/guides/nics/cxgbe.rst                     | 12 +++++-----
>  doc/guides/nics/dpaa.rst                      |  6 ++---
>  doc/guides/nics/dpaa2.rst                     |  6 ++---
>  doc/guides/nics/enic.rst                      |  6 ++---
>  doc/guides/nics/fail_safe.rst                 | 20 ++++++++--------
>  doc/guides/nics/features.rst                  |  2 +-
>  doc/guides/nics/i40e.rst                      | 16 ++++++-------
>  doc/guides/nics/ice.rst                       | 16 ++++++-------
>  doc/guides/nics/ixgbe.rst                     |  4 ++--
>  doc/guides/nics/mlx4.rst                      | 18 +++++++--------
>  doc/guides/nics/mlx5.rst                      | 14 +++++------
>  doc/guides/nics/nfb.rst                       |  2 +-
>  doc/guides/nics/octeontx2.rst                 | 23 ++++++++++---------
>  doc/guides/nics/sfc_efx.rst                   |  2 +-
>  doc/guides/nics/tap.rst                       |  2 +-
>  doc/guides/nics/thunderx.rst                  |  4 ++--
>  .../prog_guide/env_abstraction_layer.rst      |  8 +++----
>  doc/guides/prog_guide/multi_proc_support.rst  |  4 ++--
>  doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++---
>  .../prog_guide/switch_representation.rst      |  6 ++---
>  doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++------
>  .../sample_app_ug/eventdev_pipeline.rst       |  4 ++--
>  doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 +++++-----
>  doc/guides/sample_app_ug/l3_forward.rst       |  7 +++---
>  .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
>  .../sample_app_ug/l3_forward_power_man.rst    |  3 ++-
>  doc/guides/sample_app_ug/vdpa.rst             |  2 +-
>  doc/guides/tools/cryptoperf.rst               |  6 ++---
>  doc/guides/tools/flow-perf.rst                |  2 +-
>  doc/guides/tools/testregex.rst                |  2 +-
>  40 files changed, 161 insertions(+), 158 deletions(-)

<..>

> diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
> index c408ab71385b..33832ad2a1d8 100644
> --- a/doc/guides/nics/mlx4.rst
> +++ b/doc/guides/nics/mlx4.rst
> @@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
>  bus address, thus unlike most drivers, librte_net_mlx4 registers itself as a
>  PCI driver that allocates one Ethernet device per detected port.
>
> -For this reason, one cannot white/blacklist a single port without also
> -white/blacklisting the others on the same device.
> +For this reason, one cannot use block (or allow) a single port without also
> +blocking (o allowing) the others on the same device.

Perhaps "one cannot use block" -> "one cannot block" reads better?

>  Besides its dependency on libibverbs (that implies libmlx4 and associated
>  kernel support), librte_net_mlx4 relies heavily on system calls for control
> @@ -381,7 +381,7 @@ devices managed by librte_net_mlx4.
>        eth4
>        eth5
>
> -#. Optionally, retrieve their PCI bus addresses for whitelisting::
> +#. Optionally, retrieve their PCI bus addresses for use in allow argument::

"for use in" -> "to be used with the" ?

>        {
>            for intf in eth2 eth3 eth4 eth5;
> @@ -389,14 +389,14 @@ devices managed by librte_net_mlx4.
>                (cd "/sys/class/net/${intf}/device/" && pwd -P);
>            done;
>        } |
> -      sed -n 's,.*/\(.*\),-w \1,p'
> +      sed -n 's,.*/\(.*\),-a \1,p'
>
>     Example output::
>
> -      -w 0000:83:00.0
> -      -w 0000:83:00.0
> -      -w 0000:84:00.0
> -      -w 0000:84:00.0
> +      -a 0000:83:00.0
> +      -a 0000:83:00.0
> +      -a 0000:84:00.0
> +      -a 0000:84:00.0
>
>     .. note::
>
> @@ -409,7 +409,7 @@ devices managed by librte_net_mlx4.
>
>  #. Start testpmd with basic parameters::
>
> -      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
> +      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
>
>     Example output::
>
> diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
> index 59b2bf4036b9..d988e887f345 100644
> --- a/doc/guides/nics/mlx5.rst
> +++ b/doc/guides/nics/mlx5.rst
> @@ -1524,7 +1524,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
>        eth32
>        eth33
>
> -#. Optionally, retrieve their PCI bus addresses for whitelisting::
> +#. Optionally, retrieve their PCI bus addresses for use in allow list::

Same question as above

<..>

> diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
> index a84083b96c8a..29bc83f4365f 100644
> --- a/doc/guides/prog_guide/multi_proc_support.rst
> +++ b/doc/guides/prog_guide/multi_proc_support.rst
> @@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
>      Secondary processes should run alongside primary process with same DPDK version.
>
>      Secondary processes which requires access to physical devices in Primary process, must
> -    be passed with the same whitelist and blacklist options.
> +    be passed with the same allow and block options.
>
>  To support these two process types, and other multi-process setups described later,
>  two additional command-line parameters are available to the EAL:
> @@ -131,7 +131,7 @@ can use).
>  .. note::
>
>      Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
> -    Any network ports being used by one process should be blacklisted in every other process.
> +    Any network ports being used by one process should be added to block list in every other process.

"added to the block list"

<..>

> diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
> index 1f37dccf8bb7..cb637abdfaf4 100644
> --- a/doc/guides/sample_app_ug/ipsec_secgw.rst
> +++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
> @@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
>  and software crypto devices are detected, hardware devices will be used.
>
>  A way to achieve the case where you want to force the use of virtual crypto
> -devices is to whitelist the Ethernet devices needed and therefore implicitly
> -blacklisting all hardware crypto devices.
> +devices is to allowed the Ethernet devices needed and therefore implicitly
> +blocklisting all hardware crypto devices.

"to allowed" -> "to allow"

<..>

> diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
> index 7acbd7404e3b..5d53bf633db7 100644
> --- a/doc/guides/sample_app_ug/l3_forward.rst
> +++ b/doc/guides/sample_app_ug/l3_forward.rst
> @@ -138,17 +138,18 @@ Following is the sample command:
>
>  .. code-block:: console
>
> -    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
> +    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
>
>  or
>
>  .. code-block:: console
>
> -    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
> +    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
> +               -- -p 0x03 --mode=eventdev --eventq-sched=ordered
>
>  In this command:
>
> -*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
> +*   -a option adds the event device supported by platform. Way to pass this device may vary based on platform.

"adds" -> "allows" ?

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 0/6] replace blacklist/whitelist with allow/block
  2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
                     ` (5 preceding siblings ...)
  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 13:56   ` Luca Boccassi
  2020-11-10 16:14     ` Bruce Richardson
  6 siblings, 1 reply; 117+ messages in thread
From: Luca Boccassi @ 2020-11-10 13:56 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Thu, 2020-11-05 at 14:35 -0800, Stephen Hemminger wrote:
> This patch series changes the use of the terms blacklist and whitelist
> and instead uses block and allow.  The change is most visible
> in the options passed to DPDK programs for marking which devices
> to use.
> 
> The options are also shortened because they can be used for
> not just PCI devices. When DPDK was expanded to support other bus
> types the -b option was also uses for non-PCI devices. But the
> documentation and the name of the long option never changed.
> 
> v9 - rebase to main and use  the feedback from David Marchand
>      fix some more leftover places where previous names
>      where still in documentation, comments, help etc.
>      split out release note (so people look at it)
> 
> v8 - incorporate more of the feedback from David Marchand
>      fix the pci-blacklist option number and reformat the usage
>      (All the usage message should be fixed format).
> 
> v7 - fix options handling changes in test code.
>      this should fix the CI failures.
> 
> Stephen Hemminger (6):
>   eal: replace usage of blacklist/whitelist in enum
>   drivers: replace references to blacklist
>   eal: replace pci-whitelist/pci-blacklist options
>   app/test: use new allowlist and blocklist
>   doc: change references to blacklist and whitelist
>   doc: update release notes now for block allow changes
> 
>  app/test/autotest.py                          | 16 ++---
>  app/test/autotest_runner.py                   | 18 ++---
>  app/test/test.c                               |  2 +-
>  app/test/test_eal_flags.c                     | 53 +++++++--------
>  doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
>  doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
>  doc/guides/cryptodevs/qat.rst                 | 12 ++--
>  doc/guides/eventdevs/octeontx2.rst            | 20 +++---
>  doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
>  doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
>  doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
>  doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
>  doc/guides/mempool/octeontx2.rst              |  4 +-
>  doc/guides/nics/bnxt.rst                      | 18 ++---
>  doc/guides/nics/cxgbe.rst                     | 12 ++--
>  doc/guides/nics/dpaa.rst                      |  6 +-
>  doc/guides/nics/dpaa2.rst                     |  6 +-
>  doc/guides/nics/enic.rst                      |  6 +-
>  doc/guides/nics/fail_safe.rst                 | 20 +++---
>  doc/guides/nics/features.rst                  |  2 +-
>  doc/guides/nics/i40e.rst                      | 16 ++---
>  doc/guides/nics/ice.rst                       | 16 ++---
>  doc/guides/nics/ixgbe.rst                     |  4 +-
>  doc/guides/nics/mlx4.rst                      | 18 ++---
>  doc/guides/nics/mlx5.rst                      | 14 ++--
>  doc/guides/nics/nfb.rst                       |  2 +-
>  doc/guides/nics/octeontx2.rst                 | 23 +++----
>  doc/guides/nics/sfc_efx.rst                   |  2 +-
>  doc/guides/nics/tap.rst                       |  2 +-
>  doc/guides/nics/thunderx.rst                  |  4 +-
>  .../prog_guide/env_abstraction_layer.rst      |  8 +--
>  doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
>  doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
>  .../prog_guide/switch_representation.rst      |  6 +-
>  doc/guides/rel_notes/deprecation.rst          | 23 -------
>  doc/guides/rel_notes/release_20_11.rst        | 11 ++++
>  doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
>  .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
>  doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
>  doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
>  .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
>  .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
>  doc/guides/sample_app_ug/vdpa.rst             |  2 +-
>  doc/guides/tools/cryptoperf.rst               |  6 +-
>  doc/guides/tools/flow-perf.rst                |  2 +-
>  doc/guides/tools/testregex.rst                |  2 +-
>  drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
>  drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
>  drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
>  drivers/bus/pci/pci_common.c                  | 24 +++----
>  drivers/bus/vmbus/vmbus_common.c              |  4 +-
>  drivers/crypto/virtio/virtio_pci.c            |  2 +-
>  drivers/net/virtio/virtio_pci.c               |  2 +-
>  lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
>  lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
>  lib/librte_eal/common/eal_options.h           | 13 +++-
>  lib/librte_eal/include/rte_bus.h              | 10 ++-
>  lib/librte_eal/include/rte_dev.h              | 10 ++-
>  lib/librte_eal/include/rte_devargs.h          | 10 ++-
>  59 files changed, 326 insertions(+), 299 deletions(-)
> 

I verified that no new build issues are introduced on various
distro/archs combination via OBS.

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 5/6] doc: change references to blacklist and whitelist
  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
  1 sibling, 0 replies; 117+ messages in thread
From: Bruce Richardson @ 2020-11-10 16:09 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi

On Thu, Nov 05, 2020 at 02:36:01PM -0800, Stephen Hemminger wrote:
> There are two areas where documentation needed update.
> The first was use of whitelist when describing address
> filtering.
> 
> The other is the legacy -w whitelist option for PCI
> which is used in many examples
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> ---
<snip>
> -      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
> +      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 \
> +      	-- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1

Git apply complains about whitespace before tab here. For the line
continuation it should be fine to just indent with spaces.

/Bruce

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 6/6] doc: update release notes now for block allow changes
  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
  0 siblings, 1 reply; 117+ messages in thread
From: Bruce Richardson @ 2020-11-10 16:10 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

On Thu, Nov 05, 2020 at 02:36:02PM -0800, Stephen Hemminger wrote:
> Remove the deprecation notice and add description to the release notes.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  doc/guides/rel_notes/deprecation.rst   | 23 -----------------------
>  doc/guides/rel_notes/release_20_11.rst | 11 +++++++++++
>  2 files changed, 11 insertions(+), 23 deletions(-)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index f3258eb3f725..d459a25eabe3 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -28,29 +28,6 @@ Deprecation Notices
>  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
>    for returning key match count. It will ease handling of no-match case.
>  
> -* eal: The terms blacklist and whitelist to describe devices used
> -  by DPDK will be replaced in the 20.11 relase.
> -  This will apply to command line arguments as well as macros.
> -
> -  The macro ``RTE_DEV_BLACKLISTED`` will be replaced with ``RTE_DEV_EXCLUDED``
> -  and ``RTE_DEV_WHITELISTED`` will be replaced with ``RTE_DEV_INCLUDED``
> -  ``RTE_BUS_SCAN_BLACKLIST`` and ``RTE_BUS_SCAN_WHITELIST`` will be
> -  replaced with ``RTE_BUS_SCAN_EXCLUDED`` and ``RTE_BUS_SCAN_INCLUDED``
> -  respectively. Likewise ``RTE_DEVTYPE_BLACKLISTED_PCI`` and
> -  ``RTE_DEVTYPE_WHITELISTED_PCI`` will be replaced with
> -  ``RTE_DEVTYPE_EXCLUDED`` and ``RTE_DEVTYPE_INCLUDED``.
> -
> -  The old macros will be marked as deprecated in 20.11 and any
> -  usage will cause a compile warning. They will be removed in
> -  a future release.
> -
> -  The command line arguments to ``rte_eal_init`` will change from
> -  ``-b, --pci-blacklist`` to ``-x, --exclude`` and
> -  ``-w, --pci-whitelist`` to ``-i, --include``.
> -  The old command line arguments will continue to be accepted in 20.11
> -  but will cause a runtime warning message. The old arguments will
> -  be removed in a future release.
> -
>  * eal: The function ``rte_eal_remote_launch`` will return new error codes
>    after read or write error on the pipe, instead of calling ``rte_panic``.
>  
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index 6bbd6ee93922..df955e2214c4 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -644,6 +644,17 @@ API Changes
>  * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
>    from ``struct rte_sched_subport_params``.
>  
> +* eal: The selection of devices on the EAL command line has been
> +  changed from ``--pci-blacklist`` and ``--pci-whitelist``
> +  to ``--block`` and ``--allow``. The short form option for
> +  using a device is now ``-a`` instead of ``-w``.
> +
> +  The internal macros for ``RTE_DEV_BLACKLISTED`` and ``RTE_DEV_WHITELISTED``
> +  have been replaced with ``RTE_DEV_BLOCKED`` and ``RTE_DEV_ALLOWED``.
> +
> +  There are compatibility macros and command line mappings to accept
> +  the old values but applications and scripts are strongly encouraged
> +  to migrate to the new names.
>  

Are all the other macro changes non-user visible? Do they need to be called
out somewhere, or is the above enough?

/Bruce

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 0/6] replace blacklist/whitelist with allow/block
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Bruce Richardson @ 2020-11-10 16:14 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: Stephen Hemminger, dev

On Tue, Nov 10, 2020 at 01:56:42PM +0000, Luca Boccassi wrote:
> On Thu, 2020-11-05 at 14:35 -0800, Stephen Hemminger wrote:
> > This patch series changes the use of the terms blacklist and whitelist
> > and instead uses block and allow.  The change is most visible
> > in the options passed to DPDK programs for marking which devices
> > to use.
> > 
> > The options are also shortened because they can be used for
> > not just PCI devices. When DPDK was expanded to support other bus
> > types the -b option was also uses for non-PCI devices. But the
> > documentation and the name of the long option never changed.
> > 
> > v9 - rebase to main and use  the feedback from David Marchand
> >      fix some more leftover places where previous names
> >      where still in documentation, comments, help etc.
> >      split out release note (so people look at it)
> > 
> > v8 - incorporate more of the feedback from David Marchand
> >      fix the pci-blacklist option number and reformat the usage
> >      (All the usage message should be fixed format).
> > 
> > v7 - fix options handling changes in test code.
> >      this should fix the CI failures.
> > 
> > Stephen Hemminger (6):
> >   eal: replace usage of blacklist/whitelist in enum
> >   drivers: replace references to blacklist
> >   eal: replace pci-whitelist/pci-blacklist options
> >   app/test: use new allowlist and blocklist
> >   doc: change references to blacklist and whitelist
> >   doc: update release notes now for block allow changes
> > 
> >  app/test/autotest.py                          | 16 ++---
> >  app/test/autotest_runner.py                   | 18 ++---
> >  app/test/test.c                               |  2 +-
> >  app/test/test_eal_flags.c                     | 53 +++++++--------
> >  doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
> >  doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
> >  doc/guides/cryptodevs/qat.rst                 | 12 ++--
> >  doc/guides/eventdevs/octeontx2.rst            | 20 +++---
> >  doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
> >  doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
> >  doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
> >  doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
> >  doc/guides/mempool/octeontx2.rst              |  4 +-
> >  doc/guides/nics/bnxt.rst                      | 18 ++---
> >  doc/guides/nics/cxgbe.rst                     | 12 ++--
> >  doc/guides/nics/dpaa.rst                      |  6 +-
> >  doc/guides/nics/dpaa2.rst                     |  6 +-
> >  doc/guides/nics/enic.rst                      |  6 +-
> >  doc/guides/nics/fail_safe.rst                 | 20 +++---
> >  doc/guides/nics/features.rst                  |  2 +-
> >  doc/guides/nics/i40e.rst                      | 16 ++---
> >  doc/guides/nics/ice.rst                       | 16 ++---
> >  doc/guides/nics/ixgbe.rst                     |  4 +-
> >  doc/guides/nics/mlx4.rst                      | 18 ++---
> >  doc/guides/nics/mlx5.rst                      | 14 ++--
> >  doc/guides/nics/nfb.rst                       |  2 +-
> >  doc/guides/nics/octeontx2.rst                 | 23 +++----
> >  doc/guides/nics/sfc_efx.rst                   |  2 +-
> >  doc/guides/nics/tap.rst                       |  2 +-
> >  doc/guides/nics/thunderx.rst                  |  4 +-
> >  .../prog_guide/env_abstraction_layer.rst      |  8 +--
> >  doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
> >  doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
> >  .../prog_guide/switch_representation.rst      |  6 +-
> >  doc/guides/rel_notes/deprecation.rst          | 23 -------
> >  doc/guides/rel_notes/release_20_11.rst        | 11 ++++
> >  doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
> >  .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
> >  doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
> >  doc/guides/sample_app_ug/l3_forward.rst       |  7 +-
> >  .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
> >  .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
> >  doc/guides/sample_app_ug/vdpa.rst             |  2 +-
> >  doc/guides/tools/cryptoperf.rst               |  6 +-
> >  doc/guides/tools/flow-perf.rst                |  2 +-
> >  doc/guides/tools/testregex.rst                |  2 +-
> >  drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
> >  drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
> >  drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
> >  drivers/bus/pci/pci_common.c                  | 24 +++----
> >  drivers/bus/vmbus/vmbus_common.c              |  4 +-
> >  drivers/crypto/virtio/virtio_pci.c            |  2 +-
> >  drivers/net/virtio/virtio_pci.c               |  2 +-
> >  lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
> >  lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
> >  lib/librte_eal/common/eal_options.h           | 13 +++-
> >  lib/librte_eal/include/rte_bus.h              | 10 ++-
> >  lib/librte_eal/include/rte_dev.h              | 10 ++-
> >  lib/librte_eal/include/rte_devargs.h          | 10 ++-
> >  59 files changed, 326 insertions(+), 299 deletions(-)
> > 
> 
> I verified that no new build issues are introduced on various
> distro/archs combination via OBS.
> 
For v10, I think this set should be squashed down to fewer (or perhaps 1)
patch, to avoid intermediate build errors and to move the release notes
updates into the actual patches making the changes.

Thanks,
/Bruce

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-10 12:33     ` Luca Boccassi
@ 2020-11-10 16:40       ` Stephen Hemminger
  2020-11-10 16:46         ` Luca Boccassi
  0 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 16:40 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: dev

On Tue, 10 Nov 2020 12:33:48 +0000
Luca Boccassi <bluca@debian.org> wrote:

> On Thu, 2020-11-05 at 14:35 -0800, Stephen Hemminger wrote:
> > This patch renames the enum values in the EAL include files.
> > As a backward compatible temporary migration tool, define
> > a replacement mapping for old values.
> > 
> > The old names relating to blacklist and whitelist are replaced
> > by block list and allow list, but applications may be using the
> > older compatibility macros. To help with conversion to new names
> > cause a message when the compatibility names are used.
> > 
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > Acked-by: Luca Boccassi <bluca@debian.org>
> > Acked-by: Gaetan Rivet <grive@u256.net>
> > ---
> >  lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
> >  lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
> >  lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
> >  lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
> >  4 files changed, 31 insertions(+), 13 deletions(-)  
> 
> <..>
> 
> > diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
> > index 898efa0d667b..296f19324fae 100644
> > --- a/lib/librte_eal/include/rte_devargs.h
> > +++ b/lib/librte_eal/include/rte_devargs.h
> > @@ -29,11 +29,17 @@ extern "C" {
> >   * Type of generic device
> >   */
> >  enum rte_devtype {
> > -	RTE_DEVTYPE_WHITELISTED_PCI,
> > -	RTE_DEVTYPE_BLACKLISTED_PCI,
> > +	RTE_DEVTYPE_ALLOWED,
> > +	RTE_DEVTYPE_BLOCKED,
> >  	RTE_DEVTYPE_VIRTUAL,  
> 
> Any particular reason to drop the _PCI suffix from the enums and
> command line parameters? Does it apply to more than PCI devices
> nowadays?

Yes, block/allow also works for VMBus devices and and I think other
busses use it as well.

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 1/6] eal: replace usage of blacklist/whitelist in enum
  2020-11-10 16:40       ` Stephen Hemminger
@ 2020-11-10 16:46         ` Luca Boccassi
  0 siblings, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-10 16:46 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

On Tue, 2020-11-10 at 08:40 -0800, Stephen Hemminger wrote:
> On Tue, 10 Nov 2020 12:33:48 +0000
> Luca Boccassi <bluca@debian.org> wrote:
> 
> > On Thu, 2020-11-05 at 14:35 -0800, Stephen Hemminger wrote:
> > > This patch renames the enum values in the EAL include files.
> > > As a backward compatible temporary migration tool, define
> > > a replacement mapping for old values.
> > > 
> > > The old names relating to blacklist and whitelist are replaced
> > > by block list and allow list, but applications may be using the
> > > older compatibility macros. To help with conversion to new names
> > > cause a message when the compatibility names are used.
> > > 
> > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > > Acked-by: Luca Boccassi <bluca@debian.org>
> > > Acked-by: Gaetan Rivet <grive@u256.net>
> > > ---
> > >  lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
> > >  lib/librte_eal/include/rte_bus.h           | 10 ++++++++--
> > >  lib/librte_eal/include/rte_dev.h           | 10 ++++++++--
> > >  lib/librte_eal/include/rte_devargs.h       | 10 ++++++++--
> > >  4 files changed, 31 insertions(+), 13 deletions(-)  
> > 
> > <..>
> > 
> > > diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
> > > index 898efa0d667b..296f19324fae 100644
> > > --- a/lib/librte_eal/include/rte_devargs.h
> > > +++ b/lib/librte_eal/include/rte_devargs.h
> > > @@ -29,11 +29,17 @@ extern "C" {
> > >   * Type of generic device
> > >   */
> > >  enum rte_devtype {
> > > -	RTE_DEVTYPE_WHITELISTED_PCI,
> > > -	RTE_DEVTYPE_BLACKLISTED_PCI,
> > > +	RTE_DEVTYPE_ALLOWED,
> > > +	RTE_DEVTYPE_BLOCKED,
> > >  	RTE_DEVTYPE_VIRTUAL,  
> > 
> > Any particular reason to drop the _PCI suffix from the enums and
> > command line parameters? Does it apply to more than PCI devices
> > nowadays?
> 
> Yes, block/allow also works for VMBus devices and and I think other
> busses use it as well.

Ok, makes sense, thanks.

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 0/7] replace blacklist/whitelist with allow/block
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (15 preceding siblings ...)
  2020-11-05 22:35 ` [dpdk-dev] [PATCH v9 0/6] " Stephen Hemminger
@ 2020-11-10 22:55 ` Stephen Hemminger
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 1/7] eal: replace usage of blacklist/whitelist in enum Stephen Hemminger
                     ` (6 more replies)
  2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 0/4] replace blacklist/whitelist with block/allow Thomas Monjalon
  17 siblings, 7 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This patch series changes the use of the terms blacklist and whitelist
and instead uses block and allow.  The change is most visible
in the options passed to DPDK programs for marking which devices
to use.

The options are also shortened because they can be used for
not just PCI devices. When DPDK was expanded to support other bus
types the -b option was also uses for non-PCI devices. But the
documentation and the name of the long option never changed.

v10 - Incorporate feedback from Luca to documentation.
      Split the compatabilty macros into two parts.
      First adds them, last marks them as deprecated.

Stephen Hemminger (7):
  eal: replace usage of blacklist/whitelist in enum
  drivers: replace references to blacklist
  eal: replace pci-whitelist/pci-blacklist options
  doc: update documentation to reflect new options
  app/test: use new allowlist and blocklist
  auto test comment fix
  eal: mark old definitions as deprecated

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 53 +++++++--------
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     |  6 +-
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 20 +++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 28 +++++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++----
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 .../prog_guide/env_abstraction_layer.rst      |  8 +--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/release_20_11.rst        |  5 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++--
 doc/guides/sample_app_ug/l3_forward.rst       |  8 ++-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 +-
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  4 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/virtio/virtio_pci.c               |  2 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
 lib/librte_eal/common/eal_options.h           | 13 +++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 58 files changed, 330 insertions(+), 278 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 1/7] eal: replace usage of blacklist/whitelist in enum
  2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
@ 2020-11-10 22:55   ` 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
                     ` (5 subsequent siblings)
  6 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Gaetan Rivet

This patch renames the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
 lib/librte_eal/include/rte_bus.h           |  8 ++++++--
 lib/librte_eal/include/rte_dev.h           |  8 ++++++--
 lib/librte_eal/include/rte_devargs.h       |  8 ++++++--
 4 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef840..fcf3d9a3ccb2 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf77..004c36eafc97 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,14 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae35f..96aa19f6d1b1 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,14 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d667b..407816343ef0 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,15 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 2/7] drivers: replace references to blacklist
  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-10 22:55   ` Stephen Hemminger
  2020-11-11 10:45     ` Luca Boccassi
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
                     ` (4 subsequent siblings)
  6 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi, Hemant Agrawal

Use the new terminology blocked to describe when devices
are excluded from being used.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
 drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
 drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
 drivers/bus/vmbus/vmbus_common.c   |  4 ++--
 drivers/crypto/virtio/virtio_pci.c |  2 +-
 drivers/net/virtio/virtio_pci.c    |  2 +-
 7 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index ece6a4c4243a..3098e230933c 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -584,7 +584,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -646,13 +646,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index db936696282e..58435589b21d 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -420,7 +420,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -451,16 +451,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8da..b52f36c33e4f 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4c0..b24c0697130e 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6e4..b31678ad0564 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e28960..ae069794a683 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68b0..d6b950ee6925 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options
  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-10 22:55   ` [dpdk-dev] [PATCH v10 2/7] drivers: replace references to blacklist Stephen Hemminger
@ 2020-11-10 22:55   ` Stephen Hemminger
  2020-11-11 10:45     ` Luca Boccassi
                       ` (2 more replies)
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options Stephen Hemminger
                     ` (3 subsequent siblings)
  6 siblings, 3 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

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


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
                     ` (2 preceding siblings ...)
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
@ 2020-11-10 22:55   ` Stephen Hemminger
  2020-11-11 10:46     ` Luca Boccassi
                       ` (4 more replies)
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 5/7] app/test: use new allowlist and blocklist Stephen Hemminger
                     ` (2 subsequent siblings)
  6 siblings, 5 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Replace old option syntax -w with -a and update any wording
around blacklisting.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
 doc/guides/cryptodevs/qat.rst                 | 12 ++++----
 doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
 doc/guides/mempool/octeontx2.rst              |  4 +--
 doc/guides/nics/bnxt.rst                      | 18 ++++++------
 doc/guides/nics/cxgbe.rst                     | 12 ++++----
 doc/guides/nics/dpaa.rst                      |  6 ++--
 doc/guides/nics/dpaa2.rst                     |  6 ++--
 doc/guides/nics/enic.rst                      |  6 ++--
 doc/guides/nics/fail_safe.rst                 | 20 ++++++-------
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/i40e.rst                      | 16 +++++------
 doc/guides/nics/ice.rst                       | 28 +++++++++++++------
 doc/guides/nics/ixgbe.rst                     |  4 +--
 doc/guides/nics/mlx4.rst                      | 18 ++++++------
 doc/guides/nics/mlx5.rst                      | 14 +++++-----
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++++++--------
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +--
 .../prog_guide/env_abstraction_layer.rst      |  8 +++---
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
 .../prog_guide/switch_representation.rst      |  6 ++--
 doc/guides/rel_notes/release_20_11.rst        |  5 ++++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +--
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
 doc/guides/sample_app_ug/l3_forward.rst       |  8 ++++--
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/cryptoperf.rst               |  6 ++--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 41 files changed, 178 insertions(+), 158 deletions(-)

diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 080768a2e766..83565d71752d 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index da14a68d9cff..bac82421bca2 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index 566423948f79..cf16f0350303 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -237,7 +237,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -275,7 +275,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -638,19 +638,19 @@ Testing
 QAT SYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 242d283965f9..485a375c4f2c 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -55,7 +55,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -63,7 +63,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -78,7 +78,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -87,7 +87,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -96,7 +96,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -115,7 +115,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -125,7 +125,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -135,7 +135,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -145,7 +145,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 -----------------
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc3820..4fba671e4f5b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df686a..043a1dcee109 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f94..dbd48ab4fafa 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    PCI skip probe cannot be used with the only list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of probed devices.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    PCI only list cannot be used with the skip probe ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a11..ef8798569a80 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 53f09a52dbb5..1272c1e72b7b 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -42,7 +42,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -61,7 +61,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index ab093c3f4df6..d9a7d8793092 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
@@ -683,7 +683,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -745,7 +745,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -770,12 +770,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 3fa77d7458c0..f01cd65603f6 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_net_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -96,7 +96,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   dpdk-testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -301,7 +301,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -328,7 +328,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -760,7 +760,7 @@ devices managed by librte_net_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index ae1642b15ec3..917482dbe2a5 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index c9deb53349ab..f98c31e4695e 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -503,10 +503,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index c62448768376..163ae3f47b11 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -305,7 +305,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -371,7 +371,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -420,7 +420,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index 27ff306b1a9b..ae9f08ec8d1d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -48,7 +48,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -56,11 +56,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -111,8 +111,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -120,25 +120,25 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
       ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
-         -w 81:00.0 -- -i
+         -a 81:00.0 -- -i
 
 #. Start testpmd using a flexible device definition
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -w ff:ff.f \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -a ff:ff.f \
          --vdev='net_failsafe0,exec(echo 84:00.0)' -- -i
 
 #. Start testpmd, automatically probing the device 84:00.0 and using it with
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index a4b288abcf5f..43f74e02abf3 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 828a25988e34..ab0a6ee36e51 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -172,7 +172,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -185,7 +185,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -200,7 +200,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -212,7 +212,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -222,7 +222,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -452,7 +452,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -460,7 +460,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -796,7 +796,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 11c7420ed502..f03103704014 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -30,7 +30,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -41,7 +41,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
@@ -53,7 +53,19 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
+
+- ``Flow Mark Support`` (default ``0``)
+
+  This is a hint to the driver to select the data path that supports flow mark extraction
+  by default.
+  NOTE: This is an experimental devarg, it will be removed when any of below conditions
+  is ready.
+  1) all data paths support flow mark (currently vPMD does not)
+  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
+  Example::
+
+    -a 80:00.0,flow-mark-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -62,8 +74,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -74,14 +86,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    dpdk-testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    dpdk-testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -233,7 +245,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac3d..c801dbae8146 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index c408ab71385b..10660ce853b4 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_net_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot block (or allow) a single port without also
+blocking (o allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_net_mlx4 relies heavily on system calls for control
@@ -381,7 +381,7 @@ devices managed by librte_net_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses to be used with the allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -389,14 +389,14 @@ devices managed by librte_net_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -409,7 +409,7 @@ devices managed by librte_net_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 59b2bf4036b9..e96aca21eb9a 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1524,7 +1524,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for to be used with the allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1532,14 +1532,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1547,7 +1547,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index ecea3ecff074..e987f331048c 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -63,7 +63,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    ./<build_dir>/app/dpdk-testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index 18566a2c6665..a4f224424ef5 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -63,7 +63,7 @@ for details.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -116,7 +116,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -127,7 +127,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -139,7 +139,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -151,7 +151,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -163,7 +163,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -185,7 +185,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -194,7 +194,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -205,7 +205,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -213,7 +213,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -229,7 +229,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index cc5b9f120c97..962e54389fbc 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -350,7 +350,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f846206c..3ce696b605d1 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index 6f9900883495..12d43ce93e28 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -377,7 +377,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29bb..1f30e13b8bf3 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
-~~~~~~~~~~~~
+Block list
+~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device block list functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocked are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c8a..57fd7425a15d 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocked by every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6c7..239ec820eaf5 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569cb..07ba12bea67e 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 6bbd6ee93922..5da3a9cd05c5 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -644,6 +644,11 @@ API Changes
 * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size``
   from ``struct rte_sched_subport_params``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to block/allow list.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 7c5a45b72afb..b2af9a0755d6 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -61,19 +61,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
+    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> \
     -c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -93,20 +93,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index b4fc587a09e2..41ee8b7ee3f4 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,8 +46,8 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-    -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 \
+    -e4 -a FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index 1f37dccf8bb7..faf00c75d135 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to only use the Ethernet devices needed (via the allow flag)
+and therefore implicitly blocking all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -929,13 +929,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
@@ -1023,4 +1023,4 @@ Available options:
 *   ``-h`` Show usage.
 
 If <ipsec_mode> is specified, only tests for that mode will be invoked. For the
-list of available modes please refer to run_test.sh.
\ No newline at end of file
+list of available modes please refer to run_test.sh.
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 7acbd7404e3b..e7875f8dcd7e 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,19 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+		-- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option allows the event device supported by platform.
+    The syntax used to indicate this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index 4a96800ec648..eee5d8185061 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index d7e1dc581328..831f2bf58f99 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,8 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 \
+    	-- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index a8bedbab5321..cb9c4f216986 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -a 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 29340d94e801..73cabf0098d3 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -394,7 +394,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -404,7 +404,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -414,7 +414,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 018358ac1719..634009cceea9 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -65,7 +65,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533e2..112b2bb773e7 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 5/7] app/test: use new allowlist and blocklist
  2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
                     ` (3 preceding siblings ...)
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options Stephen Hemminger
@ 2020-11-10 22:55   ` 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-10 22:55   ` [dpdk-dev] [PATCH v10 7/7] eal: mark old definitions as deprecated Stephen Hemminger
  6 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Luca Boccassi

Test the renamed blocklist and allowlist arguments.
Use new terms in test variable names as well.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/test/autotest.py        | 16 +++++------
 app/test/autotest_runner.py | 18 ++++++-------
 app/test/test.c             |  2 +-
 app/test/test_eal_flags.c   | 53 +++++++++++++++++++------------------
 4 files changed, 45 insertions(+), 44 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe565..6ff2e71475a1 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allow|-block]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55d1..72c40e85fdd2 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocklisted/allowlisted tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
diff --git a/app/test/test.c b/app/test/test.c
index f27a56e03390..ba0b0309b561 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allow_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a92..85b6c6d7c7f9 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,8 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag); /* for legacy CI */
+REGISTER_TEST_COMMAND(eal_flags_a_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 6/7] auto test comment fix
  2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
                     ` (4 preceding siblings ...)
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 5/7] app/test: use new allowlist and blocklist Stephen Hemminger
@ 2020-11-10 22:55   ` 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
  6 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

---
 app/test/autotest_runner.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 72c40e85fdd2..8aa4d45569db 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -279,7 +279,7 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blocklisted/allowlisted tests
+        # filter out blocked/allowed tests
         if self.blocklist and test_id in self.blocklist:
             return False
         if self.allowlist and test_id not in self.allowlist:
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v10 7/7] eal: mark old definitions as deprecated
  2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
                     ` (5 preceding siblings ...)
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 6/7] auto test comment fix Stephen Hemminger
@ 2020-11-10 22:55   ` Stephen Hemminger
  2020-11-11 10:47     ` Luca Boccassi
  6 siblings, 1 reply; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:55 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This patch marks the compatiablity macros with RTE_DEPRECATED
which causes a warning if used.  There are no remaining warnings
in the current release.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_eal/include/rte_bus.h     | 6 ++++--
 lib/librte_eal/include/rte_dev.h     | 6 ++++--
 lib/librte_eal/include/rte_devargs.h | 6 ++++--
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index 004c36eafc97..80b154fb982c 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -220,8 +220,10 @@ enum rte_bus_scan_mode {
 };
 
 /* Backwards compatibility will be removed */
-#define RTE_BUS_SCAN_WHITELIST RTE_BUS_SCAN_ALLOWLIST
-#define RTE_BUS_SCAN_BLACKLIST RTE_BUS_SCAN_BLOCKLIST
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
 
 /**
  * A structure used to configure bus operations.
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 96aa19f6d1b1..6dd72c11a14a 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -57,8 +57,10 @@ enum rte_dev_policy {
 };
 
 /* Backwards compatibility will be removed */
-#define RTE_DEV_WHITELISTED RTE_DEV_ALLOWED
-#define RTE_DEV_BLACKLISTED RTE_DEV_BLOCKED
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
 
 /**
  * A generic memory resource representation.
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 407816343ef0..296f19324fae 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -35,8 +35,10 @@ enum rte_devtype {
 };
 
 /* Backwards compatibility will be removed later */
-#define RTE_DEVTYPE_WHITELISTED_PCI RTE_DEVTYPE_ALLOWED
-#define RTE_DEVTYPE_BLACKLISTED_PCI RTE_DEVTYPE_BLOCKED
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
 
 /**
  * Structure that stores a device given by the user with its arguments
-- 
2.27.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v9 6/6] doc: update release notes now for block allow changes
  2020-11-10 16:10     ` Bruce Richardson
@ 2020-11-10 22:57       ` Stephen Hemminger
  0 siblings, 0 replies; 117+ messages in thread
From: Stephen Hemminger @ 2020-11-10 22:57 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

>    
> 
> Are all the other macro changes non-user visible? Do they need to be called
> out somewhere, or is the above enough?
> 

There are some internal enums used to pass things around but they should
never have been used directly anyway. We don't have a way to mark macros
and enums as internal.

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 1/7] eal: replace usage of blacklist/whitelist in enum
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-11 10:43 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> This patch renames the enum values in the EAL include files.
> As a backward compatible temporary migration tool, define
> a replacement mapping for old values.
> 
> The old names relating to blacklist and whitelist are replaced
> by block list and allow list, but applications may be using the
> older compatibility macros.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Gaetan Rivet <grive@u256.net>
> ---
>  lib/librte_eal/common/eal_common_devargs.c | 14 +++++++-------
>  lib/librte_eal/include/rte_bus.h           |  8 ++++++--
>  lib/librte_eal/include/rte_dev.h           |  8 ++++++--
>  lib/librte_eal/include/rte_devargs.h       |  8 ++++++--
>  4 files changed, 25 insertions(+), 13 deletions(-)

Reviewed-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 2/7] drivers: replace references to blacklist
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-11 10:45 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> Use the new terminology blocked to describe when devices
> are excluded from being used.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> ---
>  drivers/bus/dpaa/dpaa_bus.c        |  7 +++----
>  drivers/bus/fslmc/fslmc_bus.c      |  9 ++++-----
>  drivers/bus/fslmc/fslmc_vfio.c     | 12 ++++++------
>  drivers/bus/pci/pci_common.c       | 24 ++++++++++--------------
>  drivers/bus/vmbus/vmbus_common.c   |  4 ++--
>  drivers/crypto/virtio/virtio_pci.c |  2 +-
>  drivers/net/virtio/virtio_pci.c    |  2 +-
>  7 files changed, 27 insertions(+), 33 deletions(-)

Reviewed-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
@ 2020-11-11 10:45     ` Luca Boccassi
  2020-11-15 18:54     ` Thomas Monjalon
  2020-11-15 20:02     ` Thomas Monjalon
  2 siblings, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-11 10:45 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> 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(-)

Reviewed-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  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 19:50     ` Thomas Monjalon
                       ` (3 subsequent siblings)
  4 siblings, 1 reply; 117+ messages in thread
From: Luca Boccassi @ 2020-11-11 10:46 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> Replace old option syntax -w with -a and update any wording
> around blacklisting.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  doc/guides/cryptodevs/dpaa2_sec.rst           |  6 ++--
>  doc/guides/cryptodevs/dpaa_sec.rst            |  6 ++--
>  doc/guides/cryptodevs/qat.rst                 | 12 ++++----
>  doc/guides/eventdevs/octeontx2.rst            | 20 ++++++-------
>  doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
>  doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
>  doc/guides/linux_gsg/eal_args.include.rst     | 14 +++++-----
>  doc/guides/linux_gsg/linux_drivers.rst        |  4 +--
>  doc/guides/mempool/octeontx2.rst              |  4 +--
>  doc/guides/nics/bnxt.rst                      | 18 ++++++------
>  doc/guides/nics/cxgbe.rst                     | 12 ++++----
>  doc/guides/nics/dpaa.rst                      |  6 ++--
>  doc/guides/nics/dpaa2.rst                     |  6 ++--
>  doc/guides/nics/enic.rst                      |  6 ++--
>  doc/guides/nics/fail_safe.rst                 | 20 ++++++-------
>  doc/guides/nics/features.rst                  |  2 +-
>  doc/guides/nics/i40e.rst                      | 16 +++++------
>  doc/guides/nics/ice.rst                       | 28 +++++++++++++------
>  doc/guides/nics/ixgbe.rst                     |  4 +--
>  doc/guides/nics/mlx4.rst                      | 18 ++++++------
>  doc/guides/nics/mlx5.rst                      | 14 +++++-----
>  doc/guides/nics/nfb.rst                       |  2 +-
>  doc/guides/nics/octeontx2.rst                 | 22 +++++++--------
>  doc/guides/nics/sfc_efx.rst                   |  2 +-
>  doc/guides/nics/tap.rst                       |  2 +-
>  doc/guides/nics/thunderx.rst                  |  4 +--
>  .../prog_guide/env_abstraction_layer.rst      |  8 +++---
>  doc/guides/prog_guide/multi_proc_support.rst  |  4 +--
>  doc/guides/prog_guide/poll_mode_drv.rst       |  6 ++--
>  .../prog_guide/switch_representation.rst      |  6 ++--
>  doc/guides/rel_notes/release_20_11.rst        |  5 ++++
>  doc/guides/sample_app_ug/bbdev_app.rst        | 14 +++++-----
>  .../sample_app_ug/eventdev_pipeline.rst       |  4 +--
>  doc/guides/sample_app_ug/ipsec_secgw.rst      | 12 ++++----
>  doc/guides/sample_app_ug/l3_forward.rst       |  8 ++++--
>  .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
>  .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
>  doc/guides/sample_app_ug/vdpa.rst             |  2 +-
>  doc/guides/tools/cryptoperf.rst               |  6 ++--
>  doc/guides/tools/flow-perf.rst                |  2 +-
>  doc/guides/tools/testregex.rst                |  2 +-
>  41 files changed, 178 insertions(+), 158 deletions(-)

Reviewed-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 5/7] app/test: use new allowlist and blocklist
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-11 10:46 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> Test the renamed blocklist and allowlist arguments.
> Use new terms in test variable names as well.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Luca Boccassi <bluca@debian.org>
> ---
>  app/test/autotest.py        | 16 +++++------
>  app/test/autotest_runner.py | 18 ++++++-------
>  app/test/test.c             |  2 +-
>  app/test/test_eal_flags.c   | 53 +++++++++++++++++++------------------
>  4 files changed, 45 insertions(+), 44 deletions(-)

Reviewed-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 6/7] auto test comment fix
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 6/7] auto test comment fix Stephen Hemminger
@ 2020-11-11 10:47     ` Luca Boccassi
  0 siblings, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-11 10:47 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> ---
>  app/test/autotest_runner.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 7/7] eal: mark old definitions as deprecated
  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
  0 siblings, 0 replies; 117+ messages in thread
From: Luca Boccassi @ 2020-11-11 10:47 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> This patch marks the compatiablity macros with RTE_DEPRECATED
> which causes a warning if used.  There are no remaining warnings
> in the current release.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  lib/librte_eal/include/rte_bus.h     | 6 ++++--
>  lib/librte_eal/include/rte_dev.h     | 6 ++++--
>  lib/librte_eal/include/rte_devargs.h | 6 ++++--
>  3 files changed, 12 insertions(+), 6 deletions(-)

Reviewed-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
  2020-11-11 10:45     ` Luca Boccassi
@ 2020-11-15 18:54     ` Thomas Monjalon
  2020-11-15 20:02     ` Thomas Monjalon
  2 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 18:54 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, bruce.richardson, david.marchand

10/11/2020 23:55, Stephen Hemminger:
> +	/* 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    },
[...]
> +	/* legacy option that will be removed in next LTS */
>  #define OPT_PCI_WHITELIST     "pci-whitelist"
>  	OPT_PCI_WHITELIST_NUM   = 'w',
[...]
> +	/* legacy option that will be removed in next LTS */
> +#define OPT_PCI_BLACKLIST     "pci-blacklist"
> +	OPT_PCI_BLACKLIST_NUM,

Removal has not been decided yet.
I will change to "will be removed in future".



^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  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:50     ` Thomas Monjalon
  2020-11-15 21:56     ` Thomas Monjalon
                       ` (2 subsequent siblings)
  4 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 19:50 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, bluca, bruce.richardson, david.marchand

10/11/2020 23:55, Stephen Hemminger:
> --- a/doc/guides/linux_gsg/eal_args.include.rst
> +++ b/doc/guides/linux_gsg/eal_args.include.rst
> -*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
> +*   ``-a, --allow <[domain:]bus:devid.func>``
>  
> -    Add a PCI device in white list.
> +    Add a PCI device in to the list of probed devices.

Not exactly "probed" but "to be probed".
>  
>  .. Note::
> -    PCI whitelist cannot be used with ``-b`` option.
> +    PCI only list cannot be used with the skip probe ``-b`` option.

"PCI only list", you mean "PCI allow list"?




^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  2020-11-11 10:46     ` Luca Boccassi
@ 2020-11-15 19:58       ` Thomas Monjalon
  2020-11-15 20:00         ` Thomas Monjalon
  0 siblings, 1 reply; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 19:58 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, bruce.richardson, david.marchand

11/11/2020 11:46, Luca Boccassi:
> On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> >  41 files changed, 178 insertions(+), 158 deletions(-)
> 
> Reviewed-by: Luca Boccassi <bluca@debian.org>

There are more occurences to fix:

git grep -Iw -- '-w' | wc -l
36





^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  2020-11-15 19:58       ` Thomas Monjalon
@ 2020-11-15 20:00         ` Thomas Monjalon
  2020-11-15 21:38           ` Thomas Monjalon
  0 siblings, 1 reply; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 20:00 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, bruce.richardson, david.marchand

15/11/2020 20:58, Thomas Monjalon:
> 11/11/2020 11:46, Luca Boccassi:
> > On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> > >  41 files changed, 178 insertions(+), 158 deletions(-)
> > 
> > Reviewed-by: Luca Boccassi <bluca@debian.org>
> 
> There are more occurences to fix:
> 
> git grep -Iw -- '-w' | wc -l
> 36

Even more (thanks David for the regex):

git grep -iE '(white|black)([[:space:]]|-)*list' -- ':^doc/guides/contributingcoding_style.rst' ':^doc/guides/rel_notes' doc | wc -l
12




^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
  2020-11-11 10:45     ` Luca Boccassi
  2020-11-15 18:54     ` Thomas Monjalon
@ 2020-11-15 20:02     ` Thomas Monjalon
  2 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 20:02 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, bruce.richardson, david.marchand

10/11/2020 23:55, Stephen Hemminger:
> 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>
> ---
[...]
> -		if (eal_option_device_add(RTE_DEVTYPE_BLACKLISTED_PCI,
> -				optarg) < 0) {
> +		if (eal_option_device_add(RTE_DEVTYPE_BLOCKED, optarg) < 0)
[...]
> -		if (eal_option_device_add(RTE_DEVTYPE_WHITELISTED_PCI,
> -				optarg) < 0) {
> +		if (eal_option_device_add(RTE_DEVTYPE_ALLOWED, optarg) < 0)

This belongs to the first patch.



^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  2020-11-15 20:00         ` Thomas Monjalon
@ 2020-11-15 21:38           ` Thomas Monjalon
  2020-11-15 21:44             ` Thomas Monjalon
  0 siblings, 1 reply; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 21:38 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, bruce.richardson, david.marchand

15/11/2020 21:00, Thomas Monjalon:
> 15/11/2020 20:58, Thomas Monjalon:
> > 11/11/2020 11:46, Luca Boccassi:
> > > On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> > > >  41 files changed, 178 insertions(+), 158 deletions(-)
> > > 
> > > Reviewed-by: Luca Boccassi <bluca@debian.org>
> > 
> > There are more occurences to fix:
> > 
> > git grep -Iw -- '-w' | wc -l
> > 36
> 
> Even more (thanks David for the regex):
> 
> git grep -iE '(white|black)([[:space:]]|-)*list' -- ':^doc/guides/contributingcoding_style.rst' ':^doc/guides/rel_notes' doc | wc -l
> 12

One more doc update missing: the removal of the deprecation notice.



^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  2020-11-15 21:38           ` Thomas Monjalon
@ 2020-11-15 21:44             ` Thomas Monjalon
  0 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 21:44 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Luca Boccassi, bruce.richardson, david.marchand

15/11/2020 22:38, Thomas Monjalon:
> 15/11/2020 21:00, Thomas Monjalon:
> > 15/11/2020 20:58, Thomas Monjalon:
> > > 11/11/2020 11:46, Luca Boccassi:
> > > > On Tue, 2020-11-10 at 14:55 -0800, Stephen Hemminger wrote:
> > > > >  41 files changed, 178 insertions(+), 158 deletions(-)
> > > > 
> > > > Reviewed-by: Luca Boccassi <bluca@debian.org>
> > > 
> > > There are more occurences to fix:
> > > 
> > > git grep -Iw -- '-w' | wc -l
> > > 36
> > 
> > Even more (thanks David for the regex):
> > 
> > git grep -iE '(white|black)([[:space:]]|-)*list' -- ':^doc/guides/contributingcoding_style.rst' ':^doc/guides/rel_notes' doc | wc -l
> > 12
> 
> One more doc update missing: the removal of the deprecation notice.

Will add these changes:

diff --git a/devtools/test-null.sh b/devtools/test-null.sh
index fa194f01f5..4ba57a6829 100755
--- a/devtools/test-null.sh
+++ b/devtools/test-null.sh
@@ -28,5 +28,5 @@ fi
 
 (sleep 1 && echo stop) |
 $testpmd -c $coremask --no-huge -m 20 \
-       $libs -w 0:0.0 --vdev net_null1 --vdev net_null2 $eal_options -- \
+       $libs -a 0:0.0 --vdev net_null1 --vdev net_null2 $eal_options -- \
        --no-mlockall --total-num-mbufs=2048 $testpmd_options -ia
diff --git a/doc/guides/bbdevs/acc100.rst b/doc/guides/bbdevs/acc100.rst
index b77285479f..9c37bc3be1 100644
--- a/doc/guides/bbdevs/acc100.rst
+++ b/doc/guides/bbdevs/acc100.rst
@@ -241,4 +241,4 @@ Specifically for the BBDEV ACC100 PMD, the command below can be used:
 .. code-block:: console
 
   ./pf_bb_config ACC100 -c acc100/acc100_config_vf_5g.cfg
-  ./test-bbdev.py -e="-c 0xff0 -w${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
+  ./test-bbdev.py -e="-c 0xff0 -a${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst
index 78c1ce7978..161f5e2ae4 100644
--- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
+++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
@@ -304,4 +304,4 @@ Specifically for the BBDEV FPGA 5GNR FEC PMD, the command below can be used:
 .. code-block:: console
 
   ./pf_bb_config FPGA_5GNR -c fpga_5gnr/fpga_5gnr_config_vf.cfg
-  ./test-bbdev.py -e="-c 0xff0 -w${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
+  ./test-bbdev.py -e="-c 0xff0 -a${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst
index f0a05c928e..e268e5b9dc 100644
--- a/doc/guides/bbdevs/fpga_lte_fec.rst
+++ b/doc/guides/bbdevs/fpga_lte_fec.rst
@@ -323,4 +323,4 @@ Specifically for the BBDEV FPGA LTE FEC PMD, the command below can be used:
 .. code-block:: console
 
   ./pf_bb_config FPGA_LTE -c fpga_lte/fpga_lte_config_vf.cfg
-  ./test-bbdev.py -e="-c 0xff0 -w${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./turbo_dec_default.data
+  ./test-bbdev.py -e="-c 0xff0 -a${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./turbo_dec_default.data
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index f98c31e469..233d926e0a 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -514,18 +514,18 @@ For blocking a DPAA2 device, following commands can be used.
 
 Where x is the device object id as configured in resource container.
 
-Running secondary debug app without blacklist
+Running secondary debug app without blocklist
 ---------------------------------------------
 
 dpaa2 hardware imposes limits on some H/W access devices like Management
 Control Port and H/W portal. This causes issue in their shared usages in
 case of multi-process applications. It can overcome by using
-whitelist/blacklist in primary and secondary applications.
+allowlist/blocklist in primary and secondary applications.
 
 In order to ease usage of standard debugging apps like dpdk-procinfo, dpaa2
 driver reserves extra Management Control Port and H/W portal which can be
 used by debug application to debug any existing application without
-blacklisting these devices in primary process.
+blocking these devices in primary process.
 
 Limitations
 -----------
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index 163ae3f47b..5d1cc9f7fa 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -180,7 +180,7 @@ or ``vfio`` in non-IOMMU mode.
 
 In the VM, the kernel enic driver may be automatically bound to the VF during
 boot. Unbinding it currently hangs due to a known issue with the driver. To
-work around the issue, blacklist the enic module as follows.
+work around the issue, block the enic module as follows.
 Please see :ref:`Limitations <enic_limitations>` for limitations in
 the use of SR-IOV.
 
@@ -430,7 +430,7 @@ PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
   - VF devices are not usable directly from the host. They can  only be used
     as assigned devices on VM instances.
   - Currently, unbind of the ENIC kernel mode driver 'enic.ko' on the VM
-    instance may hang. As a workaround, enic.ko should be blacklisted or removed
+    instance may hang. As a workaround, enic.ko should be blocked or removed
     from the boot process.
   - pci_generic cannot be used as the uio module in the VM. igb_uio or
     vfio in non-IOMMU mode can be used.
diff --git a/doc/guides/nics/fm10k.rst b/doc/guides/nics/fm10k.rst
index 0f7c91bbd1..7b8ef0e782 100644
--- a/doc/guides/nics/fm10k.rst
+++ b/doc/guides/nics/fm10k.rst
@@ -19,7 +19,7 @@ resource tag) information, rather than the mac and vlan table. Currently this
 feature works only on PF.
 
 To enable this feature, the user should pass a devargs parameter to the eal
-like "-w 84:00.0,enable_ftag=1", and the application should make sure an
+like "-a 84:00.0,enable_ftag=1", and the application should make sure an
 appropriate FTAG is inserted for every frame on TX side.
 
 Vector PMD for FM10K
diff --git a/doc/guides/prog_guide/compressdev.rst b/doc/guides/prog_guide/compressdev.rst
index a089db1fad..231687d891 100644
--- a/doc/guides/prog_guide/compressdev.rst
+++ b/doc/guides/prog_guide/compressdev.rst
@@ -19,7 +19,7 @@ Physical compression devices are discovered during the bus probe of the EAL func
 which is executed at DPDK initialization, based on their unique device identifier.
 For e.g. PCI devices can be identified using PCI BDF (bus/bridge, device, function).
 Specific physical compression devices, like other physical devices in DPDK can be
-white-listed or black-listed using the EAL command line options.
+listed using the EAL command line options.
 
 Virtual devices can be created by two mechanisms, either using the EAL command
 line options or from within the application using an EAL API directly.
diff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst
index 72129e4b70..473b014a10 100644
--- a/doc/guides/prog_guide/cryptodev_lib.rst
+++ b/doc/guides/prog_guide/cryptodev_lib.rst
@@ -32,7 +32,7 @@ Physical Crypto devices are discovered during the PCI probe/enumeration of the
 EAL function which is executed at DPDK initialization, based on
 their PCI device identifier, each unique PCI BDF (bus/bridge, device,
 function). Specific physical Crypto devices, like other physical devices in DPDK
-can be white-listed or black-listed using the EAL command line options.
+can be listed using the EAL command line options.
 
 Virtual devices can be created by two mechanisms, either using the EAL command
 line options or from within the application using an EAL API directly.
diff --git a/doc/guides/prog_guide/regexdev.rst b/doc/guides/prog_guide/regexdev.rst
index 0d84fb1a19..3d8b591b56 100644
--- a/doc/guides/prog_guide/regexdev.rst
+++ b/doc/guides/prog_guide/regexdev.rst
@@ -30,7 +30,7 @@ Physical RegEx devices are discovered during the PCI probe/enumeration of the
 EAL function which is executed at DPDK initialization, based on
 their PCI device identifier, each unique PCI BDF (bus/bridge, device,
 function). Specific physical ReEx devices, like other physical devices in DPDK
-can be white-listed or black-listed using the EAL command line options.
+can be listed using the EAL command line options.
 
 
 Device Identification
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 8eac073591..96986fabd5 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -28,17 +28,6 @@ Deprecation Notices
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-* eal: The terms blacklist and whitelist to describe devices used
-  by DPDK will be replaced in the 20.11 relase.
-  This will apply to command line arguments.
-
-  The command line arguments to ``rte_eal_init`` will change from
-  ``-b, --pci-blacklist`` to ``-x, --exclude`` and
-  ``-w, --pci-whitelist`` to ``-i, --include``.
-  The old command line arguments will continue to be accepted in 20.11
-  but will cause a runtime warning message. The old arguments will
-  be removed in a future release.
-
 * eal: The function ``rte_eal_remote_launch`` will return new error codes
   after read or write error on the pipe, instead of calling ``rte_panic``.
 
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index b2af9a0755..45e69e36e2 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -106,7 +106,7 @@ where:
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-a <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in allow list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/tools/comp_perf.rst b/doc/guides/tools/comp_perf.rst
index 6ba1076484..9d2f4dbe4a 100644
--- a/doc/guides/tools/comp_perf.rst
+++ b/doc/guides/tools/comp_perf.rst
@@ -53,9 +53,9 @@ See the DPDK Getting Started Guides for more information on these options.
        One lcore is needed for process admin, tests are run on all other cores.
        To run tests on two lcores, three lcores must be passed to the tool.
 
-*   ``-w <PCI>``
+*   ``-a <PCI>``
 
-       Add a PCI device in white list.
+       Add a PCI device in allow list.
 
 *   ``--vdev <driver><id>``
 
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 73cabf0098..79359fe894 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -65,9 +65,9 @@ See the DPDK Getting Started Guides for more information on these options.
         Set the hexadecimal bitmask of the cores to run on. The corelist is a
         list cores to use.
 
-*   ``-w <PCI>``
+*   ``-a <PCI>``
 
-        Add a PCI device in white list.
+        Add a PCI device in allow list.
 
 *   ``--vdev <driver><id>``
 
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index b31678ad05..39b3308577 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -206,7 +206,7 @@ vmbus_parse(const char *name, void *addr)
 /*
  * scan for matching device args on command line
  * example:
- *     -w 'vmbus:635a7ae3-091e-4410-ad59-667c4f8c04c3,latency=20'
+ *     -a 'vmbus:635a7ae3-091e-4410-ad59-667c4f8c04c3,latency=20'
  */
 struct rte_devargs *
 vmbus_devargs_lookup(struct rte_vmbus_device *dev)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 31153518ce..81c8f8d79d 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -5151,21 +5151,21 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs)
 
        /*
         * Handler for "truflow" devarg.
-        * Invoked as for ex: "-w 0000:00:0d.0,host-based-truflow=1"
+        * Invoked as for ex: "-a 0000:00:0d.0,host-based-truflow=1"
         */
        rte_kvargs_process(kvlist, BNXT_DEVARG_TRUFLOW,
                           bnxt_parse_devarg_truflow, bp);
 
        /*
         * Handler for "flow_xstat" devarg.
-        * Invoked as for ex: "-w 0000:00:0d.0,flow_xstat=1"
+        * Invoked as for ex: "-a 0000:00:0d.0,flow_xstat=1"
         */
        rte_kvargs_process(kvlist, BNXT_DEVARG_FLOW_XSTAT,
                           bnxt_parse_devarg_flow_xstat, bp);
 
        /*
         * Handler for "max_num_kflows" devarg.
-        * Invoked as for ex: "-w 000:00:0d.0,max_num_kflows=32"
+        * Invoked as for ex: "-a 000:00:0d.0,max_num_kflows=32"
         */
        rte_kvargs_process(kvlist, BNXT_DEVARG_MAX_NUM_KFLOWS,
                           bnxt_parse_devarg_max_num_kflows, bp);
@@ -5569,7 +5569,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
                if (kvlist) {
                        /*
                         * Handler for "rep_is_pf" devarg.
-                        * Invoked as for ex: "-w 000:00:0d.0,
+                        * Invoked as for ex: "-a 000:00:0d.0,
                         * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
                         */
                        ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_IS_PF,
@@ -5581,7 +5581,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
                        }
                        /*
                         * Handler for "rep_based_pf" devarg.
-                        * Invoked as for ex: "-w 000:00:0d.0,
+                        * Invoked as for ex: "-a 000:00:0d.0,
                         * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
                         */
                        ret = rte_kvargs_process(kvlist,
@@ -5594,7 +5594,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
                        }
                        /*
                         * Handler for "rep_based_pf" devarg.
-                        * Invoked as for ex: "-w 000:00:0d.0,
+                        * Invoked as for ex: "-a 000:00:0d.0,
                         * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
                         */
                        ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_Q_R2F,
@@ -5606,7 +5606,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
                        }
                        /*
                         * Handler for "rep_based_pf" devarg.
-                        * Invoked as for ex: "-w 000:00:0d.0,
+                        * Invoked as for ex: "-a 000:00:0d.0,
                         * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
                         */
                        ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_Q_F2R,
@@ -5618,7 +5618,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
                        }
                        /*
                         * Handler for "rep_based_pf" devarg.
-                        * Invoked as for ex: "-w 000:00:0d.0,
+                        * Invoked as for ex: "-a 000:00:0d.0,
                         * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
                         */
                        ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_FC_R2F,
@@ -5630,7 +5630,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
                        }
                        /*
                         * Handler for "rep_based_pf" devarg.
-                        * Invoked as for ex: "-w 000:00:0d.0,
+                        * Invoked as for ex: "-a 000:00:0d.0,
                         * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
                         */
                        ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_FC_F2R,
diff --git a/examples/ipsec-secgw/test/linux_test.sh b/examples/ipsec-secgw/test/linux_test.sh
index 85dbf7e8a8..8f31154f8d 100644
--- a/examples/ipsec-secgw/test/linux_test.sh
+++ b/examples/ipsec-secgw/test/linux_test.sh
@@ -14,7 +14,7 @@
 #  SGW_PATH    - path to the ipsec-secgw binary to test
 #  REMOTE_HOST - ip/hostname of the DUT
 #  REMOTE_IFACE        - iface name for the test-port on DUT
-#  ETH_DEV     - ethernet device to be used on SUT by DPDK ('-w <pci-id>')
+#  ETH_DEV     - ethernet device to be used on SUT by DPDK ('-a <pci-id>')
 # Also user can optionally setup:
 #  SGW_LCORE   - lcore to run ipsec-secgw on (default value is 0)
 #  SGW_MODE    - run ipsec-secgw in legacy mode or with use of library
@@ -29,7 +29,7 @@
 #              values: cpu-crypto/lookaside-none (unset on default)
 #  CRYPTO_PRIM_TYPE - run ipsec-secgw with crypto primary type set
 #              values: cpu-crypto (unset on default)
-#  CRYPTO_DEV - crypto device to be used ('-w <pci-id>')
+#  CRYPTO_DEV - crypto device to be used ('-a <pci-id>')
 #             if none specified appropriate vdevs will be created by the script
 #  SGW_MULTI_SEG - ipsec-secgw option to enable reassembly support and
 #              specify size of reassembly table (i.e. SGW_MULTI_SEG=128)
diff --git a/examples/ipsec-secgw/test/run_test.sh b/examples/ipsec-secgw/test/run_test.sh
index 1222308bbe..a91dade4fe 100755
--- a/examples/ipsec-secgw/test/run_test.sh
+++ b/examples/ipsec-secgw/test/run_test.sh
@@ -8,10 +8,10 @@
 #  SGW_PATH    - path to the ipsec-secgw binary to test
 #  REMOTE_HOST - ip/hostname of the DUT
 #  REMOTE_IFACE        - iface name for the test-port on DUT
-#  ETH_DEV     - ethernet device to be used on SUT by DPDK ('-w <pci-id>')
+#  ETH_DEV     - ethernet device to be used on SUT by DPDK ('-a <pci-id>')
 # Also user can optionally setup:
 #  SGW_LCORE   - lcore to run ipsec-secgw on (default value is 0)
-#  CRYPTO_DEV  - crypto device to be used ('-w <pci-id>')
+#  CRYPTO_DEV  - crypto device to be used ('-a <pci-id>')
 #             if none specified appropriate vdevs will be created by the script
 #  SGW_MULTI_SEG - ipsec-secgw option to enable reassembly support and
 #              specify size of reassembly table (i.e. SGW_MULTI_SEG=128)





^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  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:50     ` Thomas Monjalon
@ 2020-11-15 21:56     ` Thomas Monjalon
  2020-11-15 21:59     ` Thomas Monjalon
  2020-11-15 22:27     ` Thomas Monjalon
  4 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 21:56 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, bruce.richardson, bluca, david.marchand

10/11/2020 23:55, Stephen Hemminger:
> --- a/doc/guides/nics/ice.rst
> +++ b/doc/guides/nics/ice.rst
> -    -w 80:00.0,pipeline-mode-support=1
> +    -a 80:00.0,pipeline-mode-support=1
> +
> +- ``Flow Mark Support`` (default ``0``)
> +
> +  This is a hint to the driver to select the data path that supports flow mark extraction
> +  by default.
> +  NOTE: This is an experimental devarg, it will be removed when any of below conditions
> +  is ready.
> +  1) all data paths support flow mark (currently vPMD does not)
> +  2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
> +  Example::
> +
> +    -a 80:00.0,flow-mark-support=1

It looks to be a rebase issue.
This is reverting "net/ice: remove devargs for flow mark".



^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options Stephen Hemminger
                       ` (2 preceding siblings ...)
  2020-11-15 21:56     ` Thomas Monjalon
@ 2020-11-15 21:59     ` Thomas Monjalon
  2020-11-15 22:27     ` Thomas Monjalon
  4 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 21:59 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, bluca, bruce.richardson, david.marchand

10/11/2020 23:55, Stephen Hemminger:
> --- a/doc/guides/nics/mlx4.rst
> +++ b/doc/guides/nics/mlx4.rst
> -For this reason, one cannot white/blacklist a single port without also
> -white/blacklisting the others on the same device.
> +For this reason, one cannot block (or allow) a single port without also
> +blocking (o allowing) the others on the same device.

Typo: "or allowing"



^ permalink raw reply	[flat|nested] 117+ messages in thread

* Re: [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options
  2020-11-10 22:55   ` [dpdk-dev] [PATCH v10 4/7] doc: update documentation to reflect new options Stephen Hemminger
                       ` (3 preceding siblings ...)
  2020-11-15 21:59     ` Thomas Monjalon
@ 2020-11-15 22:27     ` Thomas Monjalon
  4 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 22:27 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, bruce.richardson, bluca, david.marchand

10/11/2020 23:55, Stephen Hemminger:
> Replace old option syntax -w with -a and update any wording
> around blacklisting.

I think the other updates for MAC filtering or module blocking
should be in a separate patch, not with -w/-a changes.




^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v11 0/4] replace blacklist/whitelist with block/allow
  2020-09-22 14:31 [dpdk-dev] [PATCH 0/8] replace blacklist/whitelist with block/allow Stephen Hemminger
                   ` (16 preceding siblings ...)
  2020-11-10 22:55 ` [dpdk-dev] [PATCH v10 0/7] " Stephen Hemminger
@ 2020-11-15 22:53 ` Thomas Monjalon
  2020-11-15 22:53   ` [dpdk-dev] [PATCH v11 1/4] eal: replace usage of blacklist/whitelist in enums Thomas Monjalon
                     ` (3 more replies)
  17 siblings, 4 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 22:53 UTC (permalink / raw)
  To: dev; +Cc: stephen, david.marchand, bruce.richardson, bluca

This patch series changes the use of the terms blacklist and whitelist
and instead uses block and allow.  The change is most visible
in the options passed to DPDK programs for marking which devices
to use.

The options are also shortened because they can be used for
not just PCI devices. When DPDK was expanded to support other bus
types the -b option was also uses for non-PCI devices. But the
documentation and the name of the long option never changed.


v11 (Thomas): prepare clean patches for merging in -rc4.
For details, see comments on v10.


Stephen Hemminger (4):
  eal: replace usage of blacklist/whitelist in enums
  eal: replace blacklist/whitelist options
  test: rename blacklist/whitelist in autotest scripts
  doc: replace usage of blacklist/whitelist

 app/test/autotest.py                          | 16 ++---
 app/test/autotest_runner.py                   | 18 ++---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 53 +++++++--------
 devtools/test-null.sh                         |  2 +-
 doc/guides/bbdevs/acc100.rst                  |  2 +-
 doc/guides/bbdevs/fpga_5gnr_fec.rst           |  2 +-
 doc/guides/bbdevs/fpga_lte_fec.rst            |  2 +-
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      | 18 ++---
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     | 12 ++--
 doc/guides/nics/enic.rst                      | 10 +--
 doc/guides/nics/fail_safe.rst                 | 20 +++---
 doc/guides/nics/features.rst                  |  2 +-
 doc/guides/nics/fm10k.rst                     |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 16 ++---
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++----
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 doc/guides/prog_guide/compressdev.rst         |  2 +-
 doc/guides/prog_guide/cryptodev_lib.rst       |  2 +-
 .../prog_guide/env_abstraction_layer.rst      |  8 +--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 doc/guides/prog_guide/regexdev.rst            |  2 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/deprecation.rst          | 23 -------
 doc/guides/rel_notes/release_20_11.rst        |  6 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 10 +--
 doc/guides/sample_app_ug/l3_forward.rst       |  8 ++-
 .../sample_app_ug/l3_forward_access_ctrl.rst  |  2 +-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/comp_perf.rst                |  4 +-
 doc/guides/tools/cryptoperf.rst               | 10 +--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                   |  7 +-
 drivers/bus/fslmc/fslmc_bus.c                 |  9 ++-
 drivers/bus/fslmc/fslmc_vfio.c                | 12 ++--
 drivers/bus/pci/pci_common.c                  | 24 +++----
 drivers/bus/vmbus/vmbus_common.c              |  6 +-
 drivers/crypto/virtio/virtio_pci.c            |  2 +-
 drivers/net/bnxt/bnxt_ethdev.c                | 18 ++---
 drivers/net/virtio/virtio_pci.c               |  2 +-
 examples/ipsec-secgw/test/linux_test.sh       |  4 +-
 examples/ipsec-secgw/test/run_test.sh         |  4 +-
 lib/librte_eal/common/eal_common_devargs.c    | 14 ++--
 lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
 lib/librte_eal/common/eal_options.h           | 13 +++-
 lib/librte_eal/include/rte_bus.h              | 10 ++-
 lib/librte_eal/include/rte_dev.h              | 10 ++-
 lib/librte_eal/include/rte_devargs.h          | 10 ++-
 71 files changed, 349 insertions(+), 331 deletions(-)

-- 
2.28.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v11 1/4] eal: replace usage of blacklist/whitelist in enums
  2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 0/4] replace blacklist/whitelist with block/allow Thomas Monjalon
@ 2020-11-15 22:53   ` Thomas Monjalon
  2020-11-15 22:53   ` [dpdk-dev] [PATCH v11 2/4] eal: replace blacklist/whitelist options Thomas Monjalon
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 22:53 UTC (permalink / raw)
  To: dev
  Cc: stephen, david.marchand, bruce.richardson, bluca, Gaetan Rivet,
	Hemant Agrawal, Ray Kinsella, Neil Horman, Sachin Saxena,
	Stephen Hemminger, Long Li, Jay Zhou, Maxime Coquelin,
	Chenbo Xia

From: Stephen Hemminger <stephen@networkplumber.org>

Rename the enum values in the EAL include files.
As a backward compatible temporary migration tool, define
a replacement mapping for old values.

The old names relating to blacklist and whitelist are replaced
by block list and allow list, but applications may be using the
older compatibility macros, marked as deprecated.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Gaetan Rivet <grive@u256.net>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/rel_notes/deprecation.rst       | 14 +------------
 drivers/bus/dpaa/dpaa_bus.c                |  7 +++----
 drivers/bus/fslmc/fslmc_bus.c              |  9 ++++----
 drivers/bus/fslmc/fslmc_vfio.c             | 12 +++++------
 drivers/bus/pci/pci_common.c               | 24 +++++++++-------------
 drivers/bus/vmbus/vmbus_common.c           |  4 ++--
 drivers/crypto/virtio/virtio_pci.c         |  2 +-
 drivers/net/virtio/virtio_pci.c            |  2 +-
 lib/librte_eal/common/eal_common_devargs.c | 14 ++++++-------
 lib/librte_eal/common/eal_common_options.c |  4 ++--
 lib/librte_eal/include/rte_bus.h           | 10 +++++++--
 lib/librte_eal/include/rte_dev.h           | 10 +++++++--
 lib/librte_eal/include/rte_devargs.h       | 10 +++++++--
 13 files changed, 61 insertions(+), 61 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index efb09f0c5e..8eac073591 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -30,19 +30,7 @@ Deprecation Notices
 
 * eal: The terms blacklist and whitelist to describe devices used
   by DPDK will be replaced in the 20.11 relase.
-  This will apply to command line arguments as well as macros.
-
-  The macro ``RTE_DEV_BLACKLISTED`` will be replaced with ``RTE_DEV_EXCLUDED``
-  and ``RTE_DEV_WHITELISTED`` will be replaced with ``RTE_DEV_INCLUDED``
-  ``RTE_BUS_SCAN_BLACKLIST`` and ``RTE_BUS_SCAN_WHITELIST`` will be
-  replaced with ``RTE_BUS_SCAN_EXCLUDED`` and ``RTE_BUS_SCAN_INCLUDED``
-  respectively. Likewise ``RTE_DEVTYPE_BLACKLISTED_PCI`` and
-  ``RTE_DEVTYPE_WHITELISTED_PCI`` will be replaced with
-  ``RTE_DEVTYPE_EXCLUDED`` and ``RTE_DEVTYPE_INCLUDED``.
-
-  The old macros will be marked as deprecated in 20.11 and any
-  usage will cause a compile warning. They will be removed in
-  a future release.
+  This will apply to command line arguments.
 
   The command line arguments to ``rte_eal_init`` will change from
   ``-b, --pci-blacklist`` to ``-x, --exclude`` and
diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index ece6a4c424..3098e23093 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -584,7 +584,7 @@ rte_dpaa_bus_probe(void)
 	struct rte_dpaa_driver *drv;
 	FILE *svr_file = NULL;
 	unsigned int svr_ver;
-	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	int probe_all = rte_dpaa_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 	static int process_once;
 
 	/* If DPAA bus is not present nothing needs to be done */
@@ -646,13 +646,12 @@ rte_dpaa_bus_probe(void)
 
 			if (!drv->probe ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED))
+			     dev->device.devargs->policy == RTE_DEV_BLOCKED))
 				continue;
 
 			if (probe_all ||
 			    (dev->device.devargs &&
-			    dev->device.devargs->policy ==
-			    RTE_DEV_WHITELISTED)) {
+			     dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA_BUS_ERR("unable to probe:%s",
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index db93669628..58435589b2 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -420,7 +420,7 @@ rte_fslmc_probe(void)
 		return 0;
 	}
 
-	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+	probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
 
 	/* In case of PA, the FD addresses returned by qbman APIs are physical
 	 * addresses, which need conversion into equivalent VA address for
@@ -451,16 +451,15 @@ rte_fslmc_probe(void)
 				continue;
 
 			if (dev->device.devargs &&
-			  dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 					      dev->device.name);
 				continue;
 			}
 
 			if (probe_all ||
 			   (dev->device.devargs &&
-			   dev->device.devargs->policy ==
-			   RTE_DEV_WHITELISTED)) {
+			    dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
 				ret = drv->probe(drv, dev);
 				if (ret) {
 					DPAA2_BUS_ERR("Unable to probe");
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index aba55b46d8..b52f36c33e 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -812,13 +812,13 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			dpmcp_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpmcp_in_blocklist = true;
 		}
 		if (dev->dev_type == DPAA2_IO) {
 			dpio_count++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED)
 				is_dpio_in_blocklist = true;
 		}
 	}
@@ -829,8 +829,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_MPORTAL) {
 			current_device++;
 			if (dev->device.devargs &&
-			    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-				DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+			    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+				DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 					      dev->device.name);
 				TAILQ_REMOVE(&rte_fslmc_bus.device_list,
 						dev, next);
@@ -876,8 +876,8 @@ fslmc_vfio_process_group(void)
 		if (dev->dev_type == DPAA2_IO)
 			current_device++;
 		if (dev->device.devargs &&
-		    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
-			DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+		    dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+			DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
 				      dev->device.name);
 			TAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);
 			continue;
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 39eea464b4..b24c069713 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -67,9 +67,8 @@ pci_name_set(struct rte_pci_device *dev)
 			dev->name, sizeof(dev->name));
 	devargs = pci_devargs_lookup(&dev->addr);
 	dev->device.devargs = devargs;
-	/* In blacklist mode, if the device is not blacklisted, no
-	 * rte_devargs exists for it.
-	 */
+
+	/* If the device is blocked, no rte_devargs exists for it. */
 	if (devargs != NULL)
 		/* If an rte_devargs exists, the generic rte_device uses the
 		 * given name as its name.
@@ -172,7 +171,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 
 	loc = &dev->addr;
 
-	/* The device is not blacklisted; Check if driver supports it */
+	/* The device is not blocked; Check if driver supports it */
 	if (!rte_pci_match(dr, dev))
 		/* Match of device and driver failed */
 		return 1;
@@ -181,12 +180,10 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
 			loc->domain, loc->bus, loc->devid, loc->function,
 			dev->device.numa_node);
 
-	/* no initialization when blacklisted, return without error */
+	/* no initialization when marked as blocked, return without error */
 	if (dev->device.devargs != NULL &&
-		dev->device.devargs->policy ==
-			RTE_DEV_BLACKLISTED) {
-		RTE_LOG(INFO, EAL, "  Device is blacklisted, not"
-			" initializing\n");
+		dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+		RTE_LOG(INFO, EAL, "  Device is blocked, not initializing\n");
 		return 1;
 	}
 
@@ -629,14 +626,13 @@ rte_pci_ignore_device(const struct rte_pci_addr *pci_addr)
 	struct rte_devargs *devargs = pci_devargs_lookup(pci_addr);
 
 	switch (rte_pci_bus.bus.conf.scan_mode) {
-	case RTE_BUS_SCAN_WHITELIST:
-		if (devargs && devargs->policy == RTE_DEV_WHITELISTED)
+	case RTE_BUS_SCAN_ALLOWLIST:
+		if (devargs && devargs->policy == RTE_DEV_ALLOWED)
 			return false;
 		break;
 	case RTE_BUS_SCAN_UNDEFINED:
-	case RTE_BUS_SCAN_BLACKLIST:
-		if (devargs == NULL ||
-		    devargs->policy != RTE_DEV_BLACKLISTED)
+	case RTE_BUS_SCAN_BLOCKLIST:
+		if (devargs == NULL || devargs->policy != RTE_DEV_BLOCKED)
 			return false;
 		break;
 	}
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 4c9ac33ac6..b31678ad05 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -101,7 +101,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
 	VMBUS_LOG(INFO, "VMBUS device %s on NUMA socket %i",
 		  guid, dev->device.numa_node);
 
-	/* TODO add blacklisted */
+	/* TODO add block/allow logic */
 
 	/* map resources for device */
 	ret = rte_vmbus_map_device(dev);
@@ -177,7 +177,7 @@ rte_vmbus_probe(void)
 
 		rte_uuid_unparse(dev->device_id, ubuf, sizeof(ubuf));
 
-		/* TODO: add whitelist/blacklist */
+		/* TODO: add allowlist/blocklist */
 
 		if (vmbus_probe_all_drivers(dev) < 0) {
 			VMBUS_LOG(NOTICE,
diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c
index f490f6e289..ae069794a6 100644
--- a/drivers/crypto/virtio/virtio_pci.c
+++ b/drivers/crypto/virtio/virtio_pci.c
@@ -438,7 +438,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 9915eabf68..d6b950ee69 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -682,7 +682,7 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  * Return -1:
  *   if there is error mapping with VFIO/UIO.
  *   if port map error when driver type is KDRV_NONE.
- *   if whitelisted but driver type is KDRV_UNKNOWN.
+ *   if marked as allowed but driver type is KDRV_UNKNOWN.
  * Return 1 if kernel driver is managing the device.
  * Return 0 on success.
  */
diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 2123773ef8..fcf3d9a3cc 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -296,7 +296,7 @@ rte_devargs_insert(struct rte_devargs **da)
 	return 0;
 }
 
-/* store a whitelist parameter for later parsing */
+/* store in allowed list parameter for later parsing */
 int
 rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
@@ -313,13 +313,13 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 		goto fail;
 	devargs->type = devtype;
 	bus = devargs->bus;
-	if (devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI)
-		devargs->policy = RTE_DEV_BLACKLISTED;
+	if (devargs->type == RTE_DEVTYPE_BLOCKED)
+		devargs->policy = RTE_DEV_BLOCKED;
 	if (bus->conf.scan_mode == RTE_BUS_SCAN_UNDEFINED) {
-		if (devargs->policy == RTE_DEV_WHITELISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_WHITELIST;
-		else if (devargs->policy == RTE_DEV_BLACKLISTED)
-			bus->conf.scan_mode = RTE_BUS_SCAN_BLACKLIST;
+		if (devargs->policy == RTE_DEV_ALLOWED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_ALLOWLIST;
+		else if (devargs->policy == RTE_DEV_BLOCKED)
+			bus->conf.scan_mode = RTE_BUS_SCAN_BLOCKLIST;
 	}
 	TAILQ_INSERT_TAIL(&devargs_list, devargs, next);
 	return 0;
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 7b33416836..47b3eb1ccb 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -1455,7 +1455,7 @@ eal_parse_common_option(int opt, const char *optarg,
 	case 'b':
 		if (w_used)
 			goto bw_used;
-		if (eal_option_device_add(RTE_DEVTYPE_BLACKLISTED_PCI,
+		if (eal_option_device_add(RTE_DEVTYPE_BLOCKED,
 				optarg) < 0) {
 			return -1;
 		}
@@ -1465,7 +1465,7 @@ eal_parse_common_option(int opt, const char *optarg,
 	case 'w':
 		if (b_used)
 			goto bw_used;
-		if (eal_option_device_add(RTE_DEVTYPE_WHITELISTED_PCI,
+		if (eal_option_device_add(RTE_DEVTYPE_ALLOWED,
 				optarg) < 0) {
 			return -1;
 		}
diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
index d3034d0edf..80b154fb98 100644
--- a/lib/librte_eal/include/rte_bus.h
+++ b/lib/librte_eal/include/rte_bus.h
@@ -215,10 +215,16 @@ typedef int (*rte_bus_sigbus_handler_t)(const void *failure_addr);
  */
 enum rte_bus_scan_mode {
 	RTE_BUS_SCAN_UNDEFINED,
-	RTE_BUS_SCAN_WHITELIST,
-	RTE_BUS_SCAN_BLACKLIST,
+	RTE_BUS_SCAN_ALLOWLIST,
+	RTE_BUS_SCAN_BLOCKLIST,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_BUS_SCAN_WHITELIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_WHITELIST) RTE_BUS_SCAN_ALLOWLIST
+#define RTE_BUS_SCAN_BLACKLIST \
+	RTE_DEPRECATED(RTE_BUS_SCAN_BLACKLIST) RTE_BUS_SCAN_BLOCKLIST
+
 /**
  * A structure used to configure bus operations.
  */
diff --git a/lib/librte_eal/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
index 81905b3ae3..6dd72c11a1 100644
--- a/lib/librte_eal/include/rte_dev.h
+++ b/lib/librte_eal/include/rte_dev.h
@@ -52,10 +52,16 @@ typedef void (*rte_dev_event_cb_fn)(const char *device_name,
  * Device policies.
  */
 enum rte_dev_policy {
-	RTE_DEV_WHITELISTED,
-	RTE_DEV_BLACKLISTED,
+	RTE_DEV_ALLOWED,
+	RTE_DEV_BLOCKED,
 };
 
+/* Backwards compatibility will be removed */
+#define RTE_DEV_WHITELISTED \
+	RTE_DEPRECATED(RTE_DEV_WHITELISTED) RTE_DEV_ALLOWED
+#define RTE_DEV_BLACKLISTED \
+	RTE_DEPRECATED(RTE_DEV_BLACKLISTED) RTE_DEV_BLOCKED
+
 /**
  * A generic memory resource representation.
  */
diff --git a/lib/librte_eal/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
index 898efa0d66..296f19324f 100644
--- a/lib/librte_eal/include/rte_devargs.h
+++ b/lib/librte_eal/include/rte_devargs.h
@@ -29,11 +29,17 @@ extern "C" {
  * Type of generic device
  */
 enum rte_devtype {
-	RTE_DEVTYPE_WHITELISTED_PCI,
-	RTE_DEVTYPE_BLACKLISTED_PCI,
+	RTE_DEVTYPE_ALLOWED,
+	RTE_DEVTYPE_BLOCKED,
 	RTE_DEVTYPE_VIRTUAL,
 };
 
+/* Backwards compatibility will be removed later */
+#define RTE_DEVTYPE_WHITELISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_WHITELISTED_PCI) RTE_DEVTYPE_ALLOWED
+#define RTE_DEVTYPE_BLACKLISTED_PCI \
+	RTE_DEPRECATED(RTE_DEVTYPE_BLACKLISTED_PCI) RTE_DEVTYPE_BLOCKED
+
 /**
  * Structure that stores a device given by the user with its arguments
  *
-- 
2.28.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v11 2/4] eal: replace blacklist/whitelist options
  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   ` 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
  3 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 22:53 UTC (permalink / raw)
  To: dev
  Cc: stephen, david.marchand, bruce.richardson, bluca, Ferruh Yigit,
	Andrew Rybchenko, Nicolas Chautru, Akhil Goyal, Hemant Agrawal,
	John Griffin, Fiona Trahe, Deepak Kumar Jain, Pavan Nikhilesh,
	Jerin Jacob, Nithin Dabilpuram, Ajit Khaparde, Somnath Kotur,
	Rahul Lakkireddy, Sachin Saxena, John Daley, Hyong Youb Kim,
	Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing, Jeff Guo,
	Qiming Yang, Haiyue Wang, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Martin Spinler, Kiran Kumar K, Keith Wiles,
	Maciej Czekaj, Ashish Gupta, Anatoly Burakov, Ori Kam,
	Ray Kinsella, Neil Horman, Harry van Haaren, Radu Nicolau,
	David Hunt, Maxime Coquelin, Chenbo Xia, Declan Doherty,
	Wisam Jaddo, Stephen Hemminger, Long Li

From: Stephen Hemminger <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>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 app/test/test.c                               |  2 +-
 app/test/test_eal_flags.c                     | 53 +++++++--------
 devtools/test-null.sh                         |  2 +-
 doc/guides/bbdevs/acc100.rst                  |  2 +-
 doc/guides/bbdevs/fpga_5gnr_fec.rst           |  2 +-
 doc/guides/bbdevs/fpga_lte_fec.rst            |  2 +-
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +-
 doc/guides/cryptodevs/dpaa_sec.rst            |  6 +-
 doc/guides/cryptodevs/qat.rst                 | 12 ++--
 doc/guides/eventdevs/octeontx2.rst            | 20 +++---
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 doc/guides/linux_gsg/eal_args.include.rst     | 14 ++--
 doc/guides/linux_gsg/linux_drivers.rst        |  4 +-
 doc/guides/mempool/octeontx2.rst              |  4 +-
 doc/guides/nics/bnxt.rst                      |  8 +--
 doc/guides/nics/cxgbe.rst                     | 12 ++--
 doc/guides/nics/dpaa.rst                      |  6 +-
 doc/guides/nics/dpaa2.rst                     | 12 ++--
 doc/guides/nics/enic.rst                      |  6 +-
 doc/guides/nics/fail_safe.rst                 | 20 +++---
 doc/guides/nics/fm10k.rst                     |  2 +-
 doc/guides/nics/i40e.rst                      | 16 ++---
 doc/guides/nics/ice.rst                       | 14 ++--
 doc/guides/nics/ixgbe.rst                     |  4 +-
 doc/guides/nics/mlx4.rst                      | 18 ++---
 doc/guides/nics/mlx5.rst                      | 14 ++--
 doc/guides/nics/nfb.rst                       |  2 +-
 doc/guides/nics/octeontx2.rst                 | 22 +++----
 doc/guides/nics/sfc_efx.rst                   |  2 +-
 doc/guides/nics/tap.rst                       |  2 +-
 doc/guides/nics/thunderx.rst                  |  4 +-
 doc/guides/prog_guide/compressdev.rst         |  2 +-
 doc/guides/prog_guide/cryptodev_lib.rst       |  2 +-
 .../prog_guide/env_abstraction_layer.rst      |  8 +--
 doc/guides/prog_guide/multi_proc_support.rst  |  4 +-
 doc/guides/prog_guide/poll_mode_drv.rst       |  6 +-
 doc/guides/prog_guide/regexdev.rst            |  2 +-
 .../prog_guide/switch_representation.rst      |  6 +-
 doc/guides/rel_notes/deprecation.rst          | 11 ----
 doc/guides/rel_notes/release_20_11.rst        |  6 ++
 doc/guides/sample_app_ug/bbdev_app.rst        | 14 ++--
 .../sample_app_ug/eventdev_pipeline.rst       |  4 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst      | 10 +--
 doc/guides/sample_app_ug/l3_forward.rst       |  8 ++-
 .../sample_app_ug/l3_forward_power_man.rst    |  3 +-
 doc/guides/sample_app_ug/vdpa.rst             |  2 +-
 doc/guides/tools/comp_perf.rst                |  4 +-
 doc/guides/tools/cryptoperf.rst               | 10 +--
 doc/guides/tools/flow-perf.rst                |  2 +-
 doc/guides/tools/testregex.rst                |  2 +-
 drivers/bus/vmbus/vmbus_common.c              |  2 +-
 drivers/net/bnxt/bnxt_ethdev.c                | 18 ++---
 examples/ipsec-secgw/test/linux_test.sh       |  4 +-
 examples/ipsec-secgw/test/run_test.sh         |  4 +-
 lib/librte_eal/common/eal_common_options.c    | 66 +++++++++++--------
 lib/librte_eal/common/eal_options.h           | 13 +++-
 57 files changed, 264 insertions(+), 246 deletions(-)

diff --git a/app/test/test.c b/app/test/test.c
index f27a56e033..ba0b0309b5 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -61,7 +61,7 @@ do_recursive_call(void)
 			{ "test_main_lcore_flag", no_action },
 			{ "test_invalid_n_flag", no_action },
 			{ "test_no_hpet_flag", no_action },
-			{ "test_whitelist_flag", no_action },
+			{ "test_allow_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
 			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index da119d4e4a..85b6c6d7c7 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -30,7 +30,7 @@
 #define no_hpet "--no-hpet"
 #define no_huge "--no-huge"
 #define no_shconf "--no-shconf"
-#define pci_whitelist "--pci-whitelist"
+#define allow "--allow"
 #define vdev "--vdev"
 #define memtest "memtest"
 #define memtest1 "memtest1"
@@ -223,12 +223,12 @@ get_number_of_sockets(void)
 #endif
 
 /*
- * Test that the app doesn't run with invalid whitelist option.
+ * Test that the app doesn't run with invalid allow option.
  * Final tests ensures it does run with valid options as sanity check (one
  * test for with Domain+BDF, second for just with BDF)
  */
 static int
-test_whitelist_flag(void)
+test_allow_flag(void)
 {
 	unsigned i;
 #ifdef RTE_EXEC_ENV_FREEBSD
@@ -245,45 +245,45 @@ test_whitelist_flag(void)
 
 	const char *wlinval[][7] = {
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error", "", ""},
+				allow, "error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0", "", ""},
+				allow, "0:0:0", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:error:0.1", "", ""},
+				allow, "0:error:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1error", "", ""},
+				allow, "0:0:0.1error", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "error0:0:0.1", "", ""},
+				allow, "error0:0:0.1", "", ""},
 		{prgname, prefix, mp_flag,
-				pci_whitelist, "0:0:0.1.2", "", ""},
+				allow, "0:0:0.1.2", "", ""},
 	};
-	/* Test with valid whitelist option */
+	/* Test with valid allow option */
 	const char *wlval1[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "00FF:09:0B.3"};
+			allow, "00FF:09:0B.3"};
 	const char *wlval2[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3", pci_whitelist, "0a:0b.1"};
+			allow, "09:0B.3", allow, "0a:0b.1"};
 	const char *wlval3[] = {prgname, prefix, mp_flag,
-			pci_whitelist, "09:0B.3,type=test",
-			pci_whitelist, "08:00.1,type=normal",
+			allow, "09:0B.3,type=test",
+			allow, "08:00.1,type=normal",
 	};
 
 	for (i = 0; i < RTE_DIM(wlinval); i++) {
 		if (launch_proc(wlinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "whitelist parameter\n");
+			    "allow parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(wlval1) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist\n");
+		printf("Error - process did not run ok with valid allow\n");
 		return -1;
 	}
 	if (launch_proc(wlval2) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist value set\n");
+		printf("Error - process did not run ok with valid allow value set\n");
 		return -1;
 	}
 	if (launch_proc(wlval3) != 0 ) {
-		printf("Error - process did not run ok with valid whitelist + args\n");
+		printf("Error - process did not run ok with valid allow + args\n");
 		return -1;
 	}
 
@@ -291,7 +291,7 @@ test_whitelist_flag(void)
 }
 
 /*
- * Test that the app doesn't run with invalid blacklist option.
+ * Test that the app doesn't run with invalid blocklist option.
  * Final test ensures it does run with valid options as sanity check
  */
 static int
@@ -317,7 +317,7 @@ test_invalid_b_flag(void)
 		{prgname, prefix, mp_flag, "-b", "error0:0:0.1"},
 		{prgname, prefix, mp_flag, "-b", "0:0:0.1.2"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *blval[] = {prgname, prefix, mp_flag,
 			       "-b", "FF:09:0B.3"};
 
@@ -326,12 +326,12 @@ test_invalid_b_flag(void)
 	for (i = 0; i != RTE_DIM(blinval); i++) {
 		if (launch_proc(blinval[i]) == 0) {
 			printf("Error - process did run ok with invalid "
-			    "blacklist parameter\n");
+			    "blocklist parameter\n");
 			return -1;
 		}
 	}
 	if (launch_proc(blval) != 0) {
-		printf("Error - process did not run ok with valid blacklist value\n");
+		printf("Error - process did not run ok with valid blocklist value\n");
 		return -1;
 	}
 	return 0;
@@ -419,7 +419,7 @@ test_invalid_r_flag(void)
 			{prgname, prefix, mp_flag, "-r", "-1"},
 			{prgname, prefix, mp_flag, "-r", "17"},
 	};
-	/* Test with valid blacklist option */
+	/* Test with valid blocklist option */
 	const char *rval[] = {prgname, prefix, mp_flag, "-r", "16"};
 
 	int i;
@@ -1492,9 +1492,9 @@ test_eal_flags(void)
 		return ret;
 	}
 
-	ret = test_whitelist_flag();
+	ret = test_allow_flag();
 	if (ret < 0) {
-		printf("Error in test_invalid_whitelist_flag()\n");
+		printf("Error in test_allow_flag()\n");
 		return ret;
 	}
 
@@ -1546,7 +1546,8 @@ REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
 REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);
 REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag);
 REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag);
-REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_whitelist_flag);
+REGISTER_TEST_COMMAND(eal_flags_w_opt_autotest, test_allow_flag); /* for legacy CI */
+REGISTER_TEST_COMMAND(eal_flags_a_opt_autotest, test_allow_flag);
 REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag);
 REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag);
 REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag);
diff --git a/devtools/test-null.sh b/devtools/test-null.sh
index fa194f01f5..4ba57a6829 100755
--- a/devtools/test-null.sh
+++ b/devtools/test-null.sh
@@ -28,5 +28,5 @@ fi
 
 (sleep 1 && echo stop) |
 $testpmd -c $coremask --no-huge -m 20 \
-	$libs -w 0:0.0 --vdev net_null1 --vdev net_null2 $eal_options -- \
+	$libs -a 0:0.0 --vdev net_null1 --vdev net_null2 $eal_options -- \
 	--no-mlockall --total-num-mbufs=2048 $testpmd_options -ia
diff --git a/doc/guides/bbdevs/acc100.rst b/doc/guides/bbdevs/acc100.rst
index b77285479f..9c37bc3be1 100644
--- a/doc/guides/bbdevs/acc100.rst
+++ b/doc/guides/bbdevs/acc100.rst
@@ -241,4 +241,4 @@ Specifically for the BBDEV ACC100 PMD, the command below can be used:
 .. code-block:: console
 
   ./pf_bb_config ACC100 -c acc100/acc100_config_vf_5g.cfg
-  ./test-bbdev.py -e="-c 0xff0 -w${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
+  ./test-bbdev.py -e="-c 0xff0 -a${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst
index 78c1ce7978..161f5e2ae4 100644
--- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
+++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
@@ -304,4 +304,4 @@ Specifically for the BBDEV FPGA 5GNR FEC PMD, the command below can be used:
 .. code-block:: console
 
   ./pf_bb_config FPGA_5GNR -c fpga_5gnr/fpga_5gnr_config_vf.cfg
-  ./test-bbdev.py -e="-c 0xff0 -w${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
+  ./test-bbdev.py -e="-c 0xff0 -a${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./ldpc_dec_default.data
diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst
index f0a05c928e..e268e5b9dc 100644
--- a/doc/guides/bbdevs/fpga_lte_fec.rst
+++ b/doc/guides/bbdevs/fpga_lte_fec.rst
@@ -323,4 +323,4 @@ Specifically for the BBDEV FPGA LTE FEC PMD, the command below can be used:
 .. code-block:: console
 
   ./pf_bb_config FPGA_LTE -c fpga_lte/fpga_lte_config_vf.cfg
-  ./test-bbdev.py -e="-c 0xff0 -w${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./turbo_dec_default.data
+  ./test-bbdev.py -e="-c 0xff0 -a${VF_PCI_ADDR}" -c validation -n 64 -b 32 -l 1 -v ./turbo_dec_default.data
diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 080768a2e7..83565d7175 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -134,10 +134,10 @@ Supported DPAA2 SoCs
 * LS2088A/LS2048A
 * LS1088A/LS1048A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 SEC device, following commands can be used.
+The DPAA2 SEC device can be blocked with the following:
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index da14a68d9c..bac82421bc 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -82,10 +82,10 @@ Supported DPAA SoCs
 * LS1046A/LS1026A
 * LS1043A/LS1023A
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index 566423948f..cf16f03503 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -127,7 +127,7 @@ Limitations
   optimisations in the GEN3 device. And if a GCM session is initialised on a
   GEN3 device, then attached to an op sent to a GEN1/GEN2 device, it will not be
   enqueued to the device and will be marked as failed. The simplest way to
-  mitigate this is to use the bdf whitelist to avoid mixing devices of different
+  mitigate this is to use the PCI allowlist to avoid mixing devices of different
   generations in the same process if planning to use for GCM.
 * The mixed algo feature on GEN2 is not supported by all kernel drivers. Check
   the notes under the Available Kernel Drivers table below for specific details.
@@ -237,7 +237,7 @@ adjusted to the number of VFs which the QAT common code will need to handle.
         QAT VF may expose two crypto devices, sym and asym, it may happen that the
         number of devices will be bigger than MAX_DEVS and the process will show an error
         during PMD initialisation. To avoid this problem RTE_CRYPTO_MAX_DEVS may be
-        increased or -w, pci-whitelist domain:bus:devid:func option may be used.
+        increased or -a, allow domain:bus:devid:func option may be used.
 
 
 QAT compression PMD needs intermediate buffers to support Deflate compression
@@ -275,7 +275,7 @@ return 0 (thereby avoiding an MMIO) if the device is congested and number of pac
 possible to enqueue is smaller.
 To use this feature the user must set the parameter on process start as a device additional parameter::
 
-  -w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
+  -a 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16
 
 All parameters can be used with the same device regardless of order. Parameters are separated
 by comma. When the same parameter is used more than once first occurrence of the parameter
@@ -638,19 +638,19 @@ Testing
 QAT SYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_autotest
 
 QAT ASYM crypto PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>cryptodev_qat_asym_autotest
 
 QAT compression PMD can be tested by running the test application::
 
     cd ./<build_dir>/app/test
-    ./dpdk-test -l1 -n1 -w <your qat bdf>
+    ./dpdk-test -l1 -n1 -a <your qat bdf>
     RTE>>compressdev_autotest
 
 
diff --git a/doc/guides/eventdevs/octeontx2.rst b/doc/guides/eventdevs/octeontx2.rst
index 242d283965..485a375c4f 100644
--- a/doc/guides/eventdevs/octeontx2.rst
+++ b/doc/guides/eventdevs/octeontx2.rst
@@ -55,7 +55,7 @@ Runtime Config Options
   upper limit for in-flight events.
   For example::
 
-    -w 0002:0e:00.0,xae_cnt=16384
+    -a 0002:0e:00.0,xae_cnt=16384
 
 - ``Force legacy mode``
 
@@ -63,7 +63,7 @@ Runtime Config Options
   single workslot mode in SSO and disable the default dual workslot mode.
   For example::
 
-    -w 0002:0e:00.0,single_ws=1
+    -a 0002:0e:00.0,single_ws=1
 
 - ``Event Group QoS support``
 
@@ -78,7 +78,7 @@ Runtime Config Options
   default.
   For example::
 
-    -w 0002:0e:00.0,qos=[1-50-50-50]
+    -a 0002:0e:00.0,qos=[1-50-50-50]
 
 - ``Selftest``
 
@@ -87,7 +87,7 @@ Runtime Config Options
   The tests are run once the vdev creation is successfully complete.
   For example::
 
-    -w 0002:0e:00.0,selftest=1
+    -a 0002:0e:00.0,selftest=1
 
 - ``TIM disable NPA``
 
@@ -96,7 +96,7 @@ Runtime Config Options
   parameter disables NPA and uses software mempool to manage chunks
   For example::
 
-    -w 0002:0e:00.0,tim_disable_npa=1
+    -a 0002:0e:00.0,tim_disable_npa=1
 
 - ``TIM modify chunk slots``
 
@@ -107,7 +107,7 @@ Runtime Config Options
   to SSO. The default value is 255 and the max value is 4095.
   For example::
 
-    -w 0002:0e:00.0,tim_chnk_slots=1023
+    -a 0002:0e:00.0,tim_chnk_slots=1023
 
 - ``TIM enable arm/cancel statistics``
 
@@ -115,7 +115,7 @@ Runtime Config Options
   event timer adapter.
   For example::
 
-    -w 0002:0e:00.0,tim_stats_ena=1
+    -a 0002:0e:00.0,tim_stats_ena=1
 
 - ``TIM limit max rings reserved``
 
@@ -125,7 +125,7 @@ Runtime Config Options
   rings.
   For example::
 
-    -w 0002:0e:00.0,tim_rings_lmt=5
+    -a 0002:0e:00.0,tim_rings_lmt=5
 
 - ``TIM ring control internal parameters``
 
@@ -135,7 +135,7 @@ Runtime Config Options
   default values.
   For Example::
 
-    -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+    -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
 
 - ``Lock NPA contexts in NDC``
 
@@ -145,7 +145,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:0e:00.0,npa_lock_mask=0xf
+      -a 0002:0e:00.0,npa_lock_mask=0xf
 
 Debugging Options
 -----------------
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 2a68f5fc38..4fba671e4f 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -67,7 +67,7 @@ DPDK application. Some of the EAL options for FreeBSD are as follows:
     is a list of cores to use instead of a core mask.
 
 *   ``-b <domain:bus:devid.func>``:
-    Blacklisting of ports; prevent EAL from using specified PCI device
+    Blocklisting of ports; prevent EAL from using specified PCI device
     (multiple ``-b`` options are allowed).
 
 *   ``--use-device``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 542246df68..043a1dcee1 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -53,7 +53,7 @@ The EAL options are as follows:
   Number of memory channels per processor socket.
 
 * ``-b <domain:bus:devid.func>``:
-  Blacklisting of ports; prevent EAL from using specified PCI device
+  Blocklisting of ports; prevent EAL from using specified PCI device
   (multiple ``-b`` options are allowed).
 
 * ``--use-device``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 01afa1b42f..96baa4a9b0 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -44,20 +44,20 @@ Lcore-related options
 Device-related options
 ~~~~~~~~~~~~~~~~~~~~~~
 
-*   ``-b, --pci-blacklist <[domain:]bus:devid.func>``
+*   ``-b, --block <[domain:]bus:devid.func>``
 
-    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are
-    allowed.
+    Skip probing a PCI device to prevent EAL from using it.
+    Multiple -b options are allowed.
 
 .. Note::
-    PCI blacklist cannot be used with ``-w`` option.
+    Block list cannot be used with the allow list ``-a`` option.
 
-*   ``-w, --pci-whitelist <[domain:]bus:devid.func>``
+*   ``-a, --allow <[domain:]bus:devid.func>``
 
-    Add a PCI device in white list.
+    Add a PCI device in to the list of devices to probe.
 
 .. Note::
-    PCI whitelist cannot be used with ``-b`` option.
+    Allow list cannot be used with the block list ``-b`` option.
 
 *   ``--vdev <device arguments>``
 
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 080b44955a..ef8798569a 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -93,11 +93,11 @@ parameter ``--vfio-vf-token``.
     3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
 
     4. Start the PF:
-        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -w 86:00.0 \
+        <build_dir>/app/dpdk-testpmd -l 22-25 -n 4 -a 86:00.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
 
     5. Start the VF:
-        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -w 86:02.0 \
+        <build_dir>/app/dpdk-testpmd -l 26-29 -n 4 -a 86:02.0 \
          --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
 
 Also, to use VFIO, both kernel and BIOS must support and be configured to use IO virtualization (such as Intel® VT-d).
diff --git a/doc/guides/mempool/octeontx2.rst b/doc/guides/mempool/octeontx2.rst
index 53f09a52db..1272c1e72b 100644
--- a/doc/guides/mempool/octeontx2.rst
+++ b/doc/guides/mempool/octeontx2.rst
@@ -42,7 +42,7 @@ Runtime Config Options
   for the application.
   For example::
 
-    -w 0002:02:00.0,max_pools=512
+    -a 0002:02:00.0,max_pools=512
 
   With the above configuration, the driver will set up only 512 mempools for
   the given application to save HW resources.
@@ -61,7 +61,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 Debugging Options
 ~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index ab093c3f4d..de0c37ce5b 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -683,7 +683,7 @@ The feature uses a newly implemented control-plane firmware interface which
 optimizes flow insertions and deletions.
 
 This is a tech preview feature, and is disabled by default. It can be enabled
-using bnxt devargs. For ex: "-w 0000:0d:00.0,host-based-truflow=1”.
+using bnxt devargs. For ex: "-a 0000:0d:00.0,host-based-truflow=1”.
 
 Notes
 -----
@@ -745,7 +745,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
 of VF IDs of the VFs for which the representors are needed by using the
 ``devargs`` option ``representor``.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Note that currently hot-plugging of representor ports is not supported so all
 the required representors must be specified on the creation of the PF or the
@@ -770,12 +770,12 @@ same host domain, additional dev args have been added to the PMD.
 
 The sample command line with the new ``devargs`` looks like this::
 
-  -w 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
+  -a 0000:06:02.0,host-based-truflow=1,representor=[1],rep-based-pf=8,\
 	rep-is-pf=1,rep-q-r2f=1,rep-fc-r2f=0,rep-q-f2r=1,rep-fc-f2r=1
 
 .. code-block:: console
 
-	testpmd -l1-4 -n2 -w 0008:01:00.0,host-based-truflow=1,\
+	testpmd -l1-4 -n2 -a 0008:01:00.0,host-based-truflow=1,\
 	representor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\
 	rep-q-f2r=0,rep-fc-f2r=1 --log-level="pmd.*",8 -- -i --rxq=3 --txq=3
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 3fa77d7458..f01cd65603 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -40,8 +40,8 @@ expose a single PCI bus address, thus, librte_net_cxgbe registers
 itself as a PCI driver that allocates one Ethernet device per detected
 port.
 
-For this reason, one cannot whitelist/blacklist a single port without
-whitelisting/blacklisting the other ports on the same device.
+For this reason, one cannot allow/block a single port without
+allowing/blocking the other ports on the same device.
 
 .. _t5-nics:
 
@@ -96,7 +96,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
+   dpdk-testpmd -a 02:00.4,keep_ovlan=1 -- -i
 
 Common Runtime Options
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -301,7 +301,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88 -- -i
 
 - ``filtermask`` (default **0**)
 
@@ -328,7 +328,7 @@ CXGBE PF Only Runtime Options
 
   .. code-block:: console
 
-     dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+     dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
 .. _driver-compilation:
 
@@ -760,7 +760,7 @@ devices managed by librte_net_cxgbe in FreeBSD operating system.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:02:00.4 -- -i
 
    Example output:
 
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index ae1642b15e..917482dbe2 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -163,10 +163,10 @@ Manager.
   this pool.
 
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA device, following commands can be used.
+For blocking a DPAA device, following commands can be used.
 
  .. code-block:: console
 
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index c9deb53349..233d926e0a 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -503,10 +503,10 @@ which are lower than logging ``level``.
 Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled
 which are lower than logging ``level``.
 
-Whitelisting & Blacklisting
----------------------------
+Allowing & Blocking
+-------------------
 
-For blacklisting a DPAA2 device, following commands can be used.
+For blocking a DPAA2 device, following commands can be used.
 
  .. code-block:: console
 
@@ -514,18 +514,18 @@ For blacklisting a DPAA2 device, following commands can be used.
 
 Where x is the device object id as configured in resource container.
 
-Running secondary debug app without blacklist
+Running secondary debug app without blocklist
 ---------------------------------------------
 
 dpaa2 hardware imposes limits on some H/W access devices like Management
 Control Port and H/W portal. This causes issue in their shared usages in
 case of multi-process applications. It can overcome by using
-whitelist/blacklist in primary and secondary applications.
+allowlist/blocklist in primary and secondary applications.
 
 In order to ease usage of standard debugging apps like dpdk-procinfo, dpaa2
 driver reserves extra Management Control Port and H/W portal which can be
 used by debug application to debug any existing application without
-blacklisting these devices in primary process.
+blocking these devices in primary process.
 
 Limitations
 -----------
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index c624487683..163ae3f47b 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -305,7 +305,7 @@ enables overlay offload, it prints the following message on the console.
 By default, PMD enables overlay offload if hardware supports it. To disable
 it, set ``devargs`` parameter ``disable-overlay=1``. For example::
 
-    -w 12:00.0,disable-overlay=1
+    -a 12:00.0,disable-overlay=1
 
 By default, the NIC uses 4789 as the VXLAN port. The user may change
 it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -371,7 +371,7 @@ vectorized handler, take the following steps.
   PMD consider the vectorized handler when selecting the receive handler.
   For example::
 
-    -w 12:00.0,enable-avx2-rx=1
+    -a 12:00.0,enable-avx2-rx=1
 
   As the current implementation is intended for field trials, by default, the
   vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -420,7 +420,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
 PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
 ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
 
-    -w 12:00.0,ig-vlan-rewrite=untag
+    -a 12:00.0,ig-vlan-rewrite=untag
 
 - **SR-IOV**
 
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index 27ff306b1a..ae9f08ec8d 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -48,7 +48,7 @@ Fail-safe command line parameters
 
   This parameter allows the user to define a sub-device. The ``<iface>`` part of
   this parameter must be a valid device definition. It follows the same format
-  provided to any ``-w`` or ``--vdev`` options.
+  provided to any ``-a`` or ``--vdev`` options.
 
   Enclosing the device definition within parentheses here allows using
   additional sub-device parameters if need be. They will be passed on to the
@@ -56,11 +56,11 @@ Fail-safe command line parameters
 
 .. note::
 
-   In case where the sub-device is also used as a whitelist device, using ``-w``
+   In case where the sub-device is also used as an allowed device, using ``-a``
    on the EAL command line, the fail-safe PMD will use the device with the
    options provided to the EAL instead of its own parameters.
 
-   When trying to use a PCI device automatically probed by the blacklist mode,
+   When trying to use a PCI device automatically probed by the command line,
    the name for the fail-safe sub-device must be the full PCI id:
    Domain:Bus:Device.Function, *i.e.* ``00:00:00.0`` instead of ``00:00.0``,
    as the second form is historically accepted by the DPDK.
@@ -111,8 +111,8 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
 #. To build a PMD and configure DPDK, refer to the document
    :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
 
-#. Start testpmd. The sub-device ``84:00.0`` should be blacklisted from normal EAL
-   operations to avoid probing it twice, as the PCI bus is in blacklist mode.
+#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
+   operations to avoid probing it twice, as the PCI bus is in blocklist mode.
 
    .. code-block:: console
 
@@ -120,25 +120,25 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
          -b 84:00.0 -b 00:04.0 -- -i
 
-   If the sub-device ``84:00.0`` is not blacklisted, it will be probed by the
+   If the sub-device ``84:00.0`` is not blocked, it will be probed by the
    EAL first. When the fail-safe then tries to initialize it the probe operation
    fails.
 
-   Note that PCI blacklist mode is the default PCI operating mode.
+   Note that PCI blocklist mode is the default PCI operating mode.
 
-#. Alternatively, it can be used alongside any other device in whitelist mode.
+#. Alternatively, it can be used alongside any other device in allow mode.
 
    .. code-block:: console
 
       ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
          --vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
-         -w 81:00.0 -- -i
+         -a 81:00.0 -- -i
 
 #. Start testpmd using a flexible device definition
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -w ff:ff.f \
+      ./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -a ff:ff.f \
          --vdev='net_failsafe0,exec(echo 84:00.0)' -- -i
 
 #. Start testpmd, automatically probing the device 84:00.0 and using it with
diff --git a/doc/guides/nics/fm10k.rst b/doc/guides/nics/fm10k.rst
index 0f7c91bbd1..7b8ef0e782 100644
--- a/doc/guides/nics/fm10k.rst
+++ b/doc/guides/nics/fm10k.rst
@@ -19,7 +19,7 @@ resource tag) information, rather than the mac and vlan table. Currently this
 feature works only on PF.
 
 To enable this feature, the user should pass a devargs parameter to the eal
-like "-w 84:00.0,enable_ftag=1", and the application should make sure an
+like "-a 84:00.0,enable_ftag=1", and the application should make sure an
 appropriate FTAG is inserted for every frame on TX side.
 
 Vector PMD for FM10K
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 961a51820b..4e5c4679b8 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -176,7 +176,7 @@ Runtime Config Options
 
   The number of reserved queue per VF is determined by its host PF. If the
   PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
-  VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+  VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n.
   The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
   number of reserved queues per VF is 4 by default. If VF request more than
   reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -189,7 +189,7 @@ Runtime Config Options
   Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
   parameter ``support-multi-driver`` is introduced, for example::
 
-    -w 84:00.0,support-multi-driver=1
+    -a 84:00.0,support-multi-driver=1
 
   With the above configuration, DPDK PMD will not change global registers, and
   will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -204,7 +204,7 @@ Runtime Config Options
   port representors for on initialization of the PF PMD by passing the VF IDs of
   the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
   Currently hot-plugging of representor ports is not supported so all required
   representors must be specified on the creation of the PF.
@@ -216,7 +216,7 @@ Runtime Config Options
   since it can get better perf in some real work loading cases. So ``devargs`` param
   ``use-latest-supported-vec`` is introduced, for example::
 
-  -w 84:00.0,use-latest-supported-vec=1
+  -a 84:00.0,use-latest-supported-vec=1
 
 - ``Enable validation for VF message`` (default ``not enabled``)
 
@@ -226,7 +226,7 @@ Runtime Config Options
   Format -- "maximal-message@period-seconds:ignore-seconds"
   For example::
 
-  -w 84:00.0,vf_msg_cfg=80@120:180
+  -a 84:00.0,vf_msg_cfg=80@120:180
 
 Vector RX Pre-conditions
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -456,7 +456,7 @@ no physical uplink on the associated NIC port.
 To enable this feature, the user should pass a ``devargs`` parameter to the
 EAL, for example::
 
-    -w 84:00.0,enable_floating_veb=1
+    -a 84:00.0,enable_floating_veb=1
 
 In this configuration the PMD will use the floating VEB feature for all the
 VFs created by this PF device.
@@ -464,7 +464,7 @@ VFs created by this PF device.
 Alternatively, the user can specify which VFs need to connect to this floating
 VEB using the ``floating_veb_list`` argument::
 
-    -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+    -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
 
 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
 while other VFs connect to the normal VEB.
@@ -800,7 +800,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
 
 7. The command line of running l3fwd would be something like the following::
 
-      ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+      ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \
               -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
 
    This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 11c7420ed5..bde78f98e4 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -30,7 +30,7 @@ Runtime Config Options
   But if user intend to use the device without OS package, user can take ``devargs``
   parameter ``safe-mode-support``, for example::
 
-    -w 80:00.0,safe-mode-support=1
+    -a 80:00.0,safe-mode-support=1
 
   Then the driver will be initialized successfully and the device will enter Safe Mode.
   NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -53,7 +53,7 @@ Runtime Config Options
   use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
   for example::
 
-    -w 80:00.0,pipeline-mode-support=1
+    -a 80:00.0,pipeline-mode-support=1
 
 - ``Protocol extraction for per queue``
 
@@ -62,8 +62,8 @@ Runtime Config Options
 
   The argument format is::
 
-      -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
-      -w 18:00.0,proto_xtr=<protocol>
+      -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+      -a 18:00.0,proto_xtr=<protocol>
 
   Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
   is used as a range separator and ``,`` is used as a single number separator.
@@ -74,14 +74,14 @@ Runtime Config Options
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+    dpdk-testpmd -a 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
   VLAN extraction, other queues run with no protocol extraction.
 
   .. code-block:: console
 
-    dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+    dpdk-testpmd -a 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
 
   This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
   IPv6 extraction, other queues use the default VLAN extraction.
@@ -233,7 +233,7 @@ responses for the same from PF.
 
 #. Bind the VF0,  and run testpmd with 'cap=dcf' devarg::
 
-      dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+      dpdk-testpmd -l 22-25 -n 4 -a 18:01.0,cap=dcf -- -i
 
 #. Monitor the VF2 interface network traffic::
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 1f424b38ac..c801dbae81 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
 
 .. code-block:: console
 
-   testpmd -w af:10.0,pflink_fullchk=1 -- -i
+   testpmd -a af:10.0,pflink_fullchk=1 -- -i
 
 - ``pflink_fullchk`` (default **0**)
 
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
 port representors for on initialization of the PF PMD by passing the VF IDs of
 the VFs which are required.::
 
-  -w DBDF,representor=[0,1,4]
+  -a DBDF,representor=[0,1,4]
 
 Currently hot-plugging of representor ports is not supported so all required
 representors must be specified on the creation of the PF.
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index c408ab7138..354c2bb82b 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -24,8 +24,8 @@ Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
 bus address, thus unlike most drivers, librte_net_mlx4 registers itself as a
 PCI driver that allocates one Ethernet device per detected port.
 
-For this reason, one cannot white/blacklist a single port without also
-white/blacklisting the others on the same device.
+For this reason, one cannot block (or allow) a single port without also
+blocking (or allowing) the others on the same device.
 
 Besides its dependency on libibverbs (that implies libmlx4 and associated
 kernel support), librte_net_mlx4 relies heavily on system calls for control
@@ -381,7 +381,7 @@ devices managed by librte_net_mlx4.
       eth4
       eth5
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses to be used with the allow argument::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -389,14 +389,14 @@ devices managed by librte_net_mlx4.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:83:00.0
-      -w 0000:83:00.0
-      -w 0000:84:00.0
-      -w 0000:84:00.0
+      -a 0000:83:00.0
+      -a 0000:83:00.0
+      -a 0000:84:00.0
+      -a 0000:84:00.0
 
    .. note::
 
@@ -409,7 +409,7 @@ devices managed by librte_net_mlx4.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 0000:83:00.0 -a 0000:84:00.0 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 59b2bf4036..e96aca21eb 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1524,7 +1524,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
       eth32
       eth33
 
-#. Optionally, retrieve their PCI bus addresses for whitelisting::
+#. Optionally, retrieve their PCI bus addresses for to be used with the allow list::
 
       {
           for intf in eth2 eth3 eth4 eth5;
@@ -1532,14 +1532,14 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
               (cd "/sys/class/net/${intf}/device/" && pwd -P);
           done;
       } |
-      sed -n 's,.*/\(.*\),-w \1,p'
+      sed -n 's,.*/\(.*\),-a \1,p'
 
    Example output::
 
-      -w 0000:05:00.1
-      -w 0000:06:00.0
-      -w 0000:06:00.1
-      -w 0000:05:00.0
+      -a 0000:05:00.1
+      -a 0000:06:00.0
+      -a 0000:06:00.1
+      -a 0000:05:00.0
 
 #. Request huge pages::
 
@@ -1547,7 +1547,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
 
 #. Start testpmd with basic parameters::
 
-      testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+      testpmd -l 8-15 -n 4 -a 05:00.0 -a 05:00.1 -a 06:00.0 -a 06:00.1 -- --rxq=2 --txq=2 -i
 
    Example output::
 
diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst
index ecea3ecff0..e987f33104 100644
--- a/doc/guides/nics/nfb.rst
+++ b/doc/guides/nics/nfb.rst
@@ -63,7 +63,7 @@ products) and the device argument `timestamp=1` must be used.
 
 .. code-block:: console
 
-    ./<build_dir>/app/dpdk-testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+    ./<build_dir>/app/dpdk-testpmd -a b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
 
 When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
 containing received frames and timestamp is inserted into the `rte_mbuf` struct.
diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index 18566a2c66..a4f224424e 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -63,7 +63,7 @@ for details.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+      ./<build_dir>/app/dpdk-testpmd -c 0x300 -a 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
       EAL: Detected 24 lcore(s)
       EAL: Detected 1 NUMA nodes
       EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -116,7 +116,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,reta_size=256
+      -a 0002:02:00.0,reta_size=256
 
    With the above configuration, reta table of size 256 is populated.
 
@@ -127,7 +127,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_max_priority=10
+      -a 0002:02:00.0,flow_max_priority=10
 
    With the above configuration, priority level was set to 10 (0-9). Max
    priority level supported is 32.
@@ -139,7 +139,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,flow_prealloc_size=4
+      -a 0002:02:00.0,flow_prealloc_size=4
 
    With the above configuration, pre alloc size was set to 4. Max pre alloc
    size supported is 32.
@@ -151,7 +151,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,max_sqb_count=64
+      -a 0002:02:00.0,max_sqb_count=64
 
    With the above configuration, each send queue's decscriptor buffer count is
    limited to a maximum of 64 buffers.
@@ -163,7 +163,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,switch_header="higig2"
+      -a 0002:02:00.0,switch_header="higig2"
 
    With the above configuration, higig2 will be enabled on that port and the
    traffic on this port should be higig2 traffic only. Supported switch header
@@ -185,7 +185,7 @@ Runtime Config Options
 
    For example to select the legacy mode(RSS tag adder as XOR)::
 
-      -w 0002:02:00.0,tag_as_xor=1
+      -a 0002:02:00.0,tag_as_xor=1
 
 - ``Max SPI for inbound inline IPsec`` (default ``1``)
 
@@ -194,7 +194,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,ipsec_in_max_spi=128
+      -a 0002:02:00.0,ipsec_in_max_spi=128
 
    With the above configuration, application can enable inline IPsec processing
    on 128 SAs (SPI 0-127).
@@ -205,7 +205,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_rx_ctx=1
+      -a 0002:02:00.0,lock_rx_ctx=1
 
 - ``Lock Tx contexts in NDC cache``
 
@@ -213,7 +213,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,lock_tx_ctx=1
+      -a 0002:02:00.0,lock_tx_ctx=1
 
 .. note::
 
@@ -229,7 +229,7 @@ Runtime Config Options
 
    For example::
 
-      -w 0002:02:00.0,npa_lock_mask=0xf
+      -a 0002:02:00.0,npa_lock_mask=0xf
 
 .. _otx2_tmapi:
 
diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst
index cc5b9f120c..962e54389f 100644
--- a/doc/guides/nics/sfc_efx.rst
+++ b/doc/guides/nics/sfc_efx.rst
@@ -350,7 +350,7 @@ Per-Device Parameters
 ~~~~~~~~~~~~~~~~~~~~~
 
 The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
 
 Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
 boolean parameters value.
diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst
index 7e44f84620..3ce696b605 100644
--- a/doc/guides/nics/tap.rst
+++ b/doc/guides/nics/tap.rst
@@ -191,7 +191,7 @@ following::
 
 .. Note:
 
-   Change the ``-b`` options to blacklist all of your physical ports. The
+   Change the ``-b`` options to exclude all of your physical ports. The
    following command line is all one line.
 
    Also, ``-f themes/black-yellow.theme`` is optional if the default colors
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index 6f99008834..12d43ce93e 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -157,7 +157,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
 
    .. code-block:: console
 
-      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+      ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -a 0002:01:00.2 \
         -- -i --no-flush-rx \
         --port-topology=loop
 
@@ -377,7 +377,7 @@ This scheme is useful when application would like to insert vlan header without
 Example:
    .. code-block:: console
 
-      -w 0002:01:00.2,skip_data_bytes=8
+      -a 0002:01:00.2,skip_data_bytes=8
 
 Limitations
 -----------
diff --git a/doc/guides/prog_guide/compressdev.rst b/doc/guides/prog_guide/compressdev.rst
index a089db1fad..231687d891 100644
--- a/doc/guides/prog_guide/compressdev.rst
+++ b/doc/guides/prog_guide/compressdev.rst
@@ -19,7 +19,7 @@ Physical compression devices are discovered during the bus probe of the EAL func
 which is executed at DPDK initialization, based on their unique device identifier.
 For e.g. PCI devices can be identified using PCI BDF (bus/bridge, device, function).
 Specific physical compression devices, like other physical devices in DPDK can be
-white-listed or black-listed using the EAL command line options.
+listed using the EAL command line options.
 
 Virtual devices can be created by two mechanisms, either using the EAL command
 line options or from within the application using an EAL API directly.
diff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst
index 72129e4b70..473b014a10 100644
--- a/doc/guides/prog_guide/cryptodev_lib.rst
+++ b/doc/guides/prog_guide/cryptodev_lib.rst
@@ -32,7 +32,7 @@ Physical Crypto devices are discovered during the PCI probe/enumeration of the
 EAL function which is executed at DPDK initialization, based on
 their PCI device identifier, each unique PCI BDF (bus/bridge, device,
 function). Specific physical Crypto devices, like other physical devices in DPDK
-can be white-listed or black-listed using the EAL command line options.
+can be listed using the EAL command line options.
 
 Virtual devices can be created by two mechanisms, either using the EAL command
 line options or from within the application using an EAL API directly.
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index a470fd7f29..1f30e13b8b 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -407,12 +407,12 @@ device having emitted a Device Removal Event. In such case, calling
 callback. Care must be taken not to close the device from the interrupt handler
 context. It is necessary to reschedule such closing operation.
 
-Blacklisting
-~~~~~~~~~~~~
+Block list
+~~~~~~~~~~
 
-The EAL PCI device blacklist functionality can be used to mark certain NIC ports as blacklisted,
+The EAL PCI device block list functionality can be used to mark certain NIC ports as unavailable,
 so they are ignored by the DPDK.
-The ports to be blacklisted are identified using the PCIe* description (Domain:Bus:Device.Function).
+The ports to be blocked are identified using the PCIe* description (Domain:Bus:Device.Function).
 
 Misc Functions
 ~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a84083b96c..57fd7425a1 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -30,7 +30,7 @@ after a primary process has already configured the hugepage shared memory for th
     Secondary processes should run alongside primary process with same DPDK version.
 
     Secondary processes which requires access to physical devices in Primary process, must
-    be passed with the same whitelist and blacklist options.
+    be passed with the same allow and block options.
 
 To support these two process types, and other multi-process setups described later,
 two additional command-line parameters are available to the EAL:
@@ -131,7 +131,7 @@ can use).
 .. note::
 
     Independent DPDK instances running side-by-side on a single machine cannot share any network ports.
-    Any network ports being used by one process should be blacklisted in every other process.
+    Any network ports being used by one process should be blocked by every other process.
 
 Running Multiple Independent Groups of DPDK Applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 86e0a141e6..239ec820ea 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -374,9 +374,9 @@ parameters to those ports.
   this argument allows user to specify which switch ports to enable port
   representors for.::
 
-   -w DBDF,representor=0
-   -w DBDF,representor=[0,4,6,9]
-   -w DBDF,representor=[0-31]
+   -a DBDF,representor=0
+   -a DBDF,representor=[0,4,6,9]
+   -a DBDF,representor=[0-31]
 
 Note: PMDs are not required to support the standard device arguments and users
 should consult the relevant PMD documentation to see support devargs.
diff --git a/doc/guides/prog_guide/regexdev.rst b/doc/guides/prog_guide/regexdev.rst
index 0d84fb1a19..3d8b591b56 100644
--- a/doc/guides/prog_guide/regexdev.rst
+++ b/doc/guides/prog_guide/regexdev.rst
@@ -30,7 +30,7 @@ Physical RegEx devices are discovered during the PCI probe/enumeration of the
 EAL function which is executed at DPDK initialization, based on
 their PCI device identifier, each unique PCI BDF (bus/bridge, device,
 function). Specific physical ReEx devices, like other physical devices in DPDK
-can be white-listed or black-listed using the EAL command line options.
+can be listed using the EAL command line options.
 
 
 Device Identification
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index cc1d0d7569..07ba12bea6 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
 
 ::
 
-   -w pci:dbdf,representor=0
-   -w pci:dbdf,representor=[0-3]
-   -w pci:dbdf,representor=[0,5-11]
+   -a pci:dbdf,representor=0
+   -a pci:dbdf,representor=[0-3]
+   -a pci:dbdf,representor=[0,5-11]
 
 - As virtual devices, they may be more limited than their physical
   counterparts, for instance by exposing only a subset of device
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 8eac073591..96986fabd5 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -28,17 +28,6 @@ Deprecation Notices
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-* eal: The terms blacklist and whitelist to describe devices used
-  by DPDK will be replaced in the 20.11 relase.
-  This will apply to command line arguments.
-
-  The command line arguments to ``rte_eal_init`` will change from
-  ``-b, --pci-blacklist`` to ``-x, --exclude`` and
-  ``-w, --pci-whitelist`` to ``-i, --include``.
-  The old command line arguments will continue to be accepted in 20.11
-  but will cause a runtime warning message. The old arguments will
-  be removed in a future release.
-
 * eal: The function ``rte_eal_remote_launch`` will return new error codes
   after read or write error on the pipe, instead of calling ``rte_panic``.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index e3c0907ba8..24cedba167 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -475,6 +475,12 @@ API Changes
   ``RTE_LCORE_FOREACH_SLAVE`` is replaced with
   ``RTE_LCORE_FOREACH_WORKER``.
 
+* eal: The definitions related to including and excluding devices
+  has been changed from blacklist/whitelist to block/allow list.
+  There are compatibility macros and command line mapping to accept
+  the old values but applications and scripts are strongly encouraged
+  to migrate to the new names.
+
 * eal: The ``rte_logs`` struct and global symbol was made private
   and is no longer part of the API.
 
diff --git a/doc/guides/sample_app_ug/bbdev_app.rst b/doc/guides/sample_app_ug/bbdev_app.rst
index 7c5a45b72a..45e69e36e2 100644
--- a/doc/guides/sample_app_ug/bbdev_app.rst
+++ b/doc/guides/sample_app_ug/bbdev_app.rst
@@ -61,19 +61,19 @@ This means that HW baseband device/s must be bound to a DPDK driver or
 a SW baseband device/s (virtual BBdev) must be created (using --vdev).
 
 To run the application in linux environment with the turbo_sw baseband device
-using the whitelisted port running on 1 encoding lcore and 1 decoding lcore
+using the allow option for pci device running on 1 encoding lcore and 1 decoding lcore
 issue the command:
 
 .. code-block:: console
 
-    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
+    $ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -a <NIC0PCIADDR> \
     -c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
 
 where, NIC0PCIADDR is the PCI address of the Rx port
 
 This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
-device gets linked to a corresponding ethernet port as whitelisted by
-the parameter -w.
+device gets linked to a corresponding ethernet port as allowed by
+the parameter -a.
 3 cores are allocated to the application, and assigned as:
 
  - core 3 is the main and used to print the stats live on screen,
@@ -93,20 +93,20 @@ Using Packet Generator with baseband device sample application
 To allow the bbdev sample app to do the loopback, an influx of traffic is required.
 This can be done by using DPDK Pktgen to burst traffic on two ethernet ports, and
 it will print the transmitted along with the looped-back traffic on Rx ports.
-Executing the command below will generate traffic on the two whitelisted ethernet
+Executing the command below will generate traffic on the two allowed ethernet
 ports.
 
 .. code-block:: console
 
     $ ./pktgen-3.4.0/app/x86_64-native-linux-gcc/pktgen -c 0x3 \
-    --socket-mem=1,1 --file-prefix=pg -w <NIC1PCIADDR> -- -m 1.0 -P
+    --socket-mem=1,1 --file-prefix=pg -a <NIC1PCIADDR> -- -m 1.0 -P
 
 where:
 
 * ``-c COREMASK``: A hexadecimal bitmask of cores to run on
 * ``--socket-mem``: Memory to allocate on specific sockets (use comma separated values)
 * ``--file-prefix``: Prefix for hugepage filenames
-* ``-w <NIC1PCIADDR>``: Add a PCI device in white list. The argument format is <[domain:]bus:devid.func>.
+* ``-a <NIC1PCIADDR>``: Add a PCI device in allow list. The argument format is <[domain:]bus:devid.func>.
 * ``-m <string>``: Matrix for mapping ports to logical cores.
 * ``-P``: PROMISCUOUS mode
 
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index b4fc587a09..41ee8b7ee3 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -46,8 +46,8 @@ these settings is shown below:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-    -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+    ./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 \
+    -e4 -a FF00 -s4 -n0 -c32 -W1000 -D
 
 The application has some sanity checking built-in, so if there is a function
 (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index fccf6b423c..176e292d3f 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -323,15 +323,15 @@ This means that if the application is using a single core and both hardware
 and software crypto devices are detected, hardware devices will be used.
 
 A way to achieve the case where you want to force the use of virtual crypto
-devices is to whitelist the Ethernet devices needed and therefore implicitly
-blacklisting all hardware crypto devices.
+devices is to only use the Ethernet devices needed (via the allow flag)
+and therefore implicitly blocking all hardware crypto devices.
 
 For example, something like the following command line:
 
 .. code-block:: console
 
     ./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-            -w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
+            -a 81:00.0 -a 81:00.1 -a 81:00.2 -a 81:00.3 \
             --vdev "crypto_aesni_mb" --vdev "crypto_null" \
 	    -- \
             -p 0xf -P -u 0x3 --config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
@@ -929,13 +929,13 @@ The user must setup the following environment variables:
 
 *   ``REMOTE_IFACE``: interface name for the test-port on the DUT.
 
-*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-w <pci-id>')
+*   ``ETH_DEV``: ethernet device to be used on the SUT by DPDK ('-a <pci-id>')
 
 Also the user can optionally setup:
 
 *   ``SGW_LCORE``: lcore to run ipsec-secgw on (default value is 0)
 
-*   ``CRYPTO_DEV``: crypto device to be used ('-w <pci-id>'). If none specified
+*   ``CRYPTO_DEV``: crypto device to be used ('-a <pci-id>'). If none specified
     appropriate vdevs will be created by the script
 
 Scripts can be used for multiple test scenarios. To check all available
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 7acbd7404e..e7875f8dcd 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -138,17 +138,19 @@ Following is the sample command:
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> -- -p 0x3 --eventq-sched=ordered
 
 or
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
+    ./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -a <event device> \
+		-- -p 0x03 --mode=eventdev --eventq-sched=ordered
 
 In this command:
 
-*   -w option whitelist the event device supported by platform. Way to pass this device may vary based on platform.
+*   -a option allows the event device supported by platform.
+    The syntax used to indicate this device may vary based on platform.
 
 *   The --mode option defines PMD to be used for packet I/O.
 
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index d7e1dc5813..831f2bf58f 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -378,7 +378,8 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
 
 .. code-block:: console
 
-    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx   -n 4   -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+    ./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -a 0000:xx:00.0 -a 0000:xx:00.1 \
+    	-- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
 
 Where,
 
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index a8bedbab53..cb9c4f2169 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
 .. code-block:: console
 
         ./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-                -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+                -a 0000:06:00.3,vdpa=1 -a 0000:06:00.4,vdpa=1 \
                 -- --interactive
 
 .. note::
diff --git a/doc/guides/tools/comp_perf.rst b/doc/guides/tools/comp_perf.rst
index 6ba1076484..9d2f4dbe4a 100644
--- a/doc/guides/tools/comp_perf.rst
+++ b/doc/guides/tools/comp_perf.rst
@@ -53,9 +53,9 @@ See the DPDK Getting Started Guides for more information on these options.
 	One lcore is needed for process admin, tests are run on all other cores.
 	To run tests on two lcores, three lcores must be passed to the tool.
 
-*   ``-w <PCI>``
+*   ``-a <PCI>``
 
-	Add a PCI device in white list.
+	Add a PCI device in allow list.
 
 *   ``--vdev <driver><id>``
 
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 29340d94e8..79359fe894 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -65,9 +65,9 @@ See the DPDK Getting Started Guides for more information on these options.
         Set the hexadecimal bitmask of the cores to run on. The corelist is a
         list cores to use.
 
-*   ``-w <PCI>``
+*   ``-a <PCI>``
 
-        Add a PCI device in white list.
+        Add a PCI device in allow list.
 
 *   ``--vdev <driver><id>``
 
@@ -394,7 +394,7 @@ Call application for performance throughput test of single Aesni MB PMD
 for cipher encryption aes-cbc and auth generation sha1-hmac,
 one million operations, burst size 32, packet size 64::
 
-   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -a 0000:00:00.0 --
    --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
    --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
    sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -404,7 +404,7 @@ Call application for performance latency test of two Aesni MB PMD executed
 on two cores for cipher encryption aes-cbc, ten operations in silent mode::
 
    dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
-   --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+   --vdev crypto_aesni_mb2 -a 0000:00:00.0 -- --devtype crypto_aesni_mb
    --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
    --cipher-op encrypt --optype cipher-only --silent
    --ptest latency --total-ops 10
@@ -414,7 +414,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
 in silent mode, test vector provide in file "test_aes_gcm.data"
 with packet verification::
 
-   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+   dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -a 0000:00:00.0 --
    --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
    --aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
    --optype aead --silent --ptest verify --total-ops 10
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 018358ac17..634009ccee 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -65,7 +65,7 @@ with a ``--`` separator:
 
 .. code-block:: console
 
-	sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
+	sudo ./dpdk-test-flow_perf -n 4 -a 08:00.0 -- --ingress --ether --ipv4 --queue --rules-count=1000000
 
 The command line options are:
 
diff --git a/doc/guides/tools/testregex.rst b/doc/guides/tools/testregex.rst
index 4317aab533..112b2bb773 100644
--- a/doc/guides/tools/testregex.rst
+++ b/doc/guides/tools/testregex.rst
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
 
 The tool has a number of command line options. Here is the sample command line::
 
-   ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+   ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index b31678ad05..39b3308577 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -206,7 +206,7 @@ vmbus_parse(const char *name, void *addr)
 /*
  * scan for matching device args on command line
  * example:
- *	-w 'vmbus:635a7ae3-091e-4410-ad59-667c4f8c04c3,latency=20'
+ *	-a 'vmbus:635a7ae3-091e-4410-ad59-667c4f8c04c3,latency=20'
  */
 struct rte_devargs *
 vmbus_devargs_lookup(struct rte_vmbus_device *dev)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 31153518ce..81c8f8d79d 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -5151,21 +5151,21 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs)
 
 	/*
 	 * Handler for "truflow" devarg.
-	 * Invoked as for ex: "-w 0000:00:0d.0,host-based-truflow=1"
+	 * Invoked as for ex: "-a 0000:00:0d.0,host-based-truflow=1"
 	 */
 	rte_kvargs_process(kvlist, BNXT_DEVARG_TRUFLOW,
 			   bnxt_parse_devarg_truflow, bp);
 
 	/*
 	 * Handler for "flow_xstat" devarg.
-	 * Invoked as for ex: "-w 0000:00:0d.0,flow_xstat=1"
+	 * Invoked as for ex: "-a 0000:00:0d.0,flow_xstat=1"
 	 */
 	rte_kvargs_process(kvlist, BNXT_DEVARG_FLOW_XSTAT,
 			   bnxt_parse_devarg_flow_xstat, bp);
 
 	/*
 	 * Handler for "max_num_kflows" devarg.
-	 * Invoked as for ex: "-w 000:00:0d.0,max_num_kflows=32"
+	 * Invoked as for ex: "-a 000:00:0d.0,max_num_kflows=32"
 	 */
 	rte_kvargs_process(kvlist, BNXT_DEVARG_MAX_NUM_KFLOWS,
 			   bnxt_parse_devarg_max_num_kflows, bp);
@@ -5569,7 +5569,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 		if (kvlist) {
 			/*
 			 * Handler for "rep_is_pf" devarg.
-			 * Invoked as for ex: "-w 000:00:0d.0,
+			 * Invoked as for ex: "-a 000:00:0d.0,
 			 * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
 			 */
 			ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_IS_PF,
@@ -5581,7 +5581,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 			}
 			/*
 			 * Handler for "rep_based_pf" devarg.
-			 * Invoked as for ex: "-w 000:00:0d.0,
+			 * Invoked as for ex: "-a 000:00:0d.0,
 			 * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
 			 */
 			ret = rte_kvargs_process(kvlist,
@@ -5594,7 +5594,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 			}
 			/*
 			 * Handler for "rep_based_pf" devarg.
-			 * Invoked as for ex: "-w 000:00:0d.0,
+			 * Invoked as for ex: "-a 000:00:0d.0,
 			 * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
 			 */
 			ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_Q_R2F,
@@ -5606,7 +5606,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 			}
 			/*
 			 * Handler for "rep_based_pf" devarg.
-			 * Invoked as for ex: "-w 000:00:0d.0,
+			 * Invoked as for ex: "-a 000:00:0d.0,
 			 * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
 			 */
 			ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_Q_F2R,
@@ -5618,7 +5618,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 			}
 			/*
 			 * Handler for "rep_based_pf" devarg.
-			 * Invoked as for ex: "-w 000:00:0d.0,
+			 * Invoked as for ex: "-a 000:00:0d.0,
 			 * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
 			 */
 			ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_FC_R2F,
@@ -5630,7 +5630,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 			}
 			/*
 			 * Handler for "rep_based_pf" devarg.
-			 * Invoked as for ex: "-w 000:00:0d.0,
+			 * Invoked as for ex: "-a 000:00:0d.0,
 			 * rep-based-pf=<pf index> rep-is-pf=<VF=0 or PF=1>"
 			 */
 			ret = rte_kvargs_process(kvlist, BNXT_DEVARG_REP_FC_F2R,
diff --git a/examples/ipsec-secgw/test/linux_test.sh b/examples/ipsec-secgw/test/linux_test.sh
index 85dbf7e8a8..8f31154f8d 100644
--- a/examples/ipsec-secgw/test/linux_test.sh
+++ b/examples/ipsec-secgw/test/linux_test.sh
@@ -14,7 +14,7 @@
 #  SGW_PATH	- path to the ipsec-secgw binary to test
 #  REMOTE_HOST	- ip/hostname of the DUT
 #  REMOTE_IFACE	- iface name for the test-port on DUT
-#  ETH_DEV	- ethernet device to be used on SUT by DPDK ('-w <pci-id>')
+#  ETH_DEV	- ethernet device to be used on SUT by DPDK ('-a <pci-id>')
 # Also user can optionally setup:
 #  SGW_LCORE	- lcore to run ipsec-secgw on (default value is 0)
 #  SGW_MODE	- run ipsec-secgw in legacy mode or with use of library
@@ -29,7 +29,7 @@
 #		values: cpu-crypto/lookaside-none (unset on default)
 #  CRYPTO_PRIM_TYPE - run ipsec-secgw with crypto primary type set
 #		values: cpu-crypto (unset on default)
-#  CRYPTO_DEV - crypto device to be used ('-w <pci-id>')
+#  CRYPTO_DEV - crypto device to be used ('-a <pci-id>')
 #	       if none specified appropriate vdevs will be created by the script
 #  SGW_MULTI_SEG - ipsec-secgw option to enable reassembly support and
 #		specify size of reassembly table (i.e. SGW_MULTI_SEG=128)
diff --git a/examples/ipsec-secgw/test/run_test.sh b/examples/ipsec-secgw/test/run_test.sh
index 1222308bbe..a91dade4fe 100755
--- a/examples/ipsec-secgw/test/run_test.sh
+++ b/examples/ipsec-secgw/test/run_test.sh
@@ -8,10 +8,10 @@
 #  SGW_PATH	- path to the ipsec-secgw binary to test
 #  REMOTE_HOST	- ip/hostname of the DUT
 #  REMOTE_IFACE	- iface name for the test-port on DUT
-#  ETH_DEV	- ethernet device to be used on SUT by DPDK ('-w <pci-id>')
+#  ETH_DEV	- ethernet device to be used on SUT by DPDK ('-a <pci-id>')
 # Also user can optionally setup:
 #  SGW_LCORE	- lcore to run ipsec-secgw on (default value is 0)
-#  CRYPTO_DEV	- crypto device to be used ('-w <pci-id>')
+#  CRYPTO_DEV	- crypto device to be used ('-a <pci-id>')
 #	       if none specified appropriate vdevs will be created by the script
 #  SGW_MULTI_SEG - ipsec-secgw option to enable reassembly support and
 #		specify size of reassembly table (i.e. SGW_MULTI_SEG=128)
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 47b3eb1ccb..fc6f0cea93 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 future */
+	{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_BLOCKED,
-				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_ALLOWED,
-				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 aec8a17d72..7b348e707f 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 future */
 #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 future */
+#define OPT_PCI_BLACKLIST     "pci-blacklist"
+	OPT_PCI_BLACKLIST_NUM,
+
 	OPT_LONG_MAX_NUM
 };
 
-- 
2.28.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v11 3/4] test: rename blacklist/whitelist in autotest scripts
  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   ` Thomas Monjalon
  2020-11-15 22:53   ` [dpdk-dev] [PATCH v11 4/4] doc: replace usage of blacklist/whitelist Thomas Monjalon
  3 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 22:53 UTC (permalink / raw)
  To: dev; +Cc: stephen, david.marchand, bruce.richardson, bluca

From: Stephen Hemminger <stephen@networkplumber.org>

The options and variables are renamed to use block/allow terminology.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 app/test/autotest.py        | 16 ++++++++--------
 app/test/autotest_runner.py | 18 +++++++++---------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/app/test/autotest.py b/app/test/autotest.py
index 9eef1efbe5..6ff2e71475 100644
--- a/app/test/autotest.py
+++ b/app/test/autotest.py
@@ -10,7 +10,7 @@
 
 def usage():
     print("Usage: autotest.py [test app|test iso image] ",
-          "[target] [whitelist|-blacklist]")
+          "[target] [allow|-block]")
 
 if len(sys.argv) < 3:
     usage()
@@ -18,18 +18,18 @@ def usage():
 
 target = sys.argv[2]
 
-test_whitelist = None
-test_blacklist = None
+test_allowlist = None
+test_blocklist = None
 
-# get blacklist/whitelist
+# get blocklist/allowlist
 if len(sys.argv) > 3:
     testlist = sys.argv[3].split(',')
     testlist = [test.lower() for test in testlist]
     if testlist[0].startswith('-'):
         testlist[0] = testlist[0].lstrip('-')
-        test_blacklist = testlist
+        test_blocklist = testlist
     else:
-        test_whitelist = testlist
+        test_allowlist = testlist
 
 cmdline = "%s -c f" % (sys.argv[1])
 
@@ -39,8 +39,8 @@ def usage():
 # processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
 n_processes = 1 if "bsd" in target else 4
 
-runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
-                                        test_whitelist, n_processes)
+runner = autotest_runner.AutotestRunner(cmdline, target, test_blocklist,
+                                        test_allowlist, n_processes)
 
 runner.parallel_tests = autotest_data.parallel_test_list[:]
 runner.non_parallel_tests = autotest_data.non_parallel_test_list[:]
diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py
index 998fe57a55..8aa4d45569 100644
--- a/app/test/autotest_runner.py
+++ b/app/test/autotest_runner.py
@@ -188,14 +188,14 @@ class AutotestRunner:
     n_tests = 0
     fails = 0
     log_buffers = []
-    blacklist = []
-    whitelist = []
+    blocklist = []
+    allowlist = []
 
-    def __init__(self, cmdline, target, blacklist, whitelist, n_processes):
+    def __init__(self, cmdline, target, blocklist, allowlist, n_processes):
         self.cmdline = cmdline
         self.target = target
-        self.blacklist = blacklist
-        self.whitelist = whitelist
+        self.blocklist = blocklist
+        self.allowlist = allowlist
         self.skipped = []
         self.parallel_tests = []
         self.non_parallel_tests = []
@@ -269,7 +269,7 @@ def __process_result(self, result):
         self.csvwriter.writerow([test_name, test_result, result_str])
 
     # this function checks individual test and decides if this test should be in
-    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the group by comparing it against allowlist/blocklist. it also checks if
     # the test is compiled into the binary, and marks it as skipped if necessary
     def __filter_test(self, test):
         test_cmd = test["Command"]
@@ -279,10 +279,10 @@ def __filter_test(self, test):
         if "_autotest" in test_id:
             test_id = test_id[:-len("_autotest")]
 
-        # filter out blacklisted/whitelisted tests
-        if self.blacklist and test_id in self.blacklist:
+        # filter out blocked/allowed tests
+        if self.blocklist and test_id in self.blocklist:
             return False
-        if self.whitelist and test_id not in self.whitelist:
+        if self.allowlist and test_id not in self.allowlist:
             return False
 
         # if test wasn't compiled in, remove it as well
-- 
2.28.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

* [dpdk-dev] [PATCH v11 4/4] doc: replace usage of blacklist/whitelist
  2020-11-15 22:53 ` [dpdk-dev] [PATCH v11 0/4] replace blacklist/whitelist with block/allow Thomas Monjalon
                     ` (2 preceding siblings ...)
  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   ` Thomas Monjalon
  3 siblings, 0 replies; 117+ messages in thread
From: Thomas Monjalon @ 2020-11-15 22:53 UTC (permalink / raw)
  To: dev
  Cc: stephen, david.marchand, bruce.richardson, bluca, Ajit Khaparde,
	Somnath Kotur, John Daley, Hyong Youb Kim, Qiming Yang, Qi Zhang,
	Konstantin Ananyev

From: Stephen Hemminger <stephen@networkplumber.org>

The words blacklist and whitelist are avoided in text
about MAC filtering or kernel module.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/nics/bnxt.rst                            | 10 +++++-----
 doc/guides/nics/enic.rst                            |  4 ++--
 doc/guides/nics/features.rst                        |  2 +-
 doc/guides/nics/ice.rst                             |  2 +-
 doc/guides/sample_app_ug/l3_forward_access_ctrl.rst |  2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index de0c37ce5b..d9a7d87930 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -258,8 +258,8 @@ The BNXT PMD supports hardware-based packet filtering:
 Unicast MAC Filter
 ^^^^^^^^^^^^^^^^^^
 
-The application adds (or removes) MAC addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) MAC addresses to enable (or disable)
+filtering on MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -269,8 +269,8 @@ whitelist filtering to accept packets.
 Multicast MAC Filter
 ^^^^^^^^^^^^^^^^^^^^
 
-Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+The application can add (or remove) Multicast addresses that enable (or disable)
+filtering on multicast MAC address used to accept packets.
 
 .. code-block:: console
 
@@ -278,7 +278,7 @@ whitelist filtering to accept packets.
     testpmd> mcast_addr (add|remove) (port_id) (XX:XX:XX:XX:XX:XX)
 
 Application adds (or removes) Multicast addresses to enable (or disable)
-whitelist filtering to accept packets.
+allowlist filtering to accept packets.
 
 Note that the BNXT PMD supports up to 16 MC MAC filters. if the user adds more
 than 16 MC MACs, the BNXT PMD puts the port into the Allmulticast mode.
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index 163ae3f47b..5d1cc9f7fa 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -180,7 +180,7 @@ or ``vfio`` in non-IOMMU mode.
 
 In the VM, the kernel enic driver may be automatically bound to the VF during
 boot. Unbinding it currently hangs due to a known issue with the driver. To
-work around the issue, blacklist the enic module as follows.
+work around the issue, block the enic module as follows.
 Please see :ref:`Limitations <enic_limitations>` for limitations in
 the use of SR-IOV.
 
@@ -430,7 +430,7 @@ PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
   - VF devices are not usable directly from the host. They can  only be used
     as assigned devices on VM instances.
   - Currently, unbind of the ENIC kernel mode driver 'enic.ko' on the VM
-    instance may hang. As a workaround, enic.ko should be blacklisted or removed
+    instance may hang. As a workaround, enic.ko should be blocked or removed
     from the boot process.
   - pci_generic cannot be used as the uio module in the VM. igb_uio or
     vfio in non-IOMMU mode can be used.
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index a4b288abcf..43f74e02ab 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -261,7 +261,7 @@ Supports enabling/disabling receiving multicast frames.
 Unicast MAC filter
 ------------------
 
-Supports adding MAC addresses to enable whitelist filtering to accept packets.
+Supports adding MAC addresses to enable incoming filtering of packets.
 
 * **[implements] eth_dev_ops**: ``mac_addr_set``, ``mac_addr_add``, ``mac_addr_remove``.
 * **[implements] rte_eth_dev_data**: ``mac_addrs``.
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index bde78f98e4..c5a76a2a21 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -41,7 +41,7 @@ Runtime Config Options
   In pipeline mode, a flow can be set at one specific stage by setting parameter
   ``priority``. Currently, we support two stages: priority = 0 or !0. Flows with
   priority 0 located at the first pipeline stage which typically be used as a firewall
-  to drop the packet on a blacklist(we called it permission stage). At this stage,
+  to drop the packet on a blocklist(we called it permission stage). At this stage,
   flow rules are created for the device's exact match engine: switch. Flows with priority
   !0 located at the second stage, typically packets are classified here and be steered to
   specific queue or queue group (we called it distribution stage), At this stage, flow
diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
index 4a96800ec6..eee5d81850 100644
--- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
+++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
@@ -18,7 +18,7 @@ The application loads two types of rules at initialization:
 
 *   Route information rules, which are used for L3 forwarding
 
-*   Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic
+*   Access Control List (ACL) rules that block packets with a specific characteristic
 
 When packets are received from a port,
 the application extracts the necessary information from the TCP/IP header of the received packet and
-- 
2.28.0


^ permalink raw reply	[flat|nested] 117+ messages in thread

end of thread, other threads:[~2020-11-15 22:54 UTC | newest]

Thread overview: 117+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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   ` [dpdk-dev] [PATCH v10 3/7] eal: replace pci-whitelist/pci-blacklist options Stephen Hemminger
2020-11-11 10:45     ` 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

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).