In case a mempool name could not be generated log a message and return a null mempool pointer to the caller.
CC: Mark B Kavanagh <[email protected]> CC: Darrell Ball <[email protected]> CC: Ciara Loftus <[email protected]> CC: Kevin Traynor <[email protected]> CC: Aaron Conole <[email protected]> Fixes: d555d9bded5f ("netdev-dpdk: Create separate memory pool for each port.") Signed-off-by: Antonio Fischetti <[email protected]> --- lib/netdev-dpdk.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index dc1e9c3..6fc6e1b 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -502,6 +502,9 @@ dpdk_mp_name(struct dpdk_mp *dmp) int ret = snprintf(mp_name, RTE_MEMPOOL_NAMESIZE, "ovs_%x_%d_%d_%u", h, dmp->socket_id, dmp->mtu, dmp->mp_size); if (ret < 0 || ret >= RTE_MEMPOOL_NAMESIZE) { + VLOG_DBG("snprintf returned %d. Failed to generate a mempool " + "name for \"%s\". Hash:0x%x, mtu:%d, mbufs:%u.", + ret, dmp->if_name, h, dmp->mtu, dmp->mp_size); return NULL; } return mp_name; @@ -533,6 +536,10 @@ dpdk_mp_create(struct netdev_dpdk *dev, int mtu, bool *mp_exists) do { char *mp_name = dpdk_mp_name(dmp); + if (!mp_name) { + rte_free(dmp); + return NULL; + } VLOG_DBG("Port %s: Requesting a mempool of %u mbufs " "on socket %d for %d Rx and %d Tx queues.", -- 2.4.11 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
