fib{,6}: questions and proposals

Robin Jarry rjarry at redhat.com
Tue Mar 19 09:30:59 CET 2024


Hi Vladimir,

I have been using rte_fib for a while and stumbled upon a few quirks. 
I was wondering if you would answer some questions:

1) Is it OK/safe to share the same fib to perform route lookups from 
   multiple lcores in parallel? So far my observations seem to validate 
   that assumption but I would like your opinion :)

2) Is it OK/safe to modify a fib from a control thread (read/write) 
   while it is used by data path threads (read only)?

3) There is no public API to list/walk all configured routes in a fib. 
   Would that be possible/easy to implement?

4) In rte_fib, every IPv4 address (route *and* next hop) needs to be in 
   host order. This is not consistent with fib6 where addresses are 
   stored in network order. It took me quite a while to figure out what 
   was wrong with my code.

   I assume this is because DIR24 needs host order integers and not 
   TRIE. Why was this not hidden in the API?

   Could we add a flag to rte_fib_conf to change the behaviour? This 
   would avoid error prone ntohl/htonl juggling.

Thanks in advance for your replies :)

-- 
Robin



More information about the dev mailing list