diff options
author | Paolo Abeni <pabeni@redhat.com> | 2016-02-12 15:43:57 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-17 02:21:48 +0100 |
commit | d71785ffc7e7cae3fbdc4ea8a9d05b7a1c59f7b8 (patch) | |
tree | 142081880ca68e3f066df14ecfb2371b229e76fd /include | |
parent | net: use dst_cache for vxlan device (diff) | |
download | linux-d71785ffc7e7cae3fbdc4ea8a9d05b7a1c59f7b8.tar.xz linux-d71785ffc7e7cae3fbdc4ea8a9d05b7a1c59f7b8.zip |
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')
-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, sizeof(a->u.tun_info) + a->u.tun_info.options_len); } +void metadata_dst_free(struct metadata_dst *); struct metadata_dst *metadata_dst_alloc(u8 optslen, gfp_t flags); struct metadata_dst __percpu *metadata_dst_alloc_percpu(u8 optslen, gfp_t flags); 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 { struct ip_tunnel_info { struct ip_tunnel_key key; +#ifdef CONFIG_DST_CACHE + struct dst_cache dst_cache; +#endif u8 options_len; u8 mode; }; |