#include "args.h"
#include "init.h"
-#define MBUFS_PER_CLIENT 1536
-#define MBUFS_PER_PORT 1536
#define MBUF_CACHE_SIZE 512
#define RTE_MP_RX_DESC_DEFAULT 1024
static int
init_mbuf_pools(void)
{
- const unsigned num_mbufs = (num_clients * MBUFS_PER_CLIENT) \
- + (ports->num_ports * MBUFS_PER_PORT);
+ const unsigned int num_mbufs_server =
+ RTE_MP_RX_DESC_DEFAULT * ports->num_ports;
+ const unsigned int num_mbufs_client =
+ num_clients * (CLIENT_QUEUE_RINGSIZE +
+ RTE_MP_TX_DESC_DEFAULT * ports->num_ports);
+ const unsigned int num_mbufs_mp_cache =
+ (num_clients + 1) * MBUF_CACHE_SIZE;
+ const unsigned int num_mbufs =
+ num_mbufs_server + num_mbufs_client + num_mbufs_mp_cache;
/* don't pass single-producer/single-consumer flags to mbuf create as it
* seems faster to use a cache instead */