Hi, I am working on a scheme for making TCP robust to reordering and currently testing it on Linux. From what I understand, Linux TCP already includes code for discovering reordering and undoing the unnecessary congestion window reductions. Here is my understanding of the Linux TCP code and some questions related to it. Will someone who has worked on this earlier let me know if my understanding is correct and the answers to the questions - 1) reordering is identified using DSACK option if it is turned on. If not, timestamps are used. i understand than timestamps are used in PAWS (and other ?) algorithm and is not a good idea to turn it off. So is there some way of turning OFF Linux TCP's reordering detection mechanism completely ? 2) the "reordering" metric is used instead of "dupthresh" for triggering fast retransmit/recovery. correct ? 3) the "reordering" metric is updated only if the observed reordering is *larger* than the currently recorded value. It shrinks back to 3 on entering the "loss" state (RTO timeout). In other words it is a continuously increasing variable until the RTO timeout. correct ? 4) TCP_MAX_REORDERING is set to 127. Is there a rationale behind this or is it just a heuristic ? 5) all the code for the undo mechanism is in the functions tcp_try_undo_<something> in tcp_input.c. correct ? Thanks in advance, Sumitha - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html