Thread (5 messages) 5 messages, 3 authors, 2013-06-04

assembly of packets

From: Craig Jackson <hidden>
Date: 2013-06-03 16:15:48

Possibly related (same subject, not in this thread)

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@kernelnewbies.org [mailto:kernelnewbies-bounces+cjackson=ebscohost.com at kernelnewbies.org] On Behalf Of Valdis.Kletnieks at vt.edu
Sent: Monday, June 03, 2013 12:03 PM
To: Varun Sharma
Cc: kernelnewbies at kernelnewbies.org
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help