[ovs-dev] [PATCH v3 18/28] datapath: compat: Use dst-cache for Geneve and VxLAN tunnels.

Jesse Gross jesse at kernel.org
Wed Jul 6 02:57:36 UTC 2016


On Fri, Jul 1, 2016 at 5:59 PM, Pravin B Shelar <pshelar at ovn.org> wrote:
> diff --git a/datapath/linux/compat/geneve.c b/datapath/linux/compat/geneve.c
> index 2ed9ad1..dbb220f 100644
> --- a/datapath/linux/compat/geneve.c
> +++ b/datapath/linux/compat/geneve.c

I think it would probably be nice to mention that the Geneve changes
were added in 468dfffcd762cbb2777ec5a76bc21e3748ebf47e ("geneve: add
dst caching support")

> diff --git a/datapath/linux/compat/include/net/ip_tunnels.h b/datapath/linux/compat/include/net/ip_tunnels.h
> index 7fe6a04..118d03e 100644
> --- a/datapath/linux/compat/include/net/ip_tunnels.h
> +++ b/datapath/linux/compat/include/net/ip_tunnels.h
> @@ -197,6 +197,24 @@ static inline void ip_tunnel_key_init(struct ip_tunnel_key *key,
>
>  #define ip_tunnel_collect_metadata() true
>
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0)
> +#define TUNNEL_NOCACHE 0
> +
> +static inline bool
> +ip_tunnel_dst_cache_usable(const struct sk_buff *skb,
> +                          const struct ip_tunnel_info *info)

I think this was actually available starting in 4.6.

It looks to me like there is a memory leak for dst cache entries
coming from OVS. Normally they get freed from dst_destroy() but I
don't think there is an equivalent in the compat case.



More information about the dev mailing list