diff options
author | ps <ps@FreeBSD.org> | 2005-02-14 21:01:08 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2005-02-14 21:01:08 +0000 |
commit | 8453d35f2443156ae75b913e573019c05a7442d2 (patch) | |
tree | 0776dc742a734ba496efddbb8ed98855dc676081 /sys/netinet/tcp_input.c | |
parent | 840e7c74587073340cdfec24df4420fa887c42b7 (diff) | |
download | FreeBSD-src-8453d35f2443156ae75b913e573019c05a7442d2.zip FreeBSD-src-8453d35f2443156ae75b913e573019c05a7442d2.tar.gz |
- Retransmit just one segment on initiation of SACK recovery.
Remove the SACK "initburst" sysctl.
- Fix bugs in SACK dupack and partialack handling that can cause
large bursts while in SACK recovery.
Submitted by: Mohan Srinivasan
Diffstat (limited to 'sys/netinet/tcp_input.c')
-rw-r--r-- | sys/netinet/tcp_input.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 37405c1..1784551 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -159,12 +159,6 @@ SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, overflows, CTLFLAG_RD, &tcp_reass_overflows, 0, "Global number of TCP Segment Reassembly Queue Overflows"); -static int tcp_sack_recovery_initburst = 3; -SYSCTL_INT(_net_inet_tcp_sack, OID_AUTO, - initburst, CTLFLAG_RW, - &tcp_sack_recovery_initburst, 0, - "Initial Number of Rexmits when sack recovery is set up"); - struct inpcbhead tcb; #define tcb6 tcb /* for KAME src sync over BSD*'s */ struct inpcbinfo tcbinfo; @@ -1870,14 +1864,10 @@ trimthenstep6: if (tp->sack_enable) { tcpstat.tcps_sack_recovery_episode++; tp->sack_newdata = tp->snd_nxt; - tp->snd_cwnd = - tp->t_maxseg * tcp_sack_recovery_initburst; + tp->snd_cwnd = tp->t_maxseg; (void) tcp_output(tp); - tp->snd_cwnd += - tp->snd_ssthresh; goto drop; } - tp->snd_nxt = th->th_ack; tp->snd_cwnd = tp->t_maxseg; (void) tcp_output(tp); |