Skip to content

LPM iterators #542

@AltraMayor

Description

@AltraMayor

Once Gatekeeper v1.1 is out, the major roadblock for Gatekeeper to use a mainline version of DPDK is the need to iterate LPM tables for IPv4 and IPv6. There's no sign that this feature is going to make it into DPDK in the near future since DPDK's LPM library is meant to implement a forwarding information base (FIB) instead of a routing information base (RIB). The solution to avoid a patch to add LPM iterators to DPDK is for Gatekeeper to implement a prefix tree to work as a RIB.

Since Gatekeeper would have a FIB (current code) and a RIB (new code), we must make sure that the RIB is not memory hungry. Having a prefix tree would make iterators cheaper than the current implementation, and lookups fast enough for the needs of the interfaces that manage the routing table of Gatekeeper (i.e. Dynamic configuration and CPS blocks). The current FIB would still be used to forward packets at the data plane level.

Metadata

Metadata

Assignees

Labels

Operational demandThis issue would make Gatekeeper safer and/or cheaper to operate

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions