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