From: "Angelo P. Castellani" <[EMAIL PROTECTED]> Date: Tue, 16 May 2006 11:24:00 +0200
> Using NewReno, if a sk_buff is timed out and is accounted as lost_out, > it should also be removed from the sacked_out. > > This is necessary because recovery using NewReno fast retransmit could > take up to a lot RTTs and the sk_buff RTO can expire without actually > being really lost. > > left_out = sacked_out + lost_out > in_flight = packets_out - left_out + retrans_out > > Using NewReno without this patch, on very large network losses, > left_out becames bigger than packets_out + retrans_out (!!). > > For this reason unsigned integer in_flight overflows to 2^32 - something. Thanks for your analysis and fix, I will apply it. This pseudo-SACK for Reno scheme could probably use some changes. For example, one idea Herbert Xu had was to maintain the pseudo-SACKs in the actual TAG bits of the TCP_SKB_CB() as if we saw real SACKs. But I am concerned that since we have to be careful not to trust those pseudo-SACK bits too much, it could actually make the code more complicated not less complicated. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html