I have an application that I'm testing/debugging I would like to know if the connections that it's opening have had the TCP_NODELAY set. Is there are a way to do this e.g. using netstat to look at the details of an open connection? Is something like strace or system tap my best option?
Tell me more
×
Server Fault is a question and answer site for
professional system and network administrators. It's 100% free, no registration required.
|
Sadly you can't after the socket has already been opened. The information linux kernel hands out lacks this information. See http://lkml.indiana.edu/hypermail/linux/kernel/0409.1/2166.html You can trace your code via strace and look for lines similar to this (taken from stracing mysql client connecting to a mysql server)
If you're on a BSD or non-linux unixy system
could work ( See this http://stackoverflow.com/questions/1824115/display-socket-options similar question ). |
|||
|
|
tcpdumponly captures the data. TCP_NODELAY is a connection option that you set on your code, not an option that you can find on the packets being sent. – drcelus Jan 24 at 8:27