diff options
author | Paolo Abeni <pabeni@redhat.com> | 2016-02-12 09:43:57 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-16 20:21:48 -0500 |
commit | d71785ffc7e7cae3fbdc4ea8a9d05b7a1c59f7b8 (patch) | |
tree | 142081880ca68e3f066df14ecfb2371b229e76fd /include/net | |
parent | 0c1d70af924b966cc71e9e48920b2b635441aa50 (diff) |
net: add dst_cache to ovs vxlan lwtunnel
In case of UDP traffic with datagram length
below MTU this give about 2% performance increase
when tunneling over ipv4 and about 60% when tunneling
over ipv6
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Suggested-and-acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/dst_metadata.h | 1 | ||||
-rw-r--r-- | include/net/ip_tunnels.h | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/net/dst_metadata.h b/include/net/dst_metadata.h index 30a56ab2ccfb..84b833af6882 100644 --- a/include/net/dst_metadata.h +++ b/include/net/dst_metadata.h | |||
@@ -62,6 +62,7 @@ static inline int skb_metadata_dst_cmp(const struct sk_buff *skb_a, | |||
62 | sizeof(a->u.tun_info) + a->u.tun_info.options_len); | 62 | sizeof(a->u.tun_info) + a->u.tun_info.options_len); |
63 | } | 63 | } |
64 | 64 | ||
65 | void metadata_dst_free(struct metadata_dst *); | ||
65 | struct metadata_dst *metadata_dst_alloc(u8 optslen, gfp_t flags); | 66 | struct metadata_dst *metadata_dst_alloc(u8 optslen, gfp_t flags); |
66 | struct metadata_dst __percpu *metadata_dst_alloc_percpu(u8 optslen, gfp_t flags); | 67 | struct metadata_dst __percpu *metadata_dst_alloc_percpu(u8 optslen, gfp_t flags); |
67 | 68 | ||
diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index fd36936d85a6..87408ab80856 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h | |||
@@ -58,6 +58,9 @@ struct ip_tunnel_key { | |||
58 | 58 | ||
59 | struct ip_tunnel_info { | 59 | struct ip_tunnel_info { |
60 | struct ip_tunnel_key key; | 60 | struct ip_tunnel_key key; |
61 | #ifdef CONFIG_DST_CACHE | ||
62 | struct dst_cache dst_cache; | ||
63 | #endif | ||
61 | u8 options_len; | 64 | u8 options_len; |
62 | u8 mode; | 65 | u8 mode; |
63 | }; | 66 | }; |