Some platform can have two different NICs for example external PCI Intel 40G card and Integrated NIC like vNIC/octeontx/dpaa2.
Both NICs like to use their preferred pool e.g. external PCI card/ vNIC's preferred pool would be the ring based pool and octeontx/dpaa2 preferred would be ext-mempools. Right now, Framework doesn't support such case. Only one pool can be used across two different NIC's. For that, user has to statically set CONFIG_RTE_MEMPOOL_DEFAULT_OPS=<pool-name>. So proposing two approaches: Patch 1) Introducing eal option --pkt-mempool=<pool-name> Patch 2) Introducing ethdev API called _get_preferred_pool(), where PMD driver gets a chance to advertise their pool capability to the application. And based on that hint- application creates pools for that driver. Santosh Shukla (2): eal: Introducing option to set mempool handle ether/ethdev: Allow pmd to advertise preferred pool capability lib/librte_eal/bsdapp/eal/eal.c | 9 +++++++ lib/librte_eal/bsdapp/eal/rte_eal_version.map | 7 +++++ lib/librte_eal/common/eal_common_options.c | 3 +++ lib/librte_eal/common/eal_internal_cfg.h | 2 ++ lib/librte_eal/common/eal_options.h | 2 ++ lib/librte_eal/common/include/rte_eal.h | 9 +++++++ lib/librte_eal/linuxapp/eal/eal.c | 36 +++++++++++++++++++++++++ lib/librte_eal/linuxapp/eal/rte_eal_version.map | 7 +++++ lib/librte_ether/rte_ethdev.c | 16 +++++++++++ lib/librte_ether/rte_ethdev.h | 21 +++++++++++++++ lib/librte_ether/rte_ether_version.map | 7 +++++ lib/librte_mbuf/rte_mbuf.c | 8 ++++-- 12 files changed, 125 insertions(+), 2 deletions(-) -- 2.11.0