>From: Fischetti, Antonio >Sent: Monday, October 16, 2017 2:15 PM >To: [email protected] >Cc: Kavanagh, Mark B <[email protected]>; Darrell Ball ><[email protected]>; Loftus, Ciara <[email protected]>; Kevin Traynor ><[email protected]>; Aaron Conole <[email protected]>; Fischetti, Antonio ><[email protected]> >Subject: [PATCH v6 3/5] netdev-dpdk: manage empty mempool names.
It's not just empty names - the name could also be too long. Probably best to rephrase the commit name accordingly. > >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]> >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 07c438a..dd5759b 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_ERR("Failed to generate a mempool name for \"%s\". " >+ "Hash:0x%x, mtu:%d, mbufs:%u, ret:%d", >+ dmp->if_name, h, dmp->mtu, dmp->mp_size, ret); A string from ovs_strerror(ret) would probably be more useful than the return value itself here. I'm not sure how useful the individual values themselves are in an ERR log either (more suited to a DBG log). -Mark > 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("Requesting a mempool of %u mbufs for netdev %s " > "with %d Rx and %d Tx queues, socket id:%d.", >-- >2.4.11 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
