From: Nitin Saxena <nsaxena16@gmail.com>
To: "Morten Brørup" <mb@smartsharesystems.com>
Cc: Ankur Dwivedi <adwivedi@marvell.com>,
vladimir.medvedkin@intel.com, Jerin Jacob <jerinj@marvell.com>,
Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
Pavan Nikhilesh <pbhagavatula@marvell.com>,
skori@marvell.com, rkudurumalla@marvell.com,
Nitin Saxena <nsaxena@marvell.com>,
Robin Jarry <rjarry@redhat.com>,
dev@dpdk.org
Subject: Re: [PATCH v3 00/14] add lookup fib nodes in graph library
Date: Tue, 3 Jun 2025 11:24:20 +0530 [thread overview]
Message-ID: <CAG6-93z3kJeGzxgOTOH-CywFLS2bZz2yuQteyqTZBUm=Kyk4Bg@mail.gmail.com> (raw)
In-Reply-To: <CAG6-93zSt1SGRa0XnJnodCtiOKWUMTYBY26A3qy9cE1hd_K3oQ@mail.gmail.com>
Hi Morten,
Let me take a stab regarding the VRF question.
Please find answers inline
Thanks,
Nitin
On Mon, Jun 2, 2025 at 2:12 PM Morten Brørup <mb@smartsharesystems.com> wrote:
>
> +TO: Robin Jarry, might have relevant feedback for such a node
>
> > From: Ankur Dwivedi [mailto:adwivedi@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?
> If it isn't, how does the Graph library make its use of the FIB library thread safe?
>
Just a nit-pick here, there are two libraries used by rte_graph applications
- Graph library (lib/graph/*)
- Node library (lib/node/*)
Questions here are pertaining to "Node library" and not to "Graph library"
> 2. VRF support:
> This looks like a global route table for the entire graph.
Correct.
> Shouldn't there be a route table per FIB node?
Yes when VRF support is added in library, one FIB would support on route table
> Or how are VRFs supported by the Graph library?
> Or is there no requirement to support VRFs in the Graph library?
>
Currently the node library(instead of Graph library) does not support
VRF. There is an intention to add it in lib/node/ip[4|6]-lookup nodes
IMO, @Vladimir can correct me, even FIB support for multiple VRF is
unoptimized because rte_fib_lookup_bulk() function takes single fib
pointer instead of multiple fib pointers
For adding VRF support in ip[4|6]-lookup nodes ideally we would like to have
rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips, uint64_t
next_hops, int n); (OR different new API)
taking an array of fib pointers (or fib index) corresponding to each
nth packet. It should also avoid fib->lookup() callback for every
packet.
We can also add this API as part of "Node library" but we need "static
inline" version of fib->lookup() in rte_fib header file
> -Morten
>
next prev parent reply other threads:[~2025-06-03 5:54 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-15 12:10 [PATCH v1 00/12] " Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 01/12] fib: move macro to header file Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 02/12] node: add IP4 lookup FIB node Ankur Dwivedi
2025-04-16 7:32 ` Nitin Saxena
2025-04-16 10:26 ` [EXTERNAL] " Ankur Dwivedi
2025-04-16 9:34 ` Medvedkin, Vladimir
2025-04-16 10:07 ` [EXTERNAL] " Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 03/12] node: add IP4 FIB route add Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 04/12] node: add process callback for IP4 FIB Ankur Dwivedi
2025-04-16 7:54 ` Nitin Saxena
2025-04-16 12:54 ` Medvedkin, Vladimir
2025-04-18 7:38 ` [EXTERNAL] " Ankur Dwivedi
2025-04-19 18:14 ` Vladimir Medvedkin
2025-04-23 9:46 ` Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 05/12] node: add next node in packet classification Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 06/12] app/graph: add IP4 lookup mode command Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 07/12] fib: move macro to header file Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 08/12] node: add IP6 lookup FIB node Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 09/12] node: add IP6 FIB route add Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 10/12] node: add process callback for IP6 FIB Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 11/12] node: add next node in packet classification Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 12/12] app/graph: add IP6 lookup mode command Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 00/13] add lookup fib nodes in graph library Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 01/13] fib: move macro to header file Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 02/13] node: add IP4 lookup FIB node Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 03/13] node: add IP4 FIB route add Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 04/13] node: add process callback for IP4 FIB Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 05/13] node: move next nodes to public header file Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 06/13] node: add next node in packet classification Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 07/13] app/graph: add IP4 lookup mode command Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 08/13] fib: move macro to header file Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 09/13] node: add IP6 lookup FIB node Ankur Dwivedi
2025-05-30 10:50 ` Jerin Jacob
2025-05-09 6:44 ` [PATCH v2 10/13] node: add IP6 FIB route add Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 11/13] node: add process callback for IP6 FIB Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 12/13] node: add next node in packet classification Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 13/13] app/graph: add IP6 lookup mode command Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 00/14] add lookup fib nodes in graph library Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 01/14] fib: move macro to header file Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 02/14] node: add IP4 lookup FIB node Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 03/14] node: add IP4 FIB route add Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 04/14] node: add process callback for IP4 FIB Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 05/14] node: move next nodes to public header file Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 06/14] node: add next node in packet classification Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 07/14] app/graph: add IP4 lookup mode command Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 08/14] fib: move macro to header file Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 09/14] node: add IP6 lookup FIB node Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 10/14] node: add IP6 FIB route add Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 11/14] node: add process callback for IP6 FIB Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 12/14] node: add next node in packet classification Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 13/14] app/graph: add IP6 lookup mode command Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 14/14] doc: add FIB nodes in graph guide Ankur Dwivedi
2025-06-02 8:34 ` [PATCH v3 00/14] add lookup fib nodes in graph library Morten Brørup
2025-06-03 5:44 ` Ankur Dwivedi
[not found] ` <CAG6-93zSt1SGRa0XnJnodCtiOKWUMTYBY26A3qy9cE1hd_K3oQ@mail.gmail.com>
2025-06-03 5:54 ` Nitin Saxena [this message]
2025-06-04 17:47 ` Medvedkin, Vladimir
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAG6-93z3kJeGzxgOTOH-CywFLS2bZz2yuQteyqTZBUm=Kyk4Bg@mail.gmail.com' \
--to=nsaxena16@gmail.com \
--cc=adwivedi@marvell.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=mb@smartsharesystems.com \
--cc=ndabilpuram@marvell.com \
--cc=nsaxena@marvell.com \
--cc=pbhagavatula@marvell.com \
--cc=rjarry@redhat.com \
--cc=rkudurumalla@marvell.com \
--cc=skori@marvell.com \
--cc=vladimir.medvedkin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).