turning off TCP_NOPUSH

Igor Sysoev is at rambler-co.ru
Wed May 28 06:06:15 PDT 2003


The 1.53 fix

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_usrreq.c.diff?r1=1.52&r2=1.53

always calls tcp_output() when TCP_NOPUSH is turned off.  I think
tcp_output() should be called only if data in the send buffer is less
than MSS:

	tp->t_flags &= ~TF_NOPUSH;
-	error = tcp_output(tp);
+       if (so->so_snd.sb_cc < tp->t_maxseg) {
+           error = tcp_output(tp);
+       }

If the pending data is bigger than MSS then it will be sent without
significant delay.


Igor Sysoev
http://sysoev.ru/en/



More information about the freebsd-net mailing list