[dpdk-dev] Using rte_lpm as standalone library w/o mempools or dpdk infra

Burakov, Anatoly anatoly.burakov at intel.com
Fri Apr 3 10:55:14 CEST 2020


On 02-Apr-20 1:51 PM, Venumadhav Josyula wrote:
> Hi All,
> 
> Idea is following
>     - create lpm in one process where only rte_lpm and bare minimum is
> acessible. Addition into this table will also happen in this process
> context.
>     - Now in the packet processing context based ip of packet the lookup
> will happen in the lpm created.
> 
> Is above possible. Please task / Process in which lpm created or lpm
> entries added, does not do anything with respect to rte_eal.
> 
> Any pointers, will really be appreciated.
> 
> Cheers,
> Venu
> 

It is certainly possible to do that in principle, but it is not possible 
with current implementation. The LPM library relies on rte_malloc() for 
initialization, and that in turn relies on EAL structures being 
initialized, and DPDK hugepage memory being available.

If your concern is specifically to not use DPDK-allocated hugepage 
memory but use one that your application controls, it is possible to not 
use built-in DPDK memory and lessen the impact of DPDK initialization on 
the system with a few tricks (run in --in-memory and --no-huge mode with 
a tiny amount of memory, and use external memory API to create data 
structures in a memory you control), but you can't avoid it entirely.

-- 
Thanks,
Anatoly


More information about the dev mailing list