assembly of packets

Varun Sharma vsdssd at gmail.com
Tue Jun 4 10:27:50 EDT 2013


I see the receiving side also .Packets are not assembled by ip-defrag . now
where packets are assembled at transport layer ?
if yes then how they are assembled ?




On Tue, Jun 4, 2013 at 7:24 PM, Craig Jackson <cjackson at ebscohost.com>wrote:

> > -----Original Message-----
> > From: Varun Sharma [mailto:vsdssd at gmail.com]
> > Sent: Tuesday, June 04, 2013 2:45 AM
> > To: Craig Jackson; kernelnewbies at kernelnewbies.org;
> > Valdis.Kletnieks at vt.edu
> > 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 at ebscohost.com>
> >> 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 at 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.
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130604/d074d53e/attachment.html 


More information about the Kernelnewbies mailing list