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 siblin