From: Paolo Abeni <pabeni@redhat.com>
To: netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
Thomas Graf <tgraf@suug.ch>, Pravin B Shelar <pshelar@nicira.com>,
Jiri Benc <jbenc@redhat.com>,
Hannes Frederic Sowa <hannes@stressinduktion.org>,
Tom Herbert <therbert@google.com>,
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Subject: [PATCH net-next v2 0/7] net: unify dst caching for tunnel devices
Date: Fri, 12 Feb 2016 15:43:52 +0100 [thread overview]
Message-ID: <cover.1455287867.git.pabeni@redhat.com> (raw)
This patch series try to unify the dst cache implementations currently
present in the kernel, namely in ip_tunnel.c and ip6_tunnel.c, introducing a
new generic implementation, replacing the existing ones, and then using
the new implementation in other tunnel devices which currently lack it.
The new dst implementation is compiled, as built-in, only if any device using
it is enabled.
Caching the dst for the tunnel remote address gives small, but measurable,
performance improvement when tunneling over ipv4 (in the 2%-4% range) and
significant ones when tunneling over ipv6 (roughly 60% when no
fragmentation/segmentation take place and the tunnel local address
is not specified).
v2:
- move the vxlan dst_cache usage inside the device lookup functions
- fix usage after free for lwt tunnel moving the dst cache storage inside
the dst_metadata,
- sparse codying style cleanup
Paolo Abeni (7):
net: add dst_cache support
net: replace dst_cache ip6_tunnel implementation with the generic one
ip_tunnel: replace dst_cache with generic implementation
net: use dst_cache for vxlan device
net: add dst_cache to ovs vxlan lwtunnel
geneve: add dst caching support
net/ipv4: add dst cache support for gre lwtunnels
drivers/net/geneve.c | 39 ++++++++++
drivers/net/vxlan.c | 56 ++++++++++++--
include/net/dst_cache.h | 97 ++++++++++++++++++++++++
include/net/dst_metadata.h | 1 +
include/net/ip6_tunnel.h | 14 +---
include/net/ip_tunnels.h | 12 ++-
include/net/vxlan.h | 1 +
net/Kconfig | 4 +
net/core/Makefile | 1 +
net/core/dst.c | 10 ++-
net/core/dst_cache.c | 168 +++++++++++++++++++++++++++++++++++++++++
net/ipv4/Kconfig | 1 +
net/ipv4/ip_gre.c | 13 +++-
net/ipv4/ip_tunnel.c | 78 ++++---------------
net/ipv6/Kconfig | 1 +
net/ipv6/ip6_gre.c | 12 +--
net/ipv6/ip6_tunnel.c | 103 ++-----------------------
net/ipv6/ip6_vti.c | 2 +-
net/ipv6/sit.c | 17 +++--
net/openvswitch/Kconfig | 1 +
net/openvswitch/flow_netlink.c | 6 ++
21 files changed, 429 insertions(+), 208 deletions(-)
create mode 100644 include/net/dst_cache.h
create mode 100644 net/core/dst_cache.c
--
1.8.3.1
next reply other threads:[~2016-02-12 14:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-12 14:43 Paolo Abeni [this message]
2016-02-12 14:43 ` [PATCH net-next v2 1/7] net: add dst_cache support Paolo Abeni
2016-02-12 14:43 ` [PATCH net-next v2 2/7] net: replace dst_cache ip6_tunnel implementation with the generic one Paolo Abeni
2016-02-12 14:43 ` [PATCH net-next v2 3/7] ip_tunnel: replace dst_cache with generic implementation Paolo Abeni
2016-02-12 14:43 ` [PATCH net-next v2 4/7] net: use dst_cache for vxlan device Paolo Abeni
2016-02-12 14:43 ` [PATCH net-next v2 5/7] net: add dst_cache to ovs vxlan lwtunnel Paolo Abeni
2016-02-12 14:43 ` [PATCH net-next v2 6/7] geneve: add dst caching support Paolo Abeni
2016-02-12 14:43 ` [PATCH net-next v2 7/7] net/ipv4: add dst cache support for gre lwtunnels Paolo Abeni
2016-02-17 1:22 ` [PATCH net-next v2 0/7] net: unify dst caching for tunnel devices David Miller
2016-04-27 23:31 ` Eric Dumazet
2016-04-28 7:18 ` Paolo Abeni
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=cover.1455287867.git.pabeni@redhat.com \
--to=pabeni@redhat.com \
--cc=davem@davemloft.net \
--cc=hannes@stressinduktion.org \
--cc=jbenc@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pshelar@nicira.com \
--cc=sergei.shtylyov@cogentembedded.com \
--cc=tgraf@suug.ch \
--cc=therbert@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.