thanks. i will check this
On Tue, Dec 16, 2014 at 4:04 PM, Alex Markuze <alex at weka.io> wrote: > > > > On Tue, Dec 16, 2014 at 2:24 PM, Helmut Sim <simhelmut at gmail.com> wrote: >> >> 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. >> > TSO - takes a one packet max size 64KB(not counting mac/vlan size). and > brakes it into valid mtu sized packets each with its one IP and TCP header. > I'm not sure what how the identificayion/Frag off fields are filled. you > can easily check it by running a short tcp stream(perf/netperf) between two > machines and capturing the packets with tcpdump (wireshark to open) use > ethanol -K to disable LRO/GRO (the receive side kernel driver will > rearrange the headers otherwise). > > I hope this helps. > >> >> > 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 >>>> >>>