On Tue, Oct 24, 2017 at 23:22 +0200, Job Snijders wrote: > Dear all, > > This patch builds upon the work shared in the following email. Mike's > patch is a prerequisite to apply this patch. > > Date: Tue, 24 Oct 2017 15:21:08 +0200 > From: Mike Belopuhov <m...@belopuhov.com> > Subject: Re: Refactor TCP partial ACK handling > > TCP_FACK was disabled by provos@ in June 1999. This patch removes > the TCP_FACK option and associated #if{,n}def code. > > TCP_FACK is an algorithm that decides that when something is lost, all > not SACKed packets until the most forward SACK are lost. It may be a > correct estimate, if network does not reorder packets. > > The algorithm described in RFC 6675 may be a better replacement. This > culling patch can provide guidance how and where to implement 6675. > > Kind regards, > > Job >
This makes my life that much easier so naturally I'm in favour of this change. OK mikeb > @@ -2705,11 +2608,9 @@ tcp_sack_partialack(struct tcpcb *tp, struct tcphdr > *th) > /* Turn off retx. timer (will start again next segment) */ > TCP_TIMER_DISARM(tp, TCPT_REXMT); > tp->t_rtttime = 0; > -#ifndef TCP_FACK > /* > * Partial window deflation. This statement relies on the > - * fact that tp->snd_una has not been updated yet. In FACK > - * hold snd_cwnd constant during fast recovery. > + * fact that tp->snd_una has not been updated yet. > */ trailing white space in the '+' line above.