[ovs-dev] [PATCH] netdev-dpdk: fix mempool_configure error state
Mark Kavanagh
mark.b.kavanagh at intel.com
Mon Mar 13 10:11:57 UTC 2017
netdev_dpdk_mempool_configure obtains a handle to a
DPDK memory pool via a call to dpdk_mp_get. If dpdk_mp_get
fails, the former informs the user that insufficient memory
is available, and returns ENOMEM. However, this is
potentially misleading, as there are a number of reasons why
creation of a mempool can fail (as per rte_mempool_create),
including:
- insufficient memory available
- mempool already exists
- other memory allocation error
Update the error log to reflect this fact, and return rte_errno
in the event of error, instead of ENOMEM.
Signed-off-by: Mark Kavanagh <mark.b.kavanagh at intel.com>
Fixes: 0072e931 ("netdev-dpdk: add support for jumbo frames")
---
lib/netdev-dpdk.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index ddc651b..7eeced8 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -571,10 +571,10 @@ netdev_dpdk_mempool_configure(struct netdev_dpdk *dev)
mp = dpdk_mp_get(dev->requested_socket_id, FRAME_LEN_TO_MTU(buf_size));
if (!mp) {
- VLOG_ERR("Insufficient memory to create memory pool for netdev "
+ VLOG_ERR("Failed to create memory pool for netdev "
"%s, with MTU %d on socket %d\n",
dev->up.name, dev->requested_mtu, dev->requested_socket_id);
- return ENOMEM;
+ return rte_errno;
} else {
dpdk_mp_put(dev->dpdk_mp);
dev->dpdk_mp = mp;
--
1.9.3
More information about the dev
mailing list