netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Fan Du <fan.du@intel.com>
To: jheffner@psc.edu
Cc: davem@davemloft.net, edumazet@google.com, netdev@vger.kernel.org,
	fengyuleidian0615@gmail.com
Subject: [PATCHv5 net-next 0/4] Improvements for TCP PMTU
Date: Fri,  6 Mar 2015 11:18:21 +0800	[thread overview]
Message-ID: <1425611905-28503-1-git-send-email-fan.du@intel.com> (raw)

Hi,

This patchset performs some improvements and enhancement
for current TCP PMTU as per RFC4821 with the aim to find
optimal mms size quickly, and also be adaptive to route
changes like enlarged path MTU. Then TCP PMTU could be
used to probe a effective pmtu in absence of ICMP message
for tunnels(e.g. vxlan) across different networking stack.

Patch1/4: Set probe mss base to 1024 Bytes per RFC4821
Patch2/4: Do not double probe_size for each probing,
          use a simple binary search to gain maximum performance.
	  mss for next probing.
Patch3/4: Create a probe timer to detect enlarged path MTU.
Patch4/4: Update ip-sysctl.txt for new sysctl knobs.

Changelog:
v5:
  - Zero probe_size before resetting search range.
  - Update ip-sysctl.txt for new sysctl knobs.
v4:
  - Convert probe_size to mss, not directly from search_low/high
  - Clamp probe_threshold
  - Don't adjust search_high in blackhole probe, so drop orignal patch3
v3:
  - Update commit message for patch2
  - Fix pseudo timer delta calculation in patch4
v2:
  - Introduce sysctl_tcp_probe_threshold to control when
    probing will stop, as suggested by John Heffner.
  - Add patch3 to shrink current mss value for search low boundary.
  - Drop cannonical timer usages, implements pseudo timer based on
    32bits jiffies tcp_time_stamp, as suggested by Eric Dumazet.


Fan Du (4):
  ipv4: Raise tcp PMTU probe mss base size
  ipv4: Use binary search to choose tcp PMTU probe_size
  ipv4: Create probe timer for tcp PMTU as per RFC4821
  ipv4: Documenting two sysctls for tcp PMTU probe

 Documentation/networking/ip-sysctl.txt |   10 ++++++
 include/net/inet_connection_sock.h     |    2 +
 include/net/netns/ipv4.h               |    2 +
 include/net/tcp.h                      |    8 ++++-
 net/ipv4/sysctl_net_ipv4.c             |   14 +++++++++
 net/ipv4/tcp_ipv4.c                    |    2 +
 net/ipv4/tcp_output.c                  |   50 +++++++++++++++++++++++++++++--
 net/ipv4/tcp_timer.c                   |    1 +
 8 files changed, 84 insertions(+), 5 deletions(-)

             reply	other threads:[~2015-03-06  3:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-06  3:18 Fan Du [this message]
2015-03-06  3:18 ` [PATCHv5 net-next 1/4] ipv4: Raise tcp PMTU probe mss base size Fan Du
2015-03-06  3:18 ` [PATCHv5 net-next 2/4] ipv4: Use binary search to choose tcp PMTU probe_size Fan Du
2015-03-06  3:18 ` [PATCHv5 net-next 3/4] ipv4: Create probe timer for tcp PMTU as per RFC4821 Fan Du
2015-03-07 18:02   ` Ben Hutchings
2015-03-06  3:18 ` [PATCHv5 net-next 4/4] ipv4: Documenting two sysctls for tcp PMTU probe Fan Du
2015-03-06 19:58 ` [PATCHv5 net-next 0/4] Improvements for TCP PMTU 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=1425611905-28503-1-git-send-email-fan.du@intel.com \
    --to=fan.du@intel.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=fengyuleidian0615@gmail.com \
    --cc=jheffner@psc.edu \
    --cc=netdev@vger.kernel.org \
    /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).