Not sure, did you try to initialize the EAL first before creating mempool, etc.? rte_eal_init() <https://doc.dpdk.org/api/rte__eal_8h.html#a5c3f4dddc25e38c5a186ecd8a69260e3>
Arvind On Wed, Sep 18, 2019 at 9:31 AM Tran (US), Katherine K < [email protected]> wrote: > Hi, > > I have allocated hugepages. I still get the same error. > > I changed the code to the following but I still get the same error: > > ------------- Code --------------- > > struct rte_mempool *mempool = NULL; > #define NB_MBUF 8192 > #define PATH_MAX 4096 > > int > main(int argc, char **argv) > { > > struct rte_mbuf *mbuf = NULL; > char buf[PATH_MAX]; > struct rte_mempool *mp; > int socket; > > socket = SOCKET_ID_ANY; > mp = rte_pktmbuf_pool_create(buf, NB_MBUF, 32, 0, > RTE_MBUF_DEFAULT_BUF_SIZE, socket); > > } > > regards, > Katie > > From: Suraj R Gupta [mailto:[email protected]] > Sent: Tuesday, September 17, 2019 4:33 PM > To: Singh, Satish 1. (Nokia - IN/Bangalore) <[email protected]> > Cc: Tran (US), Katherine K <[email protected]>; [email protected] > Subject: Re: [dpdk-users] Help with mbuf and mempool > > Make sure you have allocated hugepages before running the application > > On Wed, Sep 18, 2019 at 9:42 AM Singh, Satish 1. (Nokia - IN/Bangalore) < > [email protected]<mailto:[email protected]>> wrote: > Hi, > > You are using Socket 0, and might be there is no memory in this socket or > no memory left in this socket 0. Try with SOCKET_ID_ANY. > > Regards, > SATISH SINGH > > -----Original Message----- > From: users <[email protected]<mailto:[email protected]>> On > Behalf Of Tran (US), Katherine K > Sent: Tuesday, September 17, 2019 11:36 PM > To: [email protected]<mailto:[email protected]> > Subject: [dpdk-users] Help with mbuf and mempool > > Hello, > > I am trying to allocate an mbuf to use for IP fragmentation. When > instantiating a mempool using rte_pktmbuf_pool_create() function, I keep > getting the following error message. > > Error Message: > * MEMPOOL: Cannot allocate tailq entry! > > Will you please let me know what I am missing? > > Regards, > Katie > > > --------------- Code --------------------- > > #include <stdio.h> > #include <stdlib.h> > #include <stdint.h> > #include <inttypes.h> > #include <sys/types.h> > #include <sys/param.h> > #include <string.h> > #include <sys/queue.h> > #include <stdarg.h> > #include <errno.h> > #include <getopt.h> > > #include <rte_common.h> > #include <rte_byteorder.h> > #include <rte_log.h> > #include <rte_memory.h> > #include <rte_memcpy.h> > #include <rte_memzone.h> > #include <rte_eal.h> > #include <rte_per_lcore.h> > #include <rte_launch.h> > #include <rte_atomic.h> > #include <rte_cycles.h> > #include <rte_prefetch.h> > #include <rte_lcore.h> > #include <rte_per_lcore.h> > #include <rte_branch_prediction.h> > #include <rte_interrupts.h> > #include <rte_pci.h> > #include <rte_random.h> > #include <rte_debug.h> > #include <rte_ether.h> > #include <rte_ethdev.h> > #include <rte_ring.h> > #include <rte_mempool.h> > #include <rte_mbuf.h> > #include <rte_lpm.h> > #include <rte_lpm6.h> > #include <rte_ip.h> > #include <rte_string_fns.h> > > #include <rte_ip_frag.h> > > struct rte_mempool *mempool = NULL; > #define NB_MBUF 8192 > #define AERO_FRAG_SIZE 1024 > #define PATH_MAX 4096 > > //static struct rte_mempool *socket_direct_pool[RTE_MAX_NUMA_NODES]; > > int > main(int argc, char **argv) > { > > struct rte_mbuf *mbuf = NULL; > struct node_queue_conf *qconf; > > char buf[PATH_MAX]; > struct rte_mempool *mp; > struct rte_lpm *lpm; > struct rte_lpm6 *lpm6; > struct rte_lpm_config lpm_config; /*KT Readded*/ > int socket; > unsigned lcore_id; > > unsigned elt_size; > > lcore_id = 1; > socket = rte_lcore_to_socket_id(lcore_id); > > if (rte_lcore_is_enabled(lcore_id) == 0) > printf("RTE LCORE is enabled!"); > > socket = rte_lcore_to_socket_id(lcore_id); > if (socket == SOCKET_ID_ANY) > socket = 0; > > elt_size = sizeof(struct rte_mbuf) + > (unsigned)RTE_MBUF_DEFAULT_BUF_SIZE; > > //mp = rte_mempool_create_empty(buf, NB_MBUF, elt_size, > RTE_MBUF_DEFAULT_BUF_SIZE, sizeof(struct rte_pktmbuf_pool_private), socket, > 0); > > mp = rte_pktmbuf_pool_create(buf, NB_MBUF, 32, 0, > RTE_MBUF_DEFAULT_BUF_SIZE, socket); > > /* > if (socket_direct_pool[socket] == NULL) { > RTE_LOG(INFO, IP_FRAG, "Creating direct mempool on socket > %i\n", > socket); > snprintf(buf, sizeof(buf), "pool_direct_%i", socket); > > mp = rte_pktmbuf_pool_create(buf, NB_MBUF, 32, > 0, AERO_FRAG_SIZE, socket); > > if (mp == NULL) { > RTE_LOG(ERR, IP_FRAG, "Cannot create direct > mempool\n"); > return -1; > } > socket_direct_pool[socket] = mp; > > } > */ > //mbuf = rte_pktmbuf_alloc(mp); > > //fragment(mbuf, qconf); > > > } > > ------------------------------------------ > > > -------------- next part -------------- > An embedded and charset-unspecified text was scrubbed... > Name: fragment.c > URL: < > http://mails.dpdk.org/archives/users/attachments/20190917/3e7f791b/attachment.c > > > > > -- > Thanks and Regards > Suraj R Gupta >
