> -----Original Message----- > From: Varun Sharma [mailto:vsdssd@xxxxxxxxx] > Sent: Tuesday, June 04, 2013 2:45 AM > To: Craig Jackson; kernelnewbies@xxxxxxxxxxxxxxxxx; > Valdis.Kletnieks@xxxxxx > Subject: Re: assembly of packets > > On receving side upto tcp layer skb->len=1480 now where is packet > assembled on tcp layer ? > or it is directly copies into user space buffer. > > I am sending len = 10000 in send system call. > >> On Mon, Jun 3, 2013 at 9:45 PM, Craig Jackson <cjackson@xxxxxxxxxxxxx> >> wrote: >> In my experience, the second paragraph isn't quite true. What you see >> with TSO is the pre-segmentation "packet", 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 "-s" value is big enough to see >> everything. >> >> (Speaking as someone who was bitten by bugs in the early versions of >> TSO.) >> >> Craig > >>> -----Original Message----- >>> From: kernelnewbies-bounces+cjackson=ebscohost.com@xxxxxxxxxxxxxxxxx >>> [mailto:kernelnewbies-bounces+cjackson=ebscohost.com@xxxxxxxxxxxxxxxxx] >>> On Behalf Of Valdis.Kletnieks@xxxxxx >>> Sent: Monday, June 03, 2013 12:03 PM >>> To: Varun Sharma >>> Cc: kernelnewbies@xxxxxxxxxxxxxxxxx >>> Subject: Re: assembly of packets >>> >>> On Mon, 03 Jun 2013 14:48:41 +0530, Varun Sharma said: >>> >>> > If TSO(tcp segmentation offload ) is enabled then nic card handle >>> > segmentation then where is assembly of packets happens ? Is it >>> > tcp_rcv_established function ? > >>> 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. > >>> Incidentally, this is why if you run tcpdump on an interface that has >>> TSO enabled, you'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's tap would have seen the packet. Sorry for top-posting before. It's incredibly hard to get Outlook 2007 to do things right. Varun, I now see we may not have answered the question you have. TSO (TCP Segementation Offload) is associated with sending packets, not receiving them. They are re-assembled at the receiving end in the standard manner. Are you actually thinking of GRO (Generic Receive Offload)? Craig _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies