[19.08,1/6] ipc: handle unsupported ipc in init
Checks
Commit Message
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 | 3 ++-
lib/librte_eal/freebsd/eal/eal.c | 2 +-
lib/librte_eal/linux/eal/eal.c | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
Comments
25/04/2019 14:45, Anatoly Burakov:
> 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>
Series applied thanks.
Note that title is changed to have IPC uppercase
while "ipc:" module name is kept lowercase.
@@ -568,7 +568,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 */
@@ -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;
@@ -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;