[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1455287867.git.pabeni@redhat.com>
Date: Fri, 12 Feb 2016 15:43:52 +0100
From: Paolo Abeni <pabeni@...hat.com>
To: netdev@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>,
Thomas Graf <tgraf@...g.ch>,
Pravin B Shelar <pshelar@...ira.com>,
Jiri Benc <jbenc@...hat.com>,
Hannes Frederic Sowa <hannes@...essinduktion.org>,
Tom Herbert <therbert@...gle.com>,
Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
Subject: [PATCH net-next v2 0/7] net: unify dst caching for tunnel devices
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
Powered by blists - more mailing lists