summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_output.c
diff options
context:
space:
mode:
authorfenner <fenner@FreeBSD.org>1999-01-20 17:32:01 +0000
committerfenner <fenner@FreeBSD.org>1999-01-20 17:32:01 +0000
commit505f7489c786c6d9187a23cdcaff81d58054cfa2 (patch)
treeb11687e0b4226a6a70dd505540489c7122139567 /sys/netinet/tcp_output.c
parent801f1c1fa1926446d11f8e3767651f802a16222b (diff)
downloadFreeBSD-src-505f7489c786c6d9187a23cdcaff81d58054cfa2.zip
FreeBSD-src-505f7489c786c6d9187a23cdcaff81d58054cfa2.tar.gz
Add a flag, passed to pru_send routines, PRUS_MORETOCOME. This
flag means that there is more data to be put into the socket buffer. Use it in TCP to reduce the interaction between mbuf sizes and the Nagle algorithm. Based on: "Justin C. Walker" <justin@apple.com>'s description of Apple's fix for this problem.
Diffstat (limited to 'sys/netinet/tcp_output.c')
-rw-r--r--sys/netinet/tcp_output.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index a0ae43a..36f431a 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)tcp_output.c 8.4 (Berkeley) 5/24/95
- * $Id: tcp_output.c,v 1.30 1998/05/24 18:41:04 fenner Exp $
+ * $Id: tcp_output.c,v 1.31 1998/07/13 11:53:59 bde Exp $
*/
#include "opt_tcpdebug.h"
@@ -223,7 +223,8 @@ again:
if (len) {
if (len == tp->t_maxseg)
goto send;
- if ((idle || tp->t_flags & TF_NODELAY) &&
+ if (!(tp->t_flags & TF_MORETOCOME) &&
+ (idle || tp->t_flags & TF_NODELAY) &&
(tp->t_flags & TF_NOPUSH) == 0 &&
len + off >= so->so_snd.sb_cc)
goto send;
OpenPOWER on IntegriCloud