diff --git a/lib/librte_eal/freebsd/eal/eal_memory.c b/lib/librte_eal/freebsd/eal/eal_memory.c index fb1549fbe6..1cc36dff60 100644 --- a/lib/librte_eal/freebsd/eal/eal_memory.c +++ b/lib/librte_eal/freebsd/eal/eal_memory.c @@ -508,8 +508,8 @@ memseg_secondary_init(void) msl = &mcfg->memsegs[msl_idx]; - /* skip empty memseg lists */ - if (msl->memseg_arr.len == 0) + /* skip empty and external memseg lists */ + if (msl->memseg_arr.len == 0 || msl->external) continue; if (rte_fbarray_attach(&msl->memseg_arr)) { diff --git a/lib/librte_eal/linux/eal/eal_memory.c b/lib/librte_eal/linux/eal/eal_memory.c index c93d9bb2b8..e7ab3aaf17 100644 --- a/lib/librte_eal/linux/eal/eal_memory.c +++ b/lib/librte_eal/linux/eal/eal_memory.c @@ -2423,8 +2423,8 @@ memseg_secondary_init(void) msl = &mcfg->memsegs[msl_idx]; - /* skip empty memseg lists */ - if (msl->memseg_arr.len == 0) + /* skip empty and external memseg lists */ + if (msl->memseg_arr.len == 0 || msl->external) continue; if (rte_fbarray_attach(&msl->memseg_arr)) {