[dpdk-users] 'MBUF: error setting mempool handler'
David Aldrich
david.aldrich.ntml at gmail.com
Fri Jun 5 18:20:57 CEST 2020
May I restate my problem please as there was an error in my original
message:
I am using some DPDK application code that worked with DPDK 2.2.0. I am
trying to port it to DPDK 18.08, running on Centos 7. The code gives error:
MBUF: error setting mempool handler
This error occurs in the call to rte_pktmbuf_pool_create() below:
for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
if (rte_lcore_is_enabled(lcore_id) == 0)
continue;
iCpuSocket = rte_lcore_to_socket_id(lcore_id);
if (iCpuSocket == SOCKET_ID_ANY)
iCpuSocket = 0;
// Preparing direct memory pool per Socket
if (socket_direct_pool[iCpuSocket] == NULL)
{
mp = rte_pktmbuf_pool_create( buf,
NB_MBUF,
32,
0,
RTE_MBUF_DEFAULT_BUF_SIZE,
iCpuSocket);
if (mp == NULL) {
<print error>
return -1;
}
socket_direct_pool[iCpuSocket] = mp;
}
I don't know how to fix this. I have seen other people reporting this when
building the dpdk application code as a library (i.e. there were missing
symbols), but I am building directly as an executable.
Any suggestions please?
On Fri, Jun 5, 2020 at 10:43 AM David Aldrich <david.aldrich.ntml at gmail.com>
wrote:
> On Thu, 4 Jun 2020 17:50:18 +0100
>> David Aldrich <david.aldrich.ntml at gmail.com> wrote:
>>
>> <snip>
>>
>> You should not be using 8.08 is not a Long Term Stable release. It is not
>> supported.
>>
>>
> I'm using 18.08 LTS
>
>
>> You should be using rte_pktmbuf_pool_create() rather than
>> rte_mempool_create().
>> Lots has changed in the years since 2.2.0
>>
>
> Sorry, I made a mistake. The error:
>
> MBUF: error setting mempool handler
>
> occurs in:
>
> mp = rte_pktmbuf_pool_create( buf,
> NB_MBUF,
> 32,
> 0,
> RTE_MBUF_DEFAULT_BUF_SIZE,
> iCpuSocket);
>
> Any advice please?
>
> On Thu, Jun 4, 2020 at 6:23 PM Stephen Hemminger <
> stephen at networkplumber.org> wrote:
>
>> On Thu, 4 Jun 2020 17:50:18 +0100
>> David Aldrich <david.aldrich.ntml at gmail.com> wrote:
>>
>> > I am using some DPDK application code that worked with DPDK 2.2.0. I am
>> > trying to port it to DPDK 18.08. The code gives error:
>> >
>> > MBUF: error setting mempool handler
>> >
>> >
>> > I guess the app code that causes this is:
>> >
>> > ptRxQueInfo->pool = rte_mempool_create(buf,
>> > > nb_mbuf/2,
>> > > MBUF_SIZE,
>> > > 0,
>> > > sizeof(struct
>> rte_pktmbuf_pool_private),
>> > >
>> > > rte_pktmbuf_pool_init,
>> > > NULL,
>> > > rte_pktmbuf_init,
>> > > NULL,
>> > > iCpuSocket,
>> > > 0)
>> >
>> >
>> > I really don't know how to fix this. Any suggestions please?
>>
>> You should not be using 8.08 is not a Long Term Stable release. It is not
>> supported.
>>
>> You should be using rte_pktmbuf_pool_create() rather than
>> rte_mempool_create().
>> Lots has changed in the years since 2.2.0
>>
>>
More information about the users
mailing list