RE: assembly of packets

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

 



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.

_______________________________________________
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