- assert(rte_eal_process_type() == RTE_PROC_PRIMARY);
- rte_mp_action_register(MLX4_MP_NAME, mp_primary_handle);
+ int ret;
+
+ MLX4_ASSERT(rte_eal_process_type() == RTE_PROC_PRIMARY);
+
+ /* primary is allowed to not support IPC */
+ ret = rte_mp_action_register(MLX4_MP_NAME, mp_primary_handle);
+ if (ret && rte_errno != ENOTSUP)
+ return -1;
+ return 0;