netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Namespaceify tcp keepalive machinery
@ 2016-01-07 14:38 Nikolay Borisov
  2016-01-07 14:38 ` [PATCH 1/3] ipv4: Namespaceify tcp_keepalive_time sysctl knob Nikolay Borisov
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Nikolay Borisov @ 2016-01-07 14:38 UTC (permalink / raw)
  To: davem, netdev, linux-kernel
  Cc: edumazet, ebiederm, fan.du, kaber, jmorris, alexander.h.duyck,
	kuznet, operations

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-01-10 22:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-07 14:38 [PATCH 0/3] Namespaceify tcp keepalive machinery Nikolay Borisov
2016-01-07 14:38 ` [PATCH 1/3] ipv4: Namespaceify tcp_keepalive_time sysctl knob Nikolay Borisov
2016-01-07 14:38 ` [PATCH 2/3] ipv4: Namespecify tcp_keepalive_probes " Nikolay Borisov
2016-01-07 14:38 ` [PATCH 3/3] ipv4: Namespecify the tcp_keepalive_intvl " Nikolay Borisov
2016-01-07 21:38 ` [PATCH 0/3] Namespaceify tcp keepalive machinery Eric W. Biederman
2016-01-10 22:32 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).