The TAP (and XDP) driver need to pass a file descriptor per queue to/from secondary process. The current limit is too low and ends up limiting these drivers to 7 queues.
Increase the limit to what the unix domain socket allows. The Linux kernel allows up to SCM_MAX_FD (253). Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- lib/eal/include/rte_eal.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/eal/include/rte_eal.h b/lib/eal/include/rte_eal.h index c2256f832e51..5fae3ebcdc21 100644 --- a/lib/eal/include/rte_eal.h +++ b/lib/eal/include/rte_eal.h @@ -155,7 +155,9 @@ int rte_eal_primary_proc_alive(const char *config_file_path); */ bool rte_mp_disable(void); -#define RTE_MP_MAX_FD_NUM 8 /* The max amount of fds */ +#define RTE_MP_MAX_FD_NUM 253 /* The max number of fds + * See unix(7) SCM_MAX_FD + */ #define RTE_MP_MAX_NAME_LEN 64 /* The max length of action name */ #define RTE_MP_MAX_PARAM_LEN 256 /* The max length of param */ struct rte_mp_msg { -- 2.43.0