assembly of packets

Varun Sharma vsdssd at
Tue Jun 4 02:44:54 EDT 2013

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 at>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: at[mailto:
> at] On Behalf
> Of Valdis.Kletnieks at
> Sent: Monday, June 03, 2013 12:03 PM
> To: Varun Sharma
> Cc: kernelnewbies at
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list