All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier MATZ <olivier.matz@6wind.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: Yuanhan Liu <yliu@fridaylinux.org>,
	maxime.coquelin@redhat.com, dev@dpdk.org, stable@dpdk.org
Subject: Re: [PATCH 0/2]  virtio fix false offload claims
Date: Wed, 23 Aug 2017 18:14:44 +0200	[thread overview]
Message-ID: <20170823161443.xit25v2thrfv4hhm@glumotte.dev.6wind.com> (raw)
In-Reply-To: <20170823083135.67193f91@xeon-e3>

On Wed, Aug 23, 2017 at 08:31:35AM -0700, Stephen Hemminger wrote:
> On Wed, 23 Aug 2017 11:30:26 +0200
> Olivier MATZ <olivier.matz@6wind.com> wrote:
> 
> > Hello,
> > 
> > On Sat, Jul 08, 2017 at 11:12:22AM +0800, Yuanhan Liu wrote:
> > > On Fri, Jul 07, 2017 at 12:52:48PM -0700, Stephen Hemminger wrote:  
> > > > While doing code for Hyper-V, noticed that the virtio driver was
> > > > confused about receive versus transmit offloads.  The virtio
> > > > checksum offload is L4 (TCP/UDP) only, not IPv4. Also, TSO
> > > > and LRO are not the same.
> > > > 
> > > > This may break some program that was assuming it was getting offloads
> > > > that it wasn't.  
> > > 
> > > Applied to dpdk-next-virtio.
> > > 
> > > And I think they should be backported to stable releases, thus,
> > > 
> > >     Cc: stable@dpdk.org
> > > 
> > > Thanks.
> > > 
> > > 	--yliu  
> > > > 
> > > > Stephen Hemminger (2):
> > > >   virtio: don't falsely claim to do IP checksum
> > > >   virtio: don't claim to support LRO
> > > > 
> > > >  drivers/net/virtio/virtio_ethdev.c | 30 +++++-------------------------
> > > >  1 file changed, 5 insertions(+), 25 deletions(-)
> > > > 
> > > > -- 
> > > > 2.11.0  
> > 
> > I think these 2 commits break the virtio offload, which can be tested as
> > described in this test plan:
> > http://dpdk.org/ml/archives/dev/2016-October/048092.html
> > 
> > First, about checksum: the description of rxmode->hw_ip_checksum is:
> > 
> >      hw_ip_checksum   : 1, /**< IP/UDP/TCP checksum offload enable. */
> > 
> > So, while I agree the name is not well chosen, it is valid to set it
> > for virtio to enable L4 checksum.
> > 
> > Then about LRO: setting rxmode->enable_lro is a way to tell the host that the
> > guest is ok to receive tso packets. From the guest point of view, it is like
> > enabling lro on a physical driver. Again, it is valid and useful to do this.
> > 
> > Before removing these features, it would have been nice to have a quick look at
> > the commits that introduced them.
> 
> I am ok with keeping LRO as long as the documentation changed.  And virtio
> driver did some enforcement. 
> 
> For checksums, the hw_ip_checksum flag either needs to be more fine grain (IP, UDP, TCP)
> which would be best, or virtio would have to check IP checksum in software.
> 

For checksum, yes, the rxconf should be more fine-grained and renamed.

But apart from the name which is confusing, it was not wrong.
Setting hw_ip_checksum=1 means: "allow the driver to return packets with
checksums flags != unknown". These flags are good,bad,unknown,none for
both l3 and l4. So virtio driver always return unknown for l3, and
none|unknown|good|bad for l4, depending on what the host passed.

  reply	other threads:[~2017-08-23 16:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-07 19:52 [PATCH 0/2] virtio fix false offload claims Stephen Hemminger
2017-07-07 19:52 ` [PATCH 1/2] virtio: don't falsely claim to do IP checksum Stephen Hemminger
2017-07-07 19:52 ` [PATCH 2/2] virtio: don't claim to support LRO Stephen Hemminger
2017-07-08  3:12 ` [PATCH 0/2] virtio fix false offload claims Yuanhan Liu
2017-08-23  9:30   ` Olivier MATZ
2017-08-23 15:31     ` Stephen Hemminger
2017-08-23 16:14       ` Olivier MATZ [this message]
2017-08-23 16:41         ` Stephen Hemminger

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=20170823161443.xit25v2thrfv4hhm@glumotte.dev.6wind.com \
    --to=olivier.matz@6wind.com \
    --cc=dev@dpdk.org \
    --cc=maxime.coquelin@redhat.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=yliu@fridaylinux.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.