summaryrefslogtreecommitdiff
path: root/datapath/linux/compat/include/net/ip6_route.h
diff options
context:
space:
mode:
authorJoe Stringer <joe@ovn.org>2015-12-24 11:32:38 -0800
committerJoe Stringer <joe@ovn.org>2016-02-02 14:26:46 -0800
commite4e04c3b6bf5209592d2a6db96c7905d2bb9133e (patch)
tree3251f166da720c883ae02e62356d10653900d04f /datapath/linux/compat/include/net/ip6_route.h
parentac9cd0d28a6590136a9f69ad1e3785039b35b39e (diff)
downloadopenvswitch-e4e04c3b6bf5209592d2a6db96c7905d2bb9133e.tar.gz
compat: Detect and use nf_ipv6_ops->fragment.
Signed-off-by: Joe Stringer <joe@ovn.org> Acked-by: Pravin B Shelar <pshelar@ovn.org>
Diffstat (limited to 'datapath/linux/compat/include/net/ip6_route.h')
-rw-r--r--datapath/linux/compat/include/net/ip6_route.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/datapath/linux/compat/include/net/ip6_route.h b/datapath/linux/compat/include/net/ip6_route.h
index ba7dcc58f..16027e47e 100644
--- a/datapath/linux/compat/include/net/ip6_route.h
+++ b/datapath/linux/compat/include/net/ip6_route.h
@@ -30,18 +30,19 @@ struct dst_entry *rpl_ip6_route_output(struct net *net, const struct sock *sk,
#endif /* 2.6.39 */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+#ifndef HAVE_NF_IPV6_OPS_FRAGMENT
+#ifdef OVS_FRAGMENT_BACKPORT
+int rpl_ip6_fragment(struct sock *sk, struct sk_buff *skb,
+ int (*output)(OVS_VPORT_OUTPUT_PARAMS));
+#else
static inline int rpl_ip6_fragment(struct sock *sk, struct sk_buff *skb,
int (*output)(struct sk_buff *))
{
kfree_skb(skb);
return -ENOTSUPP;
}
-#define ip6_fragment rpl_ip6_fragment
-#elif defined(OVS_FRAGMENT_BACKPORT)
-int rpl_ip6_fragment(struct sock *sk, struct sk_buff *skb,
- int (*output)(OVS_VPORT_OUTPUT_PARAMS));
-#define ip6_fragment rpl_ip6_fragment
#endif /* OVS_FRAGMENT_BACKPORT */
+#define ip6_fragment rpl_ip6_fragment
+#endif /* HAVE_NF_IPV6_OPS_FRAGMENT */
#endif /* _NET_IP6_ROUTE_WRAPPER */