[dpdk-dev] [PATCH 2/2] doc: announce new mbuf field for LRO

Ananyev, Konstantin konstantin.ananyev at intel.com
Wed Aug 7 12:17:31 CEST 2019


Hi Matan,

> > >
> > > The API breakage is because the ``tso_segsz`` field was documented for
> > > LRO.
> > >
> > > The ``tso_segsz`` field in mbuf indicates the size of each segment in
> > > the LRO packet in Rx path and should be provided by the LRO packet
> > > port.
> > >
> > > While the generic LRO packet may aggregate different segments sizes in
> > > one packet, it is impossible to expose this information for each
> > > segment by one field and it doesn't make sense to expose all the
> > > segments sizes in the mbuf.
> > >
> > > A new field may be added as union with the above field to expose the
> > > number of segments aggregated in the LRO packet.
> > >
> > > Signed-off-by: Matan Azrad <matan at mellanox.com>
> > > ---
> > >  doc/guides/rel_notes/deprecation.rst | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/doc/guides/rel_notes/deprecation.rst
> > > b/doc/guides/rel_notes/deprecation.rst
> > > index c0cd9bc..e826b69 100644
> > > --- a/doc/guides/rel_notes/deprecation.rst
> > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > @@ -45,6 +45,10 @@ Deprecation Notices
> > >    - ``eal_parse_pci_DomBDF`` replaced by ``rte_pci_addr_parse``
> > >    - ``rte_eal_compare_pci_addr`` replaced by ``rte_pci_addr_cmp``
> > >
> > > +* mbuf: Remove ``tso_segsz`` mbuf field providing for LRO support.
> > > +Use union
> > > +  block for the field memory to be shared with a new field
> > > +``lro_segs_n``
> > > +  indicates the number of segments aggregated in the LRO packet.
> > > +
> >
> > Wonder how the upper layer will use that information (except for stats)?
> > Could you guys provide any examples?
> 
> 1. Stats, allow to calc accurate PPS.
> 2. Supply accurate information unlike the seg size which cannot be accurate.
> 2. Let the user all the information (segs num allow an average seg size calculation)

So just for stats, right?
If so,  wouldn't it be more plausible to extend PMD itself
to provide some extra statistics?
Just a thought.

> 
> > Also what PMD should do if HW does supports LRO, but doesn't to 
> > information?
> 
> If the PMD knows all the segments size he can calculate it, no?
> 0 means PMD doesn't support it.

I mean HW/PMD might support LRO, but doesn't provide information
about number of coalesced segments.
What PMD should do in that case?
Still  set DEV_RX_OFFLOAD_TCP_LRO as enabled RX offload,
but don't set PKT_RX_LRO flag in the RX-ed mbuf,
even if it does contain coalesced packets?
As I understand that what happens now.
It is probably ok by me (as means no changes in ixgbe PMD)...
But wouldn't that mean no defined way for the user to determine
will HW/PMD provide that information or not?
Konstantin



> 
> 
> > >  * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been
> > replaced
> > >    by a pa-va search library. This structure was earlier being used for holding
> > >    memory segments used by dpaa2 driver for faster pa->va translation.
> > > This
> > > --
> > > 1.8.3.1



More information about the dev mailing list