ipc: handle unsupported IPC in init
authorAnatoly Burakov <anatoly.burakov@intel.com>
Thu, 25 Apr 2019 12:45:14 +0000 (13:45 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 5 Jun 2019 09:27:17 +0000 (11:27 +0200)
Currently, IPC API will silently ignore unsupported IPC.
Fix the API call and its callers to explicitly handle
unsupported IPC cases.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/common/eal_common_proc.c
lib/librte_eal/freebsd/eal/eal.c
lib/librte_eal/linux/eal/eal.c

index 1a2259f..395161c 100644 (file)
@@ -576,7 +576,8 @@ rte_mp_channel_init(void)
         */
        if (internal_config.no_shconf) {
                RTE_LOG(DEBUG, EAL, "No shared files mode enabled, IPC will be disabled\n");
-               return 0;
+               rte_errno = ENOTSUP;
+               return -1;
        }
 
        /* create filter path */
index c6ac902..4eaa531 100644 (file)
@@ -671,7 +671,7 @@ rte_eal_init(int argc, char **argv)
        /* Put mp channel init before bus scan so that we can init the vdev
         * bus through mp channel in the secondary process before the bus scan.
         */
-       if (rte_mp_channel_init() < 0) {
+       if (rte_mp_channel_init() < 0 && rte_errno != ENOTSUP) {
                rte_eal_init_alert("failed to init mp channel");
                if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
                        rte_errno = EFAULT;
index 1613996..3e1d6eb 100644 (file)
@@ -1014,7 +1014,7 @@ rte_eal_init(int argc, char **argv)
        /* Put mp channel init before bus scan so that we can init the vdev
         * bus through mp channel in the secondary process before the bus scan.
         */
-       if (rte_mp_channel_init() < 0) {
+       if (rte_mp_channel_init() < 0 && rte_errno != ENOTSUP) {
                rte_eal_init_alert("failed to init mp channel");
                if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
                        rte_errno = EFAULT;