summaryrefslogtreecommitdiff
path: root/datapath/linux/compat/include/net/dst_metadata.h
diff options
context:
space:
mode:
authorYifeng Sun <pkusunyifeng@gmail.com>2018-08-21 07:42:08 -0700
committerBen Pfaff <blp@ovn.org>2018-08-24 10:54:00 -0700
commitbf61b8b1c1db08d90f7d83815344cf780c016878 (patch)
tree63214b4576632dba92f560a3e70665839842fd44 /datapath/linux/compat/include/net/dst_metadata.h
parente4e2009e4c496b5ab735c300d00e3d6bd5f514eb (diff)
downloadopenvswitch-bf61b8b1c1db08d90f7d83815344cf780c016878.tar.gz
datapath: Add support for kernel 4.16.x & 4.17.x
Add support for kernel version up to 4.17.x. On Travis, build passed for all kernel versions. And no new test fails are introduced by this patch. Cleaned up file datapath/linux/compat/include/net/ip6_fib.h which has no effect to kernel module but brings complexity to porting. Signed-off-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Reviewed-by: Greg Rose <gvrose8192@gmail.com> Tested-by: Greg Rose <gvrose8192@gmail.com>
Diffstat (limited to 'datapath/linux/compat/include/net/dst_metadata.h')
-rw-r--r--datapath/linux/compat/include/net/dst_metadata.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/datapath/linux/compat/include/net/dst_metadata.h b/datapath/linux/compat/include/net/dst_metadata.h
index e53a29ed2..36f3f390d 100644
--- a/datapath/linux/compat/include/net/dst_metadata.h
+++ b/datapath/linux/compat/include/net/dst_metadata.h
@@ -1,11 +1,6 @@
#ifndef __NET_DST_METADATA_WRAPPER_H
#define __NET_DST_METADATA_WRAPPER_H 1
-enum metadata_type {
- METADATA_IP_TUNNEL,
- METADATA_HW_PORT_MUX,
-};
-
#ifdef USE_UPSTREAM_TUNNEL
#include_next <net/dst_metadata.h>
#else
@@ -16,6 +11,11 @@ enum metadata_type {
#include <net/ipv6.h>
#include <net/ip_tunnels.h>
+enum metadata_type {
+ METADATA_IP_TUNNEL,
+ METADATA_HW_PORT_MUX,
+};
+
struct hw_port_info {
struct net_device *lower_dev;
u32 port_id;
@@ -119,7 +119,11 @@ void ovs_ip_tunnel_rcv(struct net_device *dev, struct sk_buff *skb,
static inline struct metadata_dst *
rpl_metadata_dst_alloc(u8 optslen, enum metadata_type type, gfp_t flags)
{
+#if defined(HAVE_METADATA_DST_ALLOC_WITH_METADATA_TYPE) && defined(USE_UPSTREAM_TUNNEL)
+ return metadata_dst_alloc(optslen, type, flags);
+#else
return metadata_dst_alloc(optslen, flags);
+#endif
}
#define metadata_dst_alloc rpl_metadata_dst_alloc