summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_reass.c
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2005-02-14 21:01:08 +0000
committerps <ps@FreeBSD.org>2005-02-14 21:01:08 +0000
commit8453d35f2443156ae75b913e573019c05a7442d2 (patch)
tree0776dc742a734ba496efddbb8ed98855dc676081 /sys/netinet/tcp_reass.c
parent840e7c74587073340cdfec24df4420fa887c42b7 (diff)
downloadFreeBSD-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_reass.c')
-rw-r--r--sys/netinet/tcp_reass.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c
index 37405c1..1784551 100644
--- a/sys/netinet/tcp_reass.c
+++ b/sys/netinet/tcp_reass.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);
OpenPOWER on IntegriCloud