diff options
author | dg <dg@FreeBSD.org> | 1998-02-26 05:25:39 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1998-02-26 05:25:39 +0000 |
commit | abb797303f8a1c9c501930df5cee82ba24bbc3a0 (patch) | |
tree | 2bf0c4efd8152c6a21a48ea92b5cf87806d4eb6c /sys/netinet/tcp_timer.c | |
parent | 0712ea24bf42cbaa2e009b77c3560d846ac133ea (diff) | |
download | FreeBSD-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.c | 23 |
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); } /* |