[PATCH v1 01/21] ethdev: add flow graph API
Bruce Richardson
bruce.richardson at intel.com
Wed Aug 26 11:26:07 CEST 2026
On Wed, Aug 26, 2026 at 11:21:57AM +0200, Thomas Monjalon wrote:
> 26/08/2026 10:58, Burakov, Anatoly:
> > On 8/25/2026 3:55 PM, Thomas Monjalon wrote:
> > > 20/08/2026 16:00, Anatoly Burakov:
> > >> This commit adds a flow graph parsing API. This is a helper API intended to
> > >> help ethdev drivers implement rte_flow parsers, as common usages map to
> > >> graph traversal problem very well.
> > >>
> > >> Features provided by the API:
> > >> - Flow graph, edge, and node definitions
> > >> - Graph traversal logic
> > >> - Declarative validation against common flow item types
> > >> - Per-node validation and state processing callbacks
> > > [...]
> > >> lib/ethdev/rte_flow_graph.h | 532 ++++++++++++++
> > >
> > > Are we sure about the name? Why not "parsing" instead of "graph"?
> > >
> >
> > Because it is intended to help build *protocol graphs*, not *generic
> > flow parsing*. I.e. only things that lend themselves to be represented
> > by a graph would work with this - things like conntrack wouldn't. So, I
> > feel like "graph" is a more accurate name for this, because this is only
> > for enabling the protocol graph walk, not for full flow parsing.
>
> OK
>
> > > Is it only for drivers? In this case, no need to make it a public API.
> >
> > Yes, it is for drivers. It is not a public API, it is not installed into
> > public headers. If there is anything I forgot to do to remove it from
> > being public, please let me know.
>
> You should not use the rte_ prefix for files which are not public.
> I know this convention is not well followed for historical reason,
> like rte_flow_driver.h should be flow_driver.h
>
Renaming non-public files should not be an issue though, right? I realise
it may cause a couple of problems with backporting, but hopefully not too
many. LTS maintainers, feel free to weigh in!
/Bruce
More information about the dev
mailing list