[ovs-dev] [PATCH 0/4] Add support for TSO with DPDK

Flavio Leitner fbl at sysclose.com
Tue Dec 3 15:48:07 UTC 2019


On Tue, Dec 03, 2019 at 12:59:24PM +0000, Stokes, Ian wrote:
> 
> 
> On 12/3/2019 12:15 PM, Ilya Maximets wrote:
> > On 02.12.2019 14:44, Flavio Leitner wrote:
> > > Abbreviated as TSO, TCP Segmentation Offload is a feature which enables
> > > the network stack to delegate the TCP segmentation to the NIC reducing
> > > the per packet CPU overhead.
> > 
> > Hi Flavio,
> > 
> > Thanks for working on this.
> > I didn't read the code carefully,  just a couple of first look points:
> > 
> > * Patch-set needs to have 'dpdk-latest' in a subject prefix.
> > 
> 
> FYI, I'm creating a patch to move to 19.11 today for master, just validating
> at the moment. Will send this evening.

Great! I will rebase on top of that before push tso v2.
fbl

> 
> Ian
> 
> > * First patch seems to be OK even without TSO, batch_clone usually
> >    happens on clone action that implies further packet modifications,
> >    so it might make sense to have a headroom for that.
> > 
> > * Maybe we need to enable LINEARBUF for usual vhost-user too just to
> >    avoid receiving of mutli-segment mbufs?
> > 
> > * Third patch is not needed.  Similar patch was already merged recently.
> > 
> > * I don't see the call to rte_eth_tx_prepare().  It is required to prepare
> >    packets for TSO for Intel NICs that needs pseudo-header checksum
> >    precalculated.
> > 
> > * Guest is allowed to disable offloading.  In this case we're not allowed
> >    to send incomplete packets (no-checksum, oversized), they will be just
> >    dropped by the guest.
> > 
> > * NICs could not support TSO.  I see that you're moving this issue to the
> >    user by forcing to be sure that TSO is supported.  Most of HW NICs
> >    nowadays should support TSO, so it might be not a big deal, but
> >    what about some software NIC that DPDK implements?  I'm not sure.
> > 
> > * Don't include virtio headers in dp-packet code.  This will break non-Linux
> >    builds.  In fact, construction of virtio-net header is only needed for
> >    netdev-linux, so it should be implemented there.
> > 
> > * netdev-afxdp and netdev-windows are not handled by the patches.
> > 
> > * I'm not sure if we need separate tso.{c,h} files.
> > 
> > * Docs and log messages are very confusing because they makes impression that
> >    system datapath doesn't support TSO.  Also, why we cant' have TSO without DPDK?
> >    You have a virtio header for netdev-linux, so we can use it.
> > 
> > * Is it safe to just drop virtio header on packet receive?
> > 
> > * Not sure if it fully safe to say that checksum is valid while it's not
> >    calculated.  Have you checked this from the ipf and conntrack points of
> >    view.
> > 
> > Best regards, Ilya Maximets.
> > 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

-- 
fbl


More information about the dev mailing list