[comp.unix.ultrix] Can one configure the tcp parameters

jg@max.crl.dec.com (Jim Gettys) (05/03/90)

This is actually a 4.3BSD optimization for Telnet....

X ran into this 100ms delay; it is reasonable for
most applications, but bothers some...

There is an ioctl which you can use to defeat the behavior.
(or maybe a socket option...)
Probably best thing is to go look at the X sources to see
what it does; we faced this problem 3-4 years ago, so
memory does not immediately serve me.
				- Jim

jmg@cernvax.UUCP (john gerard) (05/08/90)

In article <5228@crltrx.crl.dec.com> jg@max.crl.dec.com (Jim Gettys) writes:
>This is actually a 4.3BSD optimization for Telnet....
>
>X ran into this 100ms delay; it is reasonable for
>most applications, but bothers some...
>
>There is an ioctl which you can use to defeat the behavior.
>(or maybe a socket option...)
>Probably best thing is to go look at the X sources to see
>what it does; we faced this problem 3-4 years ago, so
>memory does not immediately serve me.
>				- Jim

I think that Jim is talking about the TCP_NODELAY option which can be
set with a call of setsockopt. This simply ensures that outgoing data
does not wait for an incoming ACK when there is already some un-ACKed
data previously sent. This call is indeed in the X sources. However,
that is not the solution to my problem, which is that because the OTHER
(blue) end is NOT using this type of option, but IS waiting for an ACK
before sending more data I need to force MY system to send an immediate
Ack upon receipt of data.

There is a very interesting declaration in <netinet/tcp_var.h>, namely

#define TF_ACKNOW       0x01            /* ack peer immediately */

but this appears to be to do with kernel variables for tcp.

I have found no possibilities with either ioctl or socket
-- 
 _ _  o |             __                    |    jmg@cernvax.uucp
| | |   |     _      /  \  _   __  _   __  _|    jmg@cernvax.bitnet
| | | | |_)  /_)     |  __/_) | (___\ | (_/ |  J. M. Gerard, Div. DD, CERN,
| | |_|_| \_/\___    \__/ \___|   (_|_|   \_|_ 1211 Geneva 23, Switzerland