RE: assembly of packets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----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




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux