[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 4 May 2016 18:02:30 -0700
From: Tom Herbert <tom@...bertland.com>
To: <davem@...emloft.net>, <netdev@...r.kernel.org>
CC: <kernel-team@...com>
Subject: [PATCH net-next 00/14] ipv6: Enable GUEoIPv6 and more fixes for v6 tunneling
This patch set:
- Fixes GRE6 to process translate flags correctly from configuration
- Adds support for GSO and GRO for ip6ip6 and ip4ip6
- Add support for FOU and GUE in IPv6
- Support GRE, ip6ip6 and ip4ip6 over FOU/GUE
- Fixes ip6_input to deal with UDP encapsulations
- Some other minor fixes
Tested:
Tested a variety of case, but not the full matrix (which is quite
large now). Most of the obivous cases (e.g. GRE) work fine. Still
some issues probably with GSO/GRO being effective in all cases.
- IPv4/GRE/GUE/IPv6 with RCO
1 TCP_STREAM
6616 Mbps
200 TCP_RR
1244043 tps
141/243/446 90/95/99% latencies
86.61% CPU utilization
- IPv6/GRE/GUE/IPv6 with RCO
1 TCP_STREAM
6940 Mbps
200 TCP_RR
1270903 tps
138/236/440 90/95/99% latencies
87.51% CPU utilization
- IP6IP6
1 TCP_STREAM
2576 Mbps
200 TCP_RR
498981 tps
388/498/631 90/95/99% latencies
19.75% CPU utilization (1 CPU saturated)
- IP6IP6/GUE/IPv6 with RCO
1 TCP_STREAM
1854 Mbps
200 TCP_RR
1233818 tps
143/244/451 90/95/99% latencies
87.57 CPU utilization
- IP4IP6
1 TCP_STREAM
200 TCP_RR
763774 tps
250/318/466 90/95/99% latencies
35.25% CPU utilization (1 CPU saturated)
- GRE with keyid
200 TCP_RR
744173 tps
258/332/461 90/95/99% latencies
34.59% CPU utilization (1 CPU saturated)
Tom Herbert (14):
gso: Remove arbitrary checks for unsupported GSO
gre6: Fix flag translations
udp: Don't set skb->encapsulation with RCO
fou: Call setup_udp_tunnel_sock
fou: Split out {fou,gue}_build_header
fou: Add encap ops for IPv6 tunnels
ipv6: Fix nexthdr for reinjection
ipv6: Change "final" protocol processing for encapsulation
fou: Support IPv6 in fou
ip6_tun: Add infrastructure for doing encapsulation
ip6_gre: Add support for fou/gue encapsulation
ip6_tunnel: Add support for fou/gue encapsulation
ip6ip6: Support for GSO/GRO
ip4ip6: Support for GSO/GRO
include/linux/netdev_features.h | 8 ++-
include/linux/netdevice.h | 2 +
include/linux/skbuff.h | 4 ++
include/net/fou.h | 10 +--
include/net/inet_common.h | 5 ++
include/net/ip6_tunnel.h | 22 +++++-
net/core/ethtool.c | 1 +
net/ipv4/af_inet.c | 30 ++-------
net/ipv4/fou.c | 144 ++++++++++++++++++++++++----------------
net/ipv4/gre_offload.c | 14 ----
net/ipv4/tcp_offload.c | 19 ------
net/ipv4/udp_offload.c | 20 ++----
net/ipv6/Makefile | 4 +-
net/ipv6/fou6.c | 140 ++++++++++++++++++++++++++++++++++++++
net/ipv6/ip6_gre.c | 95 +++++++++++++++++++++++---
net/ipv6/ip6_input.c | 24 +++++--
net/ipv6/ip6_offload.c | 76 +++++++++++++++------
net/ipv6/ip6_tunnel.c | 101 ++++++++++++++++++++++++++--
net/ipv6/ip6_tunnel_core.c | 108 ++++++++++++++++++++++++++++++
net/ipv6/udp_offload.c | 13 ----
20 files changed, 652 insertions(+), 188 deletions(-)
create mode 100644 net/ipv6/fou6.c
create mode 100644 net/ipv6/ip6_tunnel_core.c
--
2.8.0.rc2
Powered by blists - more mailing lists