]> git.proxmox.com Git - ovs.git/commitdiff
rhel: Enable ERSPAN features for RHEL 7.x
authorGreg Rose <gvrose8192@gmail.com>
Wed, 16 May 2018 20:13:20 +0000 (13:13 -0700)
committerBen Pfaff <blp@ovn.org>
Tue, 22 May 2018 03:33:30 +0000 (20:33 -0700)
Enable ERSPAN on RHEL 7.x

Signed-off-by: Greg Rose <gvrose8192@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: William Tu <u9012063@gmail.com>
acinclude.m4
datapath/linux/compat/ip6_gre.c
datapath/linux/compat/ip_gre.c

index 8962862ef5db0fb4aafc3ede00cad922d812f4fc..23517922971210a4dad2553b742891a2ee1e5c95 100644 (file)
@@ -531,7 +531,8 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
                         [OVS_GREP_IFELSE([$KSRC/include/net/ip_tunnels.h],
                                          [iptunnel_pull_offloads],
                         [OVS_GREP_IFELSE([$KSRC/include/net/dst_cache.h], [dst_cache],
-                                         [OVS_DEFINE([USE_UPSTREAM_TUNNEL])])])])
+                        [OVS_GREP_IFELSE([$KSRC/include/net/erspan.h], [erspan_md2],
+                                         [OVS_DEFINE([USE_UPSTREAM_TUNNEL])])])])])
 
   OVS_GREP_IFELSE([$KSRC/include/net/dst_cache.h], [dst_cache],
                   [OVS_DEFINE([USE_BUILTIN_DST_CACHE])])
@@ -866,6 +867,18 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
   OVS_GREP_IFELSE([$KSRC/net/ipv4/gre_demux.c],
                   [parse_gre_header],
                   [OVS_DEFINE([HAVE_DEMUX_PARSE_GRE_HEADER])])
+  OVS_GREP_IFELSE([$KSRC/include/uapi/linux/if_tunnel.h],
+                  [IFLA_GRE_ENCAP_DPORT])
+  OVS_GREP_IFELSE([$KSRC/include/uapi/linux/if_tunnel.h],
+                  [IFLA_GRE_COLLECT_METADATA])
+  OVS_GREP_IFELSE([$KSRC/include/uapi/linux/if_tunnel.h],
+                  [IFLA_GRE_IGNORE_DF])
+  OVS_GREP_IFELSE([$KSRC/include/uapi/linux/if_tunnel.h],
+                  [IFLA_GRE_FWMARK])
+  OVS_GREP_IFELSE([$KSRC/include/uapi/linux/if_tunnel.h],
+                  [IFLA_GRE_ERSPAN_INDEX])
+  OVS_GREP_IFELSE([$KSRC/include/uapi/linux/if_tunnel.h],
+                  [IFLA_GRE_ERSPAN_HWID])
 
   if cmp -s datapath/linux/kcompat.h.new \
             datapath/linux/kcompat.h >/dev/null 2>&1; then
index 59694dd6c9df77ba014b98bf908097004f6502d0..c48c389d6c0baaea19f083189a6e6d27a6c71477 100644 (file)
@@ -1693,30 +1693,29 @@ static void __net_exit ip6gre_exit_batch_net(struct list_head *net_list)
 }
 
 enum {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0)
+#ifndef HAVE_IFLA_GRE_ENCAP_DPORT
        IFLA_GRE_ENCAP_TYPE = IFLA_GRE_FLAGS + 1,
        IFLA_GRE_ENCAP_FLAGS,
        IFLA_GRE_ENCAP_SPORT,
        IFLA_GRE_ENCAP_DPORT,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0)
+#ifndef HAVE_IFLA_GRE_COLLECT_METADATA
        IFLA_GRE_COLLECT_METADATA = IFLA_GRE_ENCAP_DPORT + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0)
+#ifndef HAVE_IFLA_GRE_IGNORE_DF
        IFLA_GRE_IGNORE_DF = IFLA_GRE_COLLECT_METADATA + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,12,0)
+#ifndef HAVE_IFLA_GRE_FWMARK
        IFLA_GRE_FWMARK = IFLA_GRE_IGNORE_DF + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+#ifndef HAVE_IFLA_GRE_ERSPAN_INDEX
        IFLA_GRE_ERSPAN_INDEX = IFLA_GRE_FWMARK + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,16,0)
+#ifndef HAVE_IFLA_GRE_ERSPAN_HWID
        IFLA_GRE_ERSPAN_VER = IFLA_GRE_ERSPAN_INDEX + 1,
        IFLA_GRE_ERSPAN_DIR,
        IFLA_GRE_ERSPAN_HWID,
 #endif
-
 };
 
 #define RPL_IFLA_GRE_MAX (IFLA_GRE_ERSPAN_HWID + 1)
index 6001d69b65fdab4dd2fbb8caec4cff36d31eef21..eecd41ae1e5001236a5e83f9c9196565c29aab9e 100644 (file)
@@ -814,25 +814,25 @@ out:
 }
 
 enum {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0)
+#ifndef HAVE_IFLA_GRE_ENCAP_DPORT
        IFLA_GRE_ENCAP_TYPE = IFLA_GRE_FLAGS + 1,
        IFLA_GRE_ENCAP_FLAGS,
        IFLA_GRE_ENCAP_SPORT,
        IFLA_GRE_ENCAP_DPORT,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0)
+#ifndef HAVE_IFLA_GRE_COLLECT_METADATA
        IFLA_GRE_COLLECT_METADATA = IFLA_GRE_ENCAP_DPORT + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0)
+#ifndef HAVE_IFLA_GRE_IGNORE_DF
        IFLA_GRE_IGNORE_DF = IFLA_GRE_COLLECT_METADATA + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,12,0)
+#ifndef HAVE_IFLA_GRE_FWMARK
        IFLA_GRE_FWMARK = IFLA_GRE_IGNORE_DF + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+#ifndef HAVE_IFLA_GRE_ERSPAN_INDEX
        IFLA_GRE_ERSPAN_INDEX = IFLA_GRE_FWMARK + 1,
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,16,0)
+#ifndef HAVE_IFLA_GRE_ERSPAN_HWID
        IFLA_GRE_ERSPAN_VER = IFLA_GRE_ERSPAN_INDEX + 1,
        IFLA_GRE_ERSPAN_DIR,
        IFLA_GRE_ERSPAN_HWID,