Hi Morten, >> From: Ankur Dwivedi [mailto:adwiv...@marvell.com] >> Sent: Monday, 2 June 2025 08.36 >> >> This patch series adds two inbuilt nodes ip4_lookup_fib and >> ip6_lookup_fib in graph library. These nodes uses the existing >> Forwarding Information Base (FIB) library to create FIB, to do route >> addition and route lookup. >> >> Two new commands (for ipv4 and ipv6) for providing the lookup mode is >> added in the dpdk-graph application. fib or lpm can be given as lookup >> mode. If these new lookup mode commands are not given, the dpdk-graph >> uses lpm (Longest Prefix Match) or lpm6 by default. >> If fib is given as lookup mode then the ip4_lookup_fib or >> ip6_lookup_fib nodes are used by the application. > >@Ankur, @Vladimir, @Jerin, > >A couple of high level questions... > >1. Thread safety: >I'm not familiar with the thread safety models of the FIB and Graph libraries. >Is the FIB library thread safe, so one thread can invoke the FIB modify >operation >while other threads invoke the FIB lookup operation?
The FIB library provides rte_fib_rcu_qsbr_add function, which provides thread safety per FIB table. The current lookup _fib node does not have rte_fib_rcu_qsbr_add(), as I did not plan for it. But, I can add the rcu in rc2 (if that is ok). Ankur >If it isn't, how does the Graph library make its use of the FIB library thread >safe? > >2. VRF support: >This looks like a global route table for the entire graph. >Shouldn't there be a route table per FIB node? >Or how are VRFs supported by the Graph library? >Or is there no requirement to support VRFs in the Graph library? > >-Morten