MCPcopy Create free account
hub / github.com/F-Stack/f-stack / mempool_create

Function mempool_create

dpdk/examples/ip_pipeline/mempool.c:40–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40struct mempool *
41mempool_create(const char *name, struct mempool_params *params)
42{
43 struct mempool *mempool;
44 struct rte_mempool *m;
45
46 /* Check input params */
47 if ((name == NULL) ||
48 mempool_find(name) ||
49 (params == NULL) ||
50 (params->buffer_size < BUFFER_SIZE_MIN) ||
51 (params->pool_size == 0))
52 return NULL;
53
54 /* Resource create */
55 m = rte_pktmbuf_pool_create(
56 name,
57 params->pool_size,
58 params->cache_size,
59 0,
60 params->buffer_size - sizeof(struct rte_mbuf),
61 params->cpu_id);
62
63 if (m == NULL)
64 return NULL;
65
66 /* Node allocation */
67 mempool = calloc(1, sizeof(struct mempool));
68 if (mempool == NULL) {
69 rte_mempool_free(m);
70 return NULL;
71 }
72
73 /* Node fill in */
74 strlcpy(mempool->name, name, sizeof(mempool->name));
75 mempool->m = m;
76 mempool->buffer_size = params->buffer_size;
77
78 /* Node add to list */
79 TAILQ_INSERT_TAIL(&mempool_list, mempool, node);
80
81 return mempool;
82}

Callers 1

cmd_mempoolFunction · 0.85

Calls 5

mempool_findFunction · 0.85
rte_pktmbuf_pool_createFunction · 0.85
callocFunction · 0.85
rte_mempool_freeFunction · 0.85
strlcpyFunction · 0.50

Tested by

no test coverage detected