[dpdk-dev] L3fwd mode in testpmd

Ananyev, Konstantin konstantin.ananyev at intel.com
Wed Apr 28 13:00:25 CEST 2021


> <snip>
> 
> >
> > > >
> > > > On Tue, 27 Apr 2021 10:50:20 +0100
> > > > Ferruh Yigit <ferruh.yigit at intel.com> wrote:
> > > >
> > > > > Agree that it may help testing to have l3fwd support on the testpmd.
> > > > >
> > > > > Two concerns,
> > > > > 1) Testpmd already too complex.
> > > > > 2) Code duplication.
> > > > >
> > > > > For 1), if the l3fwd can be implemented in testpmd as new,
> > > > > independent forwarding mode, without touching rest of the testpmd,
> > > > > I think it can be
> > > > OK.
> > > > >
> > > > > Not sure how to address 2), also lets say we want to add new
> > > > > feature to l3fwd, where it should go, to the sample or to the testpmd?
> > > >
> > > > The original purpose of l3fwd seems to be getting lost here.
> > > > It was intended as an example, not a complete test or real life application.
> > > The issue is, this app has become an industry standard for performance
> > comparison between platforms (whether we like it or not).
> > > But, it
> > > does not have a whole lot of debugging capabilities.
> >
> > Ok, could you list what exactly you think is missed?
> > If we are talking about extra stats, then I still think it is probably easier to add
> > it into l3fwd, then pull whole l3fwd code into test-pmd.
> In stats it is missing hardware, software stats, burst stats.
> From run time configuration capability, it is missing burst size, rx/tx queue depth, number of queues we can assign to a core.

AFAIK l3fwd is quite flexible in rx queues to cores assignments, so not sure what else do you have in mind here.
About other things - in general I am ok for adding these extra functionality into l3fwd.
I don't see any major issues here.  
I think it will be less effort then pulling l3fwd into test-pmd.

> 
> >
> > > I think adding a L3fwd mode to testpmd will be helpful to keep the
> > > sample application simpler.
> >
> > Hmm, not sure how these 2 things are linked...
> > Why let say adding fib-fwd into test-pmd will help to decrease l3fwd code
> > complexity?
> From my perspective, L3fwd example application should showcase how to use DPDK, various packet processing models in DPDK. Anyone
> new to DPDK should be able to take this code and start creating their application.
> However, this application has LPM, Exact match and FIB. I am not sure how Exact Match and FIB modes help the user.

About exact match - routing decisions are not always made on des tip address.
Sometimes you need to look at whole addrs+proto+ports tuple.
Exact match provides example for such case.
I also think it would be really good to add ACL mode into l3fwd too (merge l3fwd and l3fd-acl apps into one).

> I suggest removing LPM from L3fwd example application as FIB is added (or vice versa).

AFAIK, as a stretch goal LPM library has to be replaced with FIB one.
Recently FIB was added into l3fwd, so I suppose deprecating and removing LPM mode here
is natural next step (if there would be no performance impact off-course).
CC-ing to Vladimir (FIB maintainer) and Conor to learn their opinions.
 



More information about the dev mailing list