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 <g...@mail1.yoursunny.com> --- drivers/net/af_xdp/rte_eth_af_xdp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index 6ac710c6bd..2163df7c5c 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -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; -- 2.17.1