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

Reply via email to