> > >> Or have a generic library for reading LPM entries. L3fwd is supposed
> > >> to be as small as possible (it no longer is), and the real work should
> > >> be done by libraries to make it easier to build other applications.
> > >
> > > I never heard users ask about such thing,
> > > but if there is a demand for that, then I suppose it could be considered.
> > > CC-ing LPM/FIB maintainers to comment.
> > > Though I believe it should be a subject of separate patch and discussion
> > > (I think many questions will arise - what format should be, how to support
> > > different types of user-data, to make it generic enough, etc.).
> >
> > Agree, it is very application specific, so it could be really difficult
> > to make it generic.
>
> But several other also have LPM tables, so why not have common code for other
> applications.
>
> examples/l3fwd-power/main.c
> examples/ipsec-secgw/rt.c
> examples/ip_fragmentation/main.c
> examples/l3fwd/l3fwd_lpm.c
> examples/ip_reassembly/main.c
Ah yes, that's good point.
All these examples (except ipsec-secgw) started as l3fwd clones,
so all of them have hard-coded LPM (and EM) tables too.
Yes it would be good thing to address that problem too,
and have some common code (and common routes file format) for all of them.
I don't know is that a good idea to introduce parse file function in LPM/FIB
library
itself, might be better to have something like examples/common/lpm_parse*.
Anyway, this is an extra effort, and I think no-one has time for it in 22.03
timeframe.
My suggestion would be for 22.03 go ahead with current l3fwd patches,
then later we can consider to make it common and update other examples.
Konstantin