6fda3ff6f0
When mempool had been created with RTE_MEMPOOL_F_NO_IOVA_CONTIG flag but later populated with valid IOVA, RTE_MEMPOOL_F_NON_IO was unset, while it should be kept. The unit test did not catch this because rte_mempool_populate_default() it used was populating with RTE_BAD_IOVA. Keep setting RTE_MEMPOOL_NON_IO at an empty mempool creation and add an assert for it in the unit test (remove the separate case). Do not reset the flag if RTE_MEMPOOL_F_ON_IOVA_CONTIG is set. Fixes: 11541c5c81dd ("mempool: add non-IO flag") Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>