[dpdk-dev] l3fwd fails : Cause: Unable to create the l3fwd LPM table on socket 0

Richardson, Bruce bruce.richardson at intel.com
Mon Jun 2 21:01:35 CEST 2014



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Niraj Sharma (nirajsha)
> Sent: Friday, May 30, 2014 7:59 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] l3fwd fails : Cause: Unable to create the l3fwd LPM table on
> socket 0
>

> ....
> EAL: Setting up memory...
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7f67b7800000 (size = 0x200000)
> EAL: Ask a virtual area of 0x7c00000 bytes
> EAL: Virtual area found at 0x7f67afa00000 (size = 0x7c00000)
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7f67af600000 (size = 0x200000)
> EAL: Requesting 64 pages of size 2MB from socket 0

Just by way of explanation, the 64 pages are getting mapped into three blocks, two with a single page each, i.e. 2MB in size, and the rest as a contiguous 124MB block.

> EAL: TSC frequency is ~3491919 KHz
> EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable
> clock cycles !
> EAL: Master core 0 is ready (tid=b86e2800)
> EAL: PCI device 0000:00:03.0 on NUMA socket -1
> EAL:   probe driver: 1af4:1000 rte_virtio_pmd
> EAL: PCI Port IO found start=0xc000 with size=0x20
> EAL: PCI device 0000:00:04.0 on NUMA socket -1
> EAL:   probe driver: 1af4:1000 rte_virtio_pmd
> EAL: PCI Port IO found start=0xc020 with size=0x20
> EAL: PCI device 0000:00:05.0 on NUMA socket -1
> EAL:   probe driver: 1af4:1000 rte_virtio_pmd
> EAL:   0000:00:05.0 not managed by UIO driver, skipping
> Initializing port 0 ... Creating queues: nb_rxq=1 nb_txq=1...
> Address:00:40:47:1A:0A:44, All
> ocated mbuf pool on socket 0
> LPM: Adding route 0x01010100 / 24 (0)
> LPM: Adding route 0x02010100 / 24 (1)
> LPM: Adding route 0x03010100 / 24 (2)
> LPM: Adding route 0x04010100 / 24 (3)
> LPM: Adding route 0x05010100 / 24 (4)
> LPM: Adding route 0x06010100 / 24 (5)
> LPM: Adding route 0x07010100 / 24 (6)
> LPM: Adding route 0x08010100 / 24 (7)
> LPM: LPM memory allocation failed
> EAL: Error - exiting with code: 1
>   Cause: Unable to create the l3fwd LPM table on socket 0
> 

The error message indicates that you are running out of memory, or running out of contiguous memory on your system when running the application. From the output, it looks like the LPM table for IPv4 is getting created and 8 rules are getting added to it. However, thereafter the application is attempting to create an LPM table for IPv6 traffic and there is not enough memory available for this. 
Running a quick test on my system, the l3fwd app is requesting just over 32MB of memory for the LPM4 table and 128MB of memory for the LPM6 one. This size of memory requests would explain the observed behaviour, given you only have 128MB of hugepage memory in total - and only 124MB of that in a contiguous block, as can be seen from the statements mapping the memory.

Regards,
/Bruce


More information about the dev mailing list