summaryrefslogtreecommitdiff
path: root/datapath/linux/compat/include/net/dst_metadata.h
diff options
context:
space:
mode:
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