[PATCH 0/3] Namespaceify tcp keepalive machinery
From: Nikolay Borisov
Date: Thu Jan 07 2016 - 09:38:55 EST
The following patch series enables the tcp keepalive mechanism
to be configured per net namespace. This is especially useful
if you have multiple containers hosted on one node and one of
them is under DoS- in such situations one thing which could
be done is to configure the tcp keepalive settings such that
connections for that particular container are being reset
faster.
Another scenario where not being able to control those knob
comes per container is problematic is occurs the value of
net.netfilter.nf_conntrack_tcp_timeout_established is set
below the keepalive interval, in such situations the server won't
send an RST packet resulting in applications not trying to
reconnect and stale connection waiting. Changing the global
keepalive value is a possible solution but it might interfere
with other containers.
The three patches gradually convert each of the affected knobs
to be per netns. I thought it would be easier for review than
put everything in one patch. If people deem it more appropriate
to squash everything in one patch (maybe after review) I'd
be more than happy to do it.
The patches have been compile-tested on 4.4 and functionally
tested on 3.12 and they work as expected.
These are based off 4.4-rc8
Nikolay Borisov (3):
ipv4: Namespaceify tcp_keepalive_time sysctl knob
ipv4: Namespecify tcp_keepalive_probes sysctl knob
ipv4: Namespecify the tcp_keepalive_intvl sysctl knob
include/net/netns/ipv4.h | 4 ++++
include/net/tcp.h | 15 +++++++++------
net/ipv4/sysctl_net_ipv4.c | 42 +++++++++++++++++++++---------------------
net/ipv4/tcp_ipv4.c | 4 ++++
net/ipv4/tcp_timer.c | 3 ---
5 files changed, 38 insertions(+), 30 deletions(-)
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/