Subject: a F-RTO question

From: Li Yu <[email-masked]>
Date: Wed, 28 Mar 2012 11:13:49 +0800

Hi,

	I have a question about tcp_process_frto(), the below source
code :

static int tcp_process_frto(struct sock *sk, int flag)
{
	.....

        if (!before(tp->snd_una, tp->frto_highmark)) {
                tcp_enter_frto_loss(sk, ...);
                return 1;
        }

	.....

}

	As my understanding, the tp->frto_highmark likes tp->high_seq,
it saves the seqno SND_NXT when a TCP connection enters F-RTO phase,
is it the variable "recovery" in NewReno? So I think that if snd_una is
equal with or after frto_highmark, which means peer ack new data, so
why we enter Loss state here?

	Thanks!

Yu