David S. Miller writes:
> From: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> Date: Thu, 26 Jun 2003 13:57:09 +1000
>
> Frankly, I'm amazed anyone sees reordering in real life...
>
> Many paths on the internet are quite reordered, this is
> the first thing. In fact, I claim that any TCP stack that
> doesn't do reordering detection is busted performance wise.
Nobody's disputing that. That's certainly true. However, reordering
on a given wire does not happen.
> The second thing is that network cards can and do reorder packets.
> Some PCMCIA cards do this just for fun.
If so, then that needs to be taken up with the manufacturer. That's a
rather severe design flaw that will prevent such a card from ever
being used for anything other than IP -- many other protocols *ASSUME*
that packets on a single wire cannot be reordered, including SNA, PPP
(!), and link aggregation, among others.
> And ethernet _DOES NOT_
> guarentee non-reordering.
Please provide references. 802.1 MAC says otherwise.
> At a minumum, a card can use QoS values to
> reorder receive of a given packet, it can also use this to reorder
> transmit. Our packet schedulers do this on a software level.
Sure. *If* QoS is present, then reordering between priority levels is
permissible. However, reordering L2 frames at a given priority level
isn't.
> If you need ordering, you need sequence numbers in your
> protocol if you wish to operate over these mediums.
>
> The case where SMP causes out-of-order packet delivery is just
> academic compared to the non-local sources of reordering
> mentioned above.
Not where it affects the correctness of the defined protocols.
--
James Carlson <carlson@xxxxxxxxxxxxxxx>
|