You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Define a console connected via an external process. Have that external process spawn a telnet connection to the remote device. Once the connection has been established, abruptly power-off or disconnect the remote device in order to prevent the TCP connection from being gracefully torn-down. Wait at least 2 hours (i.e., the default keepalive timeout) to see if conmand is able to detect the dead connection.
What is the expected output? What do you see instead?
With keepalive enabled, conmand should be able to (eventually) detect when a remote TCP connection has died; this is the case for telnet connections created directly by conmand. Instead, telnet connections spawned by an external process can enter a dead state that will not be detected until a write is attempted on the socket (triggering a TCP RST). Thus, you can lose messages written to the console if the socket connection is attached to a dead peer.
What version of the software are you using? On what operating system?
conman-0.2.7
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
chaos-release-4.4-2.ch4.4
telnet-0.17-39.el5
Please provide any additional information below.
TCP keepalive is not being enabled on socket connections created by the external telnet process. Furthermore, the telnet client does not support any option to enable it.
What steps will reproduce the problem?
Define a console connected via an external process. Have that external process spawn a telnet connection to the remote device. Once the connection has been established, abruptly power-off or disconnect the remote device in order to prevent the TCP connection from being gracefully torn-down. Wait at least 2 hours (i.e., the default keepalive timeout) to see if conmand is able to detect the dead connection.
What is the expected output? What do you see instead?
With keepalive enabled, conmand should be able to (eventually) detect when a remote TCP connection has died; this is the case for telnet connections created directly by conmand. Instead, telnet connections spawned by an external process can enter a dead state that will not be detected until a write is attempted on the socket (triggering a TCP RST). Thus, you can lose messages written to the console if the socket connection is attached to a dead peer.
What version of the software are you using? On what operating system?
conman-0.2.7
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
chaos-release-4.4-2.ch4.4
telnet-0.17-39.el5
Please provide any additional information below.
TCP keepalive is not being enabled on socket connections created by the external telnet process. Furthermore, the telnet client does not support any option to enable it.
Discussion is at:
https://groups.google.com/group/conman-users/browse_thread/thread/e5cb2608777198bd
Additional information on TCP keepalive:
http://tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/
Original issue reported on code.google.com by
chris.m.dunlap
on 7 Jul 2011 at 1:36The text was updated successfully, but these errors were encountered: