summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.c
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1998-02-26 05:25:39 +0000
committerdg <dg@FreeBSD.org>1998-02-26 05:25:39 +0000
commitabb797303f8a1c9c501930df5cee82ba24bbc3a0 (patch)
tree2bf0c4efd8152c6a21a48ea92b5cf87806d4eb6c /sys/netinet/tcp_timer.c
parent0712ea24bf42cbaa2e009b77c3560d846ac133ea (diff)
downloadFreeBSD-src-abb797303f8a1c9c501930df5cee82ba24bbc3a0.zip
FreeBSD-src-abb797303f8a1c9c501930df5cee82ba24bbc3a0.tar.gz
Changes to support the addition of a new sysctl variable:
net.inet.tcp.delack_enabled Which defaults to 1 and can be set to 0 to disable TCP delayed-ack processing (i.e. all acks are immediate).
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r--sys/netinet/tcp_timer.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c
index f13f8a1..ac1dedb 100644
--- a/sys/netinet/tcp_timer.c
+++ b/sys/netinet/tcp_timer.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)tcp_timer.c 8.2 (Berkeley) 5/24/95
- * $Id: tcp_timer.c,v 1.24 1997/09/16 18:36:06 joerg Exp $
+ * $Id: tcp_timer.c,v 1.25 1998/01/25 04:23:33 eivind Exp $
*/
#include "opt_compat.h"
@@ -100,18 +100,19 @@ tcp_fasttimo()
register struct tcpcb *tp;
int s;
- s = splnet();
-
- for (inp = tcb.lh_first; inp != NULL; inp = inp->inp_list.le_next) {
- if ((tp = (struct tcpcb *)inp->inp_ppcb) &&
- (tp->t_flags & TF_DELACK)) {
- tp->t_flags &= ~TF_DELACK;
- tp->t_flags |= TF_ACKNOW;
- tcpstat.tcps_delack++;
- (void) tcp_output(tp);
+ if (tcp_delack_enabled) {
+ s = splnet();
+ for (inp = tcb.lh_first; inp != NULL; inp = inp->inp_list.le_next) {
+ if ((tp = (struct tcpcb *)inp->inp_ppcb) &&
+ (tp->t_flags & TF_DELACK)) {
+ tp->t_flags &= ~TF_DELACK;
+ tp->t_flags |= TF_ACKNOW;
+ tcpstat.tcps_delack++;
+ (void) tcp_output(tp);
+ }
}
+ splx(s);
}
- splx(s);
}
/*
OpenPOWER on IntegriCloud