[dpdk-dev] two tso related questions

Helmut Sim simhelmut at gmail.com
Tue Dec 16 13:24:55 CET 2014


Thanks Alex,

So i probably miss something...
what you are saying is correct for IP segmentation where the segmentation
is at the IP level, and all segments are identified according to the
Identification field in the IP header.

However in TCP segmentation the segments are at the TCP level (isn't it?),
where each frame is at a size of
MSS+sizeof(tcp_hdr)+sizeof(ip_hdr)+sizeof(eth_hdr).
Hence, for each of the sent packets, the IP Identification is 0 and the IP
total length is MSS+sizeof(tcp_hdr)+sizeof(ip_hdr).

Please correct me if i am wrong.

thanks.

On Tue, Dec 16, 2014 at 11:10 AM, Alex Markuze <alex at weka.io> wrote:
>
>
>
> On Mon, Dec 15, 2014 at 10:20 PM, Helmut Sim <simhelmut at gmail.com> wrote:
>>
>> Hi,
>>
>> While working on TSO based solution I faced the following two questions:
>>
>> 1.
>> is there a maximum pkt_len to be used with TSO?, e.g. let's say if seg_sz
>> is 1400 can the entire segmented pkt be 256K (higer than 64K) ?, then the
>> driver gets a list of chanined mbufs while the first mbuf is set to TSO
>> offload.
>>
>
> TSO segments a TCP packet into mtu sied bits. The TCP/IP protocols are
> limited to 64K due to the length fields being 16bit wide. You can't build a
> valid packet longer then 64K regardless of the NIC.
>
>
>> 2.
>> I wonder, Is there a specific reason why TSO is supported only for IXGBE
>> and not for IGB ? the 82576 NIC supports TSO though.
>> Is it due to a kind of tecnical barrier or is it because of priorities?
>>
>> It will be great if someone from the forum could address this.
>>
>> Thanks,
>> Sim
>>
>


More information about the dev mailing list