net/af_xdp: allow probing when multiprocess is disabled
authorJunxiao Shi <git@mail1.yoursunny.com>
Thu, 17 Feb 2022 11:09:06 +0000 (11:09 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 17 Feb 2022 17:26:00 +0000 (18:26 +0100)
If EAL multiprocess feature has been disabled via rte_mp_disable()
function, AF_XDP driver may not be able to register its IPC callback.
Previously this leads to probe failure.
This commit adds a check for this condition so that AF_XDP can still be
used even if multiprocess is disabled.

Fixes: 9876cf8316b3 ("net/af_xdp: re-enable secondary process support")

Signed-off-by: Junxiao Shi <git@mail1.yoursunny.com>
Acked-by: Ciara Loftus <ciara.loftus@intel.com>
drivers/net/af_xdp/rte_eth_af_xdp.c

index 6ac710c..2163df7 100644 (file)
@@ -1995,7 +1995,7 @@ rte_pmd_af_xdp_probe(struct rte_vdev_device *dev)
        /* Register IPC callback which shares xsk fds from primary to secondary */
        if (!afxdp_dev_count) {
                ret = rte_mp_action_register(ETH_AF_XDP_MP_KEY, afxdp_mp_send_fds);
-               if (ret < 0) {
+               if (ret < 0 && rte_errno != ENOTSUP) {
                        AF_XDP_LOG(ERR, "%s: Failed to register multi-process IPC callback: %s",
                                   name, strerror(rte_errno));
                        return -1;