From: Nikolay Borisov <kernel@kyup.com>
To: davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: edumazet@google.com, ebiederm@xmission.com, fan.du@intel.com,
kaber@trash.net, jmorris@namei.org, alexander.h.duyck@redhat.com,
kuznet@ms2.inr.ac.ru, operations@siteground.com
Subject: [PATCH 0/3] Namespaceify tcp keepalive machinery
Date: Thu, 7 Jan 2016 16:38:42 +0200 [thread overview]
Message-ID: <1452177525-13244-1-git-send-email-kernel@kyup.com> (raw)
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
next reply other threads:[~2016-01-07 14:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-07 14:38 Nikolay Borisov [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1452177525-13244-1-git-send-email-kernel@kyup.com \
--to=kernel@kyup.com \
--cc=alexander.h.duyck@redhat.com \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=edumazet@google.com \
--cc=fan.du@intel.com \
--cc=jmorris@namei.org \
--cc=kaber@trash.net \
--cc=kuznet@ms2.inr.ac.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=operations@siteground.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).