ericluoma
asked on
How do I change TCP_NODELAY in Linux
I want to disable the nagle algo on my NIC's due to the type of streaming I am doing, but I cannot find a resouce that says how this is done.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You can run a simple proxy server that does nothing but proxy your connection through a socket with TCP_NODELAY set and have iptables transparently NAT it, but coding that is a bit beyond my skill and would take a couple of hours research. A good idea might be to download a SOCKS proxy server and patch it so it's outbound sockets are set as above then run your streaming through the proxy.
Another solution would be to compile a module that exports socket as a symbol, creates the socket and then returns the value of the socket. You could inject it into your programs with LD_PRELOAD.
On solaris you can disable nagle system-wide with:
sysctl -w net.ipv4.tcp_abc=0
I just put the same into my Linux box and it accepted the command so I assume it has done the same, but I don't have time to test it.
sysctl -w net.ipv4.tcp_abc=0
I just put the same into my Linux box and it accepted the command so I assume it has done the same, but I don't have time to test it.