1. Tcp/ip Keepalive Timer
I have been attempting to set the tcp/ip Keepalive Timer on a tcp/ip socket
via the TLI API using code from SUNSOLVE FAQ(PSD) Document. (INFODOC ID: 12907,
TLI Programming PSD/FAQ. The code executes successfully however the timings
seem a little astray. The scenario is this:
1) The tcp_keepalive_interval is set down to 5 minutes with ndd. eg:
$ /usr/sbin/ndd /dev/tcp tcp_keepalive_interval
2) Open the socket and send and receive some message and wait for all
message to be acknowledged.
3) Disconnect the client from the network and reboot the client. (Its a windows
NT machine so it used to being rebooted!)
4) Reconnect the client.
When I monitored the network between the client and server with tcpdump
08:45:34.297886 184.108.40.206.1830 > 220.127.116.11.6671: . ack 156 win 8605 (DF)
08:45:34.298034 18.104.22.168.6671 > 22.214.171.124.1830: P 156:800(644) ack 408
win 8760 (DF)
08:45:34.497959 126.96.36.199.1830 > 188.8.131.52.6671: . ack 800 win 7961 (DF)
(Lask ack so disconnect client here)
08:54:51.005457 184.108.40.206.6671 > 220.127.116.11.1830: P 799:800(1) ack 408
win 8760 (DF)
08:54:51.006558 18.104.22.168.1830 > 22.214.171.124.6671: R 35133587:35133587(0)
The server (126.96.36.199) did not send out the keepalive probe until
9 minutes and 17 seconds after the last activity on the socket. This
is a lot longer than the configured 5 minutes.
Does anyone have an explanation for the difference?
Is it just a Solaris Feature(Bug)?
Is there some other timer that also needs to be considered?
The operating server operating system is Solaris 5.5.1 Generic.
Any information would be appreciated.
Phone: +61 7 364-9999 Fax: +61 7 394-2844
Mincom Pty Ltd P.O. Box 72, Stones Corner, Queensland, Australia 4120
2. QUESTION: Encryption with write
3. TCP/IP Keepalive
4. Posix compliance level of Solaris 2.5
5. TCP/IP keepalive packets ?!
6. More Questions
7. TCP/IP KeepAlive parameter
8. Snoop for Solaris x86
9. Use of KEEPALIVE on TCP/IP socket
10. Trouble using setsockopt() to set TCP keepalive params under Linux
11. !!DDE->TCP/IP, REAL TIME DATA PUMP, Trans.DDE App.DATA via TCP/IP