DPDK patches and discussions
 help / color / mirror / Atom feed
From: Matan Azrad <matan@mellanox.com>
To: Olivier Matz <olivier.matz@6wind.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	Konstantin Ananyev <konstantin.ananyev@intel.com>
Subject: Re: [dpdk-dev] [PATCH 2/2] doc: announce new mbuf field for LRO
Date: Mon, 27 Jul 2020 08:41:47 +0000	[thread overview]
Message-ID: <AM0PR0502MB401992E786DE9611E70E6405D2720@AM0PR0502MB4019.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <20200727080001.GQ5869@platinum>


Hi Olivier

From: Olivier Matz:
> Hi,
> 
> On Tue, Jun 02, 2020 at 06:49:01AM +0000, Matan Azrad wrote:
> > Hi
> >
> > From: Thomas Monjalon
> > > 10/08/2019 23:31, Thomas Monjalon:
> > > > 06/08/2019 20:17, Andrew Rybchenko:
> > > > > On 8/6/19 5:56 PM, Matan Azrad wrote:
> > > > > > 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@mellanox.com>
> > > > > > ---
> > > > > > --- a/doc/guides/rel_notes/deprecation.rst
> > > > > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > > > > +* 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.
> > > > >
> > > > > I think that the number of segments is more logical in the case of LRO.
> > > > > The question (already asked by Konstantin) is why it is needed
> > > > > at all (statistics?). If so, it still makes sense.
> > > > >
> > > > > Segment size is misleading here, since not all segments could be
> > > > > the same size. So,
> > > > >
> > > > > Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> > > > >
> > > > > As far as I can see bnxt and qede do not fill it in.
> > > > > mlx5 and vmxnet3 have the number of segments (vmxnet3 has
> > > > > segment size sometimes and sometimes use a function to guess the
> value).
> > > > > So both will win from the change.
> > > > > It looks like virtio does not have number of segments. CC Maxime
> > > > > to comment.
> > > >
> > > > I support improving the API for LRO.
> > > > Unfortunately, the consensus is not strong enough at the moment.
> > >
> > > We had no progress about LRO field in mbuf.
> > > Is it a change we would like to have in 20.11?
> > >
> > +1 to make the change.
> 
> Thinking about this, having the segment size for LRO is useful: it is expected
> to give the size of the segments, except the last one. The advantage of this is
> to be able to resegment exactly at the same MSS on Tx (so it does not break
> PMTU). This is needed if you want to do a bridge or a router with LRO
> enabled.

Yes, you right it may be useful.

I don't familiar with other vendors, but mlx5 HWs supply the number of segments aggregated by the HW and doesn't assume all the head segments are in the same size.

So, we just put in the current field packet_size/num of segments.

So, maybe we need the 2 options as uinion or as 2 separated fields to be more accurate.

> What is described above is more GRO than LRO. But today, it is possible to do
> this with the virtio driver, so removing the segment size would break this use
> case.
> 
> Regards,
> Olivier

  reply	other threads:[~2020-07-27  8:41 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-06 14:56 [dpdk-dev] [PATCH 1/2] doc: announce ethdev ABI change for LRO fields Matan Azrad
2019-08-06 14:56 ` [dpdk-dev] [PATCH 2/2] doc: announce new mbuf field for LRO Matan Azrad
2019-08-06 15:58   ` Ananyev, Konstantin
2019-08-06 18:50     ` Matan Azrad
2019-08-07 10:17       ` Ananyev, Konstantin
2019-08-07 12:35         ` Matan Azrad
2019-08-07 14:18           ` Ananyev, Konstantin
2019-08-08 10:16             ` Matan Azrad
2019-08-08 10:48               ` Ananyev, Konstantin
2019-08-08 11:16                 ` Matan Azrad
2019-08-08 16:26                   ` Ananyev, Konstantin
2019-08-06 18:17   ` Andrew Rybchenko
2019-08-10 21:31     ` Thomas Monjalon
2020-05-24 23:41       ` Thomas Monjalon
2020-06-02  6:49         ` Matan Azrad
2020-07-27  8:00           ` Olivier Matz
2020-07-27  8:41             ` Matan Azrad [this message]
2020-07-27  9:07               ` Olivier Matz
2023-06-12 16:38   ` Stephen Hemminger
2019-08-06 15:27 ` [dpdk-dev] [PATCH 1/2] doc: announce ethdev ABI change for LRO fields Andrew Rybchenko
2019-08-10 21:40   ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM0PR0502MB401992E786DE9611E70E6405D2720@AM0PR0502MB4019.eurprd05.prod.outlook.com \
    --to=matan@mellanox.com \
    --cc=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=olivier.matz@6wind.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).