]> git.proxmox.com Git - ovs.git/commitdiff
compat: Fixup ip_tunnel_info_opts_set
authorGreg Rose <gvrose8192@gmail.com>
Thu, 13 Dec 2018 23:08:20 +0000 (15:08 -0800)
committerBen Pfaff <blp@ovn.org>
Sat, 15 Dec 2018 16:13:12 +0000 (08:13 -0800)
A new flags parameter has been added in 4.19 so add compat fixup.

Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com>
Signed-off-by: Greg Rose <gvrose8192@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
acinclude.m4
datapath/linux/compat/include/net/ip_tunnels.h

index ed83df43df546c16d7f5e38e31e8a27330d83435..92b4d6cbfee3fb01bcba0ad2471116b158126c9f 100644 (file)
@@ -897,6 +897,9 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
                   [OVS_DEFINE([HAVE_VOID_NDO_GET_STATS64])])
   OVS_GREP_IFELSE([$KSRC/include/linux/timer.h], [init_timer_deferrable],
                   [OVS_DEFINE([HAVE_INIT_TIMER_DEFERRABLE])])
+  OVS_FIND_PARAM_IFELSE([$KSRC/include/net/ip_tunnels.h],
+                        [ip_tunnel_info_opts_set], [flags],
+                        [OVS_DEFINE([HAVE_IP_TUNNEL_INFO_OPTS_SET_FLAGS])])
 
   if cmp -s datapath/linux/kcompat.h.new \
             datapath/linux/kcompat.h >/dev/null 2>&1; then
index ce6fca424a6db6deecf0508017f59b5ac0663cfd..dd903063125e51beef99a939d6d028c830cc69e9 100644 (file)
 #define TUNNEL_ERSPAN_OPT      __cpu_to_be16(0x4000)
 #endif
 #define ovs_ip_tunnel_encap ip_tunnel_encap
-#else
+
+#ifndef HAVE_IP_TUNNEL_INFO_OPTS_SET_FLAGS
+static inline void rpl_ip_tunnel_info_opts_set(struct ip_tunnel_info *info,
+                                              const void *from, int len,
+                                              __be16 flags)
+{
+       memcpy(ip_tunnel_info_opts(info), from, len);
+       info->options_len = len;
+       info->key.tun_flags |= flags;
+}
+
+#define ip_tunnel_info_opts_set rpl_ip_tunnel_info_opts_set
+#endif
+
+#else /* USE_UPSTREAM_TUNNEL */
 
 #include <linux/if_tunnel.h>
 #include <linux/types.h>