[dpdk-dev] L3fwd mode in testpmd

Honnappa Nagarahalli Honnappa.Nagarahalli at arm.com
Thu Apr 29 00:10:56 CEST 2021


<snip>

> 
> >
> > >
> > > In fact, l3fwd is also quite big and complex:
> > > $ wc -l examples/l3fwd/*.[h,c] |grep total
> > >   6969 total
> > >
> > > Plus it will introduce extra dependencies (fib, lpm, hash, might-be
> > > acl?) I am not sure it is a good idea to pull all these complexities into test-
> pmd.
> > I do not suggest pulling all these in. In our case, I see that the ask is only on
> LPM. I am open to hearing what others see as the requirement.
> 
> Ok, but l3fwd forwarding model is quite different from current PMD one
> (egress queue selection, TX packets buffering, etc.).
> I suppose you'll need to pull all that too from l3fwd?
We will send an RFC to show what it looks like.

> 
> >
> > > I can't imagine that l3fwd app need ability to configure each and
> > > every PMD parameter.
> > > From my experience in l3fwd most of cycles are spent not in PMD
> > > itself, but in actual packet processing: header parsing and
> > > checking, classification, routing table lookup, etc.
> > During our work, we had to experiment with burst size, rx/tx queue
> > depths along with other PMD specific configuration parameters. The packet
> processing code remains the same and there is not much to optimize.
> 
> I think burst-size and rx/tx queue size can be added into l3fwd as new config
> parameters.
> Doesn't look like a major issue to me.
> PMD specific parameters could be a problem... anything particular you plan
> to use?
We are talking about debugging the performance problem which needs all the flexibility possible.

> 
> > >
> > > > 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?
> > L3fwd example will remain as the example. We have to duplicate the
> > code into testpmd. If L3fwd example is changed, it needs to be changed in
> testpmd as well.
> 
> Usually code duplication is not a good sign.
> I understand that sometimes it is unavoidable, but why we have to do it
> here?



More information about the dev mailing list