From 1f36a93d3d68f5ba6dcda08809394ce757cefd72 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Tue, 10 Oct 2017 18:18:07 +0200 Subject: dpdk: fix mempool size calculation Change-Id: I5b48310c46ca8a2143b2132110240d7e9a52c25d Signed-off-by: Damjan Marion --- src/plugins/dpdk/buffer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/dpdk/buffer.c b/src/plugins/dpdk/buffer.c index c23a42070b1..484492cb4d4 100644 --- a/src/plugins/dpdk/buffer.c +++ b/src/plugins/dpdk/buffer.c @@ -427,7 +427,7 @@ dpdk_buffer_pool_create (vlib_main_t * vm, unsigned num_mbufs, vlib_physmem_region_index_t pri; u8 *pool_name; unsigned elt_size; - u32 size; + u32 size, obj_size; i32 i, ret; vec_validate_aligned (dm->pktmbuf_pools, socket_id, CLIB_CACHE_LINE_BYTES); @@ -442,7 +442,8 @@ dpdk_buffer_pool_create (vlib_main_t * vm, unsigned num_mbufs, VLIB_BUFFER_HDR_SIZE /* priv size */ + VLIB_BUFFER_PRE_DATA_SIZE + VLIB_BUFFER_DATA_SIZE; /*data room size */ - size = rte_mempool_xmem_size (num_mbufs, elt_size, 21); + obj_size = rte_mempool_calc_obj_size (elt_size, 0, 0); + size = rte_mempool_xmem_size (num_mbufs, obj_size, 21); clib_error_t *error = 0; error = -- cgit 1.2.3-korg