Subject: Re: some sack fixes
To: None <kurahone@sigusr1.org>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: tech-net
Date: 03/15/2005 06:57:56
hi,

> > - send SACKs regardless of TF_ACKNOW.
> > - don't clear rcv_sack_num when transmitting.
> 
> Also now that I think about it, since the SACK information needs to
> be in time sequence, we should clear out the sack block list (receiver)
> each time we send SACK information.

what do you mean by "SACK information"?
if it's about the order of SACK blocks in the SACK option,
they should be in time order regardless of
whether tcp_output clears rcv_sack_num or not.

rfc says:
"If sent at all, SACK options SHOULD be included in all ACKs which do
not ACK the highest sequence number in the data receiver's queue."

by clearing rcv_sack_num in tcp_output,
currently we include SACK option only for the first transmit
after tcp_update_sack_list.
i don't think it's a correct behaviour, esp. when a connection has
enough flow for both directions.

YAMAMOTO Takashi