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

Reply via email to