Re: TCP and reordering
From: Vijay Subramanian <hidden>
Date: 2012-11-28 08:35:56
My proposal (or question more accurately) was to add 'reorder' counter to sockets, which would increment when duplicate ACK is followed by same sequence twice. Then you could automatically/dynamically delay duplicate acks, as you'd start to expect to receive the frames, out-of-order. Giving non-lossy reordering links pretty much 100% same performance as non-lossy in-order links.
RFC 5681 says that out-of-order packets should be acked immediately. Please see section 4.2 for detailed reasoning. It also explains why acks should not be delayed too much. Also note that reordering is tracked on the sender side using the per flow variable tp->reordering . This measures the amount of reordering on the connection so that fast retransmit and other loss recovery mechanisms are not entered prematurely. Doesn't this behavior at the sender already provide the behavior you seek? Regards, Vijay