socket: Add Support for TCP keep alive variables

The tcp keep alive variables now can be configured via conf
parameter. Follwing variables are now supported by this patch.

tcp_keepalive_intvl: The number of seconds between TCP keep-alive probes

tcp_keepalive_probes: The maximum number of TCP keep-alive probes to
send before giving up and killing the connection if no response is
obtained from the other end.

tcp_keepalive_time: The number of seconds a connection needs to be
idle before TCP begins sending out keep-alive probes.
This commit is contained in:
Susant Sahani
2014-08-14 19:48:57 -04:00
committed by Zbigniew Jędrzejewski-Szmek
parent 1dbe0a6efd
commit 209e9dcd7b
5 changed files with 81 additions and 0 deletions
+36
View File
@@ -487,6 +487,42 @@
<option>false</option>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>KeepAliveTime=</varname></term>
<listitem><para>Takes time (in seconds) as argument . The connection needs to remain
idle before TCP starts sending keepalive probes. This controls the TCP_KEEPIDLE
socket option (see
<citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
and the <ulink
url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
Keepalive HOWTO</ulink> for details.)
Defaults value is 7200 seconds (2 hours).</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>KeepAliveInterval=</varname></term>
<listitem><para>Takes time (in seconds) as argument between individual keepalive probes,
if the socket option SO_KEEPALIVE has been set on this socket seconds as argument.
This controls the TCP_KEEPINTVL socket option (see
<citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
and the <ulink
url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
Keepalive HOWTO</ulink> for details.)
Defaults value is 75 seconds.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>KeepAliveProbes=</varname></term>
<listitem><para>Takes interger as argument. It's the number of unacknowledged probes to
send before considering the connection dead and notifying the application layer.
This controls the TCP_KEEPCNT socket option (see
<citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
and the <ulink
url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
Keepalive HOWTO</ulink> for details.)
Defaults value is 9.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>NoDelay=</varname></term>
<listitem><para>Takes a boolean