From: Alex Wang <a...@awakenetworks.com> Function like 'rte_kni_rx_burst()' keeps allocating 'MAX_MBUF_BURST_NUM' mbufs to kni fifo queue unless the queue's capacity ('KNI_FIFO_COUNT_MAX') is reached. So, if the mempool is under-provisioned, user may run into "Out of Memory" logs from KNI code. This commit documents the need to provision mempool capacity of more than "2 x KNI_FIFO_COUNT_MAX" for each KNI interface.
Signed-off-by: Alex Wang <alex at awakenetworks.com> Acked-by: Ferruh Yigit <ferruh.yigit at intel.com> --- lib/librte_kni/rte_kni.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_kni/rte_kni.h b/lib/librte_kni/rte_kni.h index 25fa45e..ac11148 100644 --- a/lib/librte_kni/rte_kni.h +++ b/lib/librte_kni/rte_kni.h @@ -113,6 +113,9 @@ extern void rte_kni_init(unsigned int max_kni_ifaces); * The rte_kni_alloc shall not be called before rte_kni_init() has been * called. rte_kni_alloc is thread safe. * + * The mempool should have capacity of more than "2 x KNI_FIFO_COUNT_MAX" + * elements for each KNI interface allocated. + * * @param pktmbuf_pool * The mempool for allocting mbufs for packets. * @param conf -- 2.1.4