<div dir="ltr"><div>On receving side upto tcp layer skb-&gt;len=1480 now where is packet assembled on tcp layer ? <br>or it is directly copies into user space buffer.<br></div><br>I am sending len = 10000 in send system call.<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 3, 2013 at 9:45 PM, Craig Jackson <span dir="ltr">&lt;<a href="mailto:cjackson@ebscohost.com" target="_blank">cjackson@ebscohost.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In my experience, the second paragraph isn&#39;t quite true. What you see with TSO is the pre-segmentation &quot;packet&quot;, up to 65k. (By this I mean the set of data which is given to the offload hardware to segment.) So you need to make sure that your &quot;-s&quot; value is big enough to see everything.<br>

<br>
(Speaking as someone who was bitten by bugs in the early versions of TSO.)<br>
<span class="HOEnZb"><font color="#888888"><br>
Craig<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
-----Original Message-----<br>
From: kernelnewbies-bounces+cjackson=<a href="mailto:ebscohost.com@kernelnewbies.org">ebscohost.com@kernelnewbies.org</a> [mailto:<a href="mailto:kernelnewbies-bounces%2Bcjackson">kernelnewbies-bounces+cjackson</a>=<a href="mailto:ebscohost.com@kernelnewbies.org">ebscohost.com@kernelnewbies.org</a>] On Behalf Of <a href="mailto:Valdis.Kletnieks@vt.edu">Valdis.Kletnieks@vt.edu</a><br>

Sent: Monday, June 03, 2013 12:03 PM<br>
To: Varun Sharma<br>
Cc: <a href="mailto:kernelnewbies@kernelnewbies.org">kernelnewbies@kernelnewbies.org</a><br>
Subject: Re: assembly of packets<br>
<br>
On Mon, 03 Jun 2013 14:48:41 +0530, Varun Sharma said:<br>
<br>
&gt; If TSO(tcp segmentation offload ) is enabled then nic card handle<br>
&gt; segmentation then where is assembly of packets happens ? Is it<br>
&gt; tcp_rcv_established function ?<br>
<br>
The whole *point* of TSO is so the NIC does all the segmentation reassembly and DMA, and wake the kernel up when all the data is already stashed in buffers fully processed.<br>
<br>
Incidentally, this is why if you run tcpdump on an interface that has TSO enabled, you&#39;ll only see the first 3 handshaking packets and the final FIN packets - the other packets wake up the TCP stack at a point after where tcpdump&#39;s tap would have seen the packet.<br>

</div></div></blockquote></div><br></div>