From: Ciara Loftus Date: Fri, 8 Oct 2021 07:50:20 +0000 (+0000) Subject: net/af_xdp: disable secondary process support X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=0668d829085c4e92a6a1117e2b7cb8653eff8038;p=dpdk.git net/af_xdp: disable secondary process support Since the AF_XDP PMD does not work for secondary processes as reported in Bugzilla 805, check for the process type at the beginning of probe and return ENOTSUP if the process type is secondary. It is planned that secondary processes will be supported by the PMD in full in a future release by using rte_mp_msg to pass the state to the secondary process that it requires in order to work. Bugzilla ID: 805 Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD") Cc: stable@dpdk.org Reported-by: Stephen Hemminger Signed-off-by: Ciara Loftus Acked-by: Stephen Hemminger --- diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index 30175246c7..48e0bb60a1 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -85,6 +85,10 @@ New Features * Default VLAN strip behavior was changed. VLAN tag won't be stripped unless ``DEV_RX_OFFLOAD_VLAN_STRIP`` offload is enabled. +* **Updated AF_XDP PMD.** + + * Disabled secondary process support. + * **Updated Broadcom bnxt PMD.** * Added flow offload support for Thor. diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index a619dd218d..b362ccdcd3 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -1783,16 +1783,11 @@ rte_pmd_af_xdp_probe(struct rte_vdev_device *dev) rte_vdev_device_name(dev)); name = rte_vdev_device_name(dev); - if (rte_eal_process_type() == RTE_PROC_SECONDARY && - strlen(rte_vdev_device_args(dev)) == 0) { - eth_dev = rte_eth_dev_attach_secondary(name); - if (eth_dev == NULL) { - AF_XDP_LOG(ERR, "Failed to probe %s\n", name); - return -EINVAL; - } - eth_dev->dev_ops = &ops; - rte_eth_dev_probing_finish(eth_dev); - return 0; + if (rte_eal_process_type() == RTE_PROC_SECONDARY) { + AF_XDP_LOG(ERR, "Failed to probe %s. " + "AF_XDP PMD does not support secondary processes.\n", + name); + return -ENOTSUP; } kvlist = rte_kvargs_parse(rte_vdev_device_args(dev), valid_arguments);