On Wed, 23 Aug 2017 11:30:26 +0200
Olivier MATZ <olivier.m...@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: sta...@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.

Reply via email to