cvs commit: src/sys/netinet ip_icmp.c tcp.h tcp_input.c tcp_subr.ctcp_usrreq.c tcp_var.h

Tony Finch dot at dotat.at
Mon Jan 12 02:51:37 PST 2004


On Fri, Jan 09, 2004 at 08:47:32PM -0600, Mike Silbersack wrote:
> 
> I think that you're describing linux's TCP_CORK option.  I think that we
> have similar behavior right now with some socket option, but not exactly
> the same... it might not be a bad idea to just try to be explicitly
> compatible.

ISTR getting into a discussion about this in 2000. Nothing came out of it.

The closest option BSD has to TCP_CORK is TCP_NOPUSH, but it is muddled
up with the T/TCP semantics so lacks the purity of purpose of TCP_CORK.

Note that as well as TCP_CORK, you also need a non-T/TCP version of
MSG_EOF, i.e. one that pushes the data but doesn't shut down the send
side of the socket.

However this all adds up to kernel-side packet aggregation and it
encourages application developers to be lazy about buffering and
increases the number of system calls used to send a packet.

TCP_NODELAY is not always wrong.

Tony.
-- 
f.a.n.finch  <dot at dotat.at>  http://dotat.at/
BISCAY FITZROY: SOUTHWEST GALE 8 TO STORM 10 DECREASING 6 TO GALE 8. RAIN.
MODERATE OR GOOD, OCCASIONALLY POOR.


More information about the cvs-all mailing list