[dpdk-dev] [PATCH v3 2/2] mempool: pktmbuf pool default fallback for mempool ops error
Hemant Agrawal
hemant.agrawal at nxp.com
Fri Sep 16 18:46:35 CEST 2016
In the rte_pktmbuf_pool_create, if the default external mempool is
not available, the implementation can default to "ring_mp_mc", which
is an software implementation.
Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
---
Changes in V3:
* adding warning message to say that falling back to default sw pool
---
lib/librte_mbuf/rte_mbuf.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c
index 4846b89..8ab0eb1 100644
--- a/lib/librte_mbuf/rte_mbuf.c
+++ b/lib/librte_mbuf/rte_mbuf.c
@@ -176,6 +176,14 @@ rte_pktmbuf_pool_create(const char *name, unsigned n,
rte_errno = rte_mempool_set_ops_byname(mp,
RTE_MBUF_DEFAULT_MEMPOOL_OPS, NULL);
+
+ /* on error, try falling back to the software based default pool */
+ if (rte_errno == -EOPNOTSUPP) {
+ RTE_LOG(WARNING, MBUF, "Default HW Mempool not supported. "
+ "falling back to sw mempool \"ring_mp_mc\"");
+ rte_errno = rte_mempool_set_ops_byname(mp, "ring_mp_mc", NULL);
+ }
+
if (rte_errno != 0) {
RTE_LOG(ERR, MBUF, "error setting mempool handler\n");
return NULL;
--
1.9.1
More information about the dev
mailing list