[dpdk-dev] [PATCH v2] pmd: Add generic support for TCP TSO (Transmit Segmentation Offload)

Walukiewicz, Miroslaw Miroslaw.Walukiewicz at intel.com
Mon Nov 3 14:14:04 CET 2014


Hello Olivier, 

> -----Original Message-----
> From: Olivier MATZ [mailto:olivier.matz at 6wind.com]
> Sent: Friday, October 31, 2014 4:50 PM
> To: Walukiewicz, Miroslaw; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] pmd: Add generic support for TCP TSO
> (Transmit Segmentation Offload)
> 
> Hello Miroslaw,
> 
> On 10/21/2014 01:29 PM, miroslaw.walukiewicz at intel.com wrote:
> > From: Miroslaw Walukiewicz <miroslaw.walukiewicz at intel.com>
> >
> > The NICs supported by DPDK have a possibility to accelerate TCP
> > traffic by sergnention offload. The application preprares a packet
> > with valid TCP header with size up to 64K and NIC makes packet
> > segmenation generating valid checksums and TCP segments.
> >
> > The patch defines a generic support for TSO offload.
> > - Add new  PKT_TX_TCP_SEG flag.
> >   Only packets with this flag set in ol_flags will be handled as
> >   TSO packets.
> >
> > - Add new fields in indicating TCP TSO segment size and TCP header len.
> >   The TSO requires from application setting following fields in mbuf.
> >   1. L2 header len including MAC/VLANs/SNAP if present
> >   2. L3 header len including IP options
> >   3. L4 header len (new field) including TCP options
> >   4. tso_segsz (new field) the size of TCP segment
> >
> > The apllication has obligation to compute the pseudo header checksum
> > instead of full TCP checksum and put it in the TCP header csum field.
> >
> > Handling complexity of creation combined l2_l3_len field
> > a new macro RTE_MBUF_TO_L2_L3_LEN() is defined to retrieve this
> > part of rte_mbuf.
> >
> 
> The patch you submitted does not include any changes in a driver
> (let's say ixgbe as it is the reference) taking advantage it.
> So it's difficult to validate that your modifications are sufficient
> to implement TSO.

I wanted to agree on the generic TSO API first and next to make driver modifications in next patches.
> 
> In addition of a driver, I think that testpmd should be modified
> to validate your changes and give an example to people wanting to use
> this feature.
> 
> Based on your patch, I'll try to submit a series in the coming days
> (maybe today if the winds are favourable) that includes the remaining
> patches from the original TSO series [1] that were not applied by
> Bruce's mbuf rework.
> 
Thank you Olivier, 
I will follow your patches with my i40e TSO changes when generic API will be accepted by community. 

> Regards,
> Olivier
> 
> [1] http://dpdk.org/ml/archives/dev/2014-May/002537.html


More information about the dev mailing list