Ethereal-dev: Re: [Ethereal-dev] Re: [Ethereal-cvs] rev 15744: /trunk/epan/dissectors/: packet

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: ronnie sahlberg <ronniesahlberg@xxxxxxxxx>
Date: Mon, 12 Sep 2005 17:48:01 +1000


On 9/11/05, Guy Harris <gharris@xxxxxxxxx> wrote:
For example, the fragments of a fragmented IP datagram might well arrive
  in *reverse* order; I have a capture where that happens.  (I seem to
remember a claim that some version of Linux sent IP fragments out in
reverse order.)

Yes,   it is common for Linux to do this.  Afaik no other stack do this, yet.

It is an optimization,   the final fragment is the only one from which one can tell the full size of the reassembled pdu
and thus by sending the "last" fragment first   allows the receiver to allocate a buffer of the appropriate size instead
of always allocating a 64k buffer.

It is an optimization that allows linux->linux communications with fragmented data (== nfs over udp)  to better utilize kernel buffers
and conserve kernel memory utilization.