* [dpdk-users] Help with mbuf and mempool
@ 2019-09-17 18:05 Tran (US), Katherine K
2019-09-18 4:12 ` Singh, Satish 1. (Nokia - IN/Bangalore)
0 siblings, 1 reply; 7+ messages in thread
From: Tran (US), Katherine K @ 2019-09-17 18:05 UTC (permalink / raw)
To: users
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>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-users] Help with mbuf and mempool
2019-09-18 4:12 ` Singh, Satish 1. (Nokia - IN/Bangalore)
@ 2019-09-17 23:32 ` Suraj R Gupta
2019-09-18 14:31 ` Tran (US), Katherine K
0 siblings, 1 reply; 7+ messages in thread
From: Suraj R Gupta @ 2019-09-17 23:32 UTC (permalink / raw)
To: Singh, Satish 1. (Nokia - IN/Bangalore); +Cc: Tran (US), Katherine K, users
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) <
satish.1.singh@nokia.com> 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 <users-bounces@dpdk.org> On Behalf Of Tran (US), Katherine K
> Sent: Tuesday, September 17, 2019 11:36 PM
> To: users@dpdk.org
> 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-users] Help with mbuf and mempool
2019-09-17 18:05 [dpdk-users] Help with mbuf and mempool Tran (US), Katherine K
@ 2019-09-18 4:12 ` Singh, Satish 1. (Nokia - IN/Bangalore)
2019-09-17 23:32 ` Suraj R Gupta
0 siblings, 1 reply; 7+ messages in thread
From: Singh, Satish 1. (Nokia - IN/Bangalore) @ 2019-09-18 4:12 UTC (permalink / raw)
To: Tran (US), Katherine K, users
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 <users-bounces@dpdk.org> On Behalf Of Tran (US), Katherine K
Sent: Tuesday, September 17, 2019 11:36 PM
To: users@dpdk.org
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>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-users] Help with mbuf and mempool
2019-09-17 23:32 ` Suraj R Gupta
@ 2019-09-18 14:31 ` Tran (US), Katherine K
2019-09-18 14:36 ` Arvind Narayanan
0 siblings, 1 reply; 7+ messages in thread
From: Tran (US), Katherine K @ 2019-09-18 14:31 UTC (permalink / raw)
To: Suraj R Gupta, Singh, Satish 1. (Nokia - IN/Bangalore); +Cc: users
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:surajrgupta@iith.ac.in]
Sent: Tuesday, September 17, 2019 4:33 PM
To: Singh, Satish 1. (Nokia - IN/Bangalore) <satish.1.singh@nokia.com>
Cc: Tran (US), Katherine K <katherine.k.tran@boeing.com>; users@dpdk.org
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) <satish.1.singh@nokia.com<mailto:satish.1.singh@nokia.com>> 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 <users-bounces@dpdk.org<mailto:users-bounces@dpdk.org>> On Behalf Of Tran (US), Katherine K
Sent: Tuesday, September 17, 2019 11:36 PM
To: users@dpdk.org<mailto:users@dpdk.org>
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-users] Help with mbuf and mempool
2019-09-18 14:31 ` Tran (US), Katherine K
@ 2019-09-18 14:36 ` Arvind Narayanan
2019-09-18 14:55 ` Suraj R Gupta
0 siblings, 1 reply; 7+ messages in thread
From: Arvind Narayanan @ 2019-09-18 14:36 UTC (permalink / raw)
To: Tran (US), Katherine K
Cc: Suraj R Gupta, Singh, Satish 1. (Nokia - IN/Bangalore), users
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 <
katherine.k.tran@boeing.com> 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:surajrgupta@iith.ac.in]
> Sent: Tuesday, September 17, 2019 4:33 PM
> To: Singh, Satish 1. (Nokia - IN/Bangalore) <satish.1.singh@nokia.com>
> Cc: Tran (US), Katherine K <katherine.k.tran@boeing.com>; users@dpdk.org
> 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) <
> satish.1.singh@nokia.com<mailto:satish.1.singh@nokia.com>> 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 <users-bounces@dpdk.org<mailto:users-bounces@dpdk.org>> On
> Behalf Of Tran (US), Katherine K
> Sent: Tuesday, September 17, 2019 11:36 PM
> To: users@dpdk.org<mailto:users@dpdk.org>
> 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
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-users] Help with mbuf and mempool
2019-09-18 14:36 ` Arvind Narayanan
@ 2019-09-18 14:55 ` Suraj R Gupta
2019-09-19 21:55 ` Tran (US), Katherine K
0 siblings, 1 reply; 7+ messages in thread
From: Suraj R Gupta @ 2019-09-18 14:55 UTC (permalink / raw)
To: Arvind Narayanan
Cc: Tran (US), Katherine K, Singh, Satish 1. (Nokia - IN/Bangalore), users
Also char buf[PATH_MAX] is not initialised or assigned any value. Assign a
name to it.
The PATH_MAX need not be 4096, use a lesser value say 100.
On Wed, Sep 18, 2019 at 8:07 PM Arvind Narayanan <webguru2688@gmail.com>
wrote:
> 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 <
> katherine.k.tran@boeing.com> 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:surajrgupta@iith.ac.in]
>> Sent: Tuesday, September 17, 2019 4:33 PM
>> To: Singh, Satish 1. (Nokia - IN/Bangalore) <satish.1.singh@nokia.com>
>> Cc: Tran (US), Katherine K <katherine.k.tran@boeing.com>; users@dpdk.org
>> 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) <
>> satish.1.singh@nokia.com<mailto:satish.1.singh@nokia.com>> 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 <users-bounces@dpdk.org<mailto:users-bounces@dpdk.org>> On
>> Behalf Of Tran (US), Katherine K
>> Sent: Tuesday, September 17, 2019 11:36 PM
>> To: users@dpdk.org<mailto:users@dpdk.org>
>> 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
>>
>
--
Thanks and Regards
Suraj R Gupta
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-users] Help with mbuf and mempool
2019-09-18 14:55 ` Suraj R Gupta
@ 2019-09-19 21:55 ` Tran (US), Katherine K
0 siblings, 0 replies; 7+ messages in thread
From: Tran (US), Katherine K @ 2019-09-19 21:55 UTC (permalink / raw)
To: Suraj R Gupta, Arvind Narayanan
Cc: Singh, Satish 1. (Nokia - IN/Bangalore), users
Thank you – The rte_eal_init() function helped to resolve the compile error.
From: Suraj R Gupta [mailto:surajrgupta@iith.ac.in]
Sent: Wednesday, September 18, 2019 7:55 AM
To: Arvind Narayanan <webguru2688@gmail.com>
Cc: Tran (US), Katherine K <katherine.k.tran@boeing.com>; Singh, Satish 1. (Nokia - IN/Bangalore) <satish.1.singh@nokia.com>; users@dpdk.org
Subject: Re: [dpdk-users] Help with mbuf and mempool
Also char buf[PATH_MAX] is not initialised or assigned any value. Assign a name to it.
The PATH_MAX need not be 4096, use a lesser value say 100.
On Wed, Sep 18, 2019 at 8:07 PM Arvind Narayanan <webguru2688@gmail.com<mailto:webguru2688@gmail.com>> wrote:
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 <katherine.k.tran@boeing.com<mailto:katherine.k.tran@boeing.com>> 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:surajrgupta@iith.ac.in<mailto:surajrgupta@iith.ac.in>]
Sent: Tuesday, September 17, 2019 4:33 PM
To: Singh, Satish 1. (Nokia - IN/Bangalore) <satish.1.singh@nokia.com<mailto:satish.1.singh@nokia.com>>
Cc: Tran (US), Katherine K <katherine.k.tran@boeing.com<mailto:katherine.k.tran@boeing.com>>; users@dpdk.org<mailto:users@dpdk.org>
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) <satish.1.singh@nokia.com<mailto:satish.1.singh@nokia.com><mailto:satish.1.singh@nokia.com<mailto:satish.1.singh@nokia.com>>> 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 <users-bounces@dpdk.org<mailto:users-bounces@dpdk.org><mailto:users-bounces@dpdk.org<mailto:users-bounces@dpdk.org>>> On Behalf Of Tran (US), Katherine K
Sent: Tuesday, September 17, 2019 11:36 PM
To: users@dpdk.org<mailto:users@dpdk.org><mailto:users@dpdk.org<mailto:users@dpdk.org>>
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
--
Thanks and Regards
Suraj R Gupta
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-09-19 21:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-17 18:05 [dpdk-users] Help with mbuf and mempool Tran (US), Katherine K
2019-09-18 4:12 ` Singh, Satish 1. (Nokia - IN/Bangalore)
2019-09-17 23:32 ` Suraj R Gupta
2019-09-18 14:31 ` Tran (US), Katherine K
2019-09-18 14:36 ` Arvind Narayanan
2019-09-18 14:55 ` Suraj R Gupta
2019-09-19 21:55 ` Tran (US), Katherine K
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).