The config create function did not store the mem config address in the shared memconfig structure, so the secondary processes couldn't map it at the requred address.
Fixes: b149a7064261 ("eal/freebsd: add config reattach in secondary process") Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> --- lib/librte_eal/freebsd/eal/eal.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c index 13ca1202c..d53f0fe69 100644 --- a/lib/librte_eal/freebsd/eal/eal.c +++ b/lib/librte_eal/freebsd/eal/eal.c @@ -266,6 +266,11 @@ rte_eal_config_create(void) memcpy(rte_mem_cfg_addr, &early_mem_config, sizeof(early_mem_config)); rte_config.mem_config = rte_mem_cfg_addr; + /* store address of the config in the config itself so that secondary + * processes could later map the config into this exact location + */ + rte_config.mem_config->mem_cfg_addr = (uintptr_t) rte_mem_cfg_addr; + return 0; } -- 2.17.1