ipc: handle unsupported IPC in init

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>
This commit is contained in:
Anatoly Burakov 2019-04-25 13:45:14 +01:00 committed by Thomas Monjalon
parent 7f9f46d6ce
commit c830900d75
3 changed files with 4 additions and 3 deletions

View 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 */

View 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;

View 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;