Rather than relying on version checks, detect the presence of this structure and use it if available.
Signed-off-by: Joe Stringer <j...@ovn.org> --- acinclude.m4 | 2 ++ datapath/linux/compat/include/net/netfilter/nf_conntrack_expect.h | 4 ++-- datapath/linux/compat/include/net/netfilter/nf_conntrack_zones.h | 4 ++-- datapath/linux/compat/nf_conntrack_core.c | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 8dfbc2371b03..3e3426dcf2b4 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -393,6 +393,8 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/nf_conntrack.h], [tmpl_alloc.*conntrack_zone], [OVS_DEFINE([HAVE_NF_CT_TMPL_ALLOC_TAKES_STRUCT_ZONE])]) + OVS_GREP_IFELSE([$KSRC/include/net/netfilter/nf_conntrack_zones.h], + [nf_ct_zone_init]) OVS_GREP_IFELSE([$KSRC/include/linux/random.h], [prandom_u32]) OVS_GREP_IFELSE([$KSRC/include/linux/random.h], [prandom_u32_max]) diff --git a/datapath/linux/compat/include/net/netfilter/nf_conntrack_expect.h b/datapath/linux/compat/include/net/netfilter/nf_conntrack_expect.h index 98c6d6b4c093..a13f0ce609f2 100644 --- a/datapath/linux/compat/include/net/netfilter/nf_conntrack_expect.h +++ b/datapath/linux/compat/include/net/netfilter/nf_conntrack_expect.h @@ -3,7 +3,7 @@ #include_next <net/netfilter/nf_conntrack_expect.h> -#if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0) +#ifndef HAVE_NF_CT_ZONE_INIT #include <net/netfilter/nf_conntrack.h> #include <net/netfilter/nf_conntrack_zones.h> @@ -17,5 +17,5 @@ rpl___nf_ct_expect_find(struct net *net, } #define __nf_ct_expect_find rpl___nf_ct_expect_find -#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0) */ +#endif /* HAVE_NF_CT_ZONE_INIT */ #endif /* _NF_CONNTRACK_EXPECT_WRAPPER_H */ diff --git a/datapath/linux/compat/include/net/netfilter/nf_conntrack_zones.h b/datapath/linux/compat/include/net/netfilter/nf_conntrack_zones.h index 3c5e3979c995..fb43acba31f5 100644 --- a/datapath/linux/compat/include/net/netfilter/nf_conntrack_zones.h +++ b/datapath/linux/compat/include/net/netfilter/nf_conntrack_zones.h @@ -7,7 +7,7 @@ #include_next <net/netfilter/nf_conntrack_zones.h> #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0) +#ifndef HAVE_NF_CT_ZONE_INIT #include <linux/kconfig.h> #include <linux/types.h> @@ -99,5 +99,5 @@ static inline bool nf_ct_zone_equal_any(const struct nf_conn *a, return nf_ct_zone(a)->id == b->id; } #endif /* IS_ENABLED(CONFIG_NF_CONNTRACK) */ -#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0) */ +#endif /* HAVE_NF_CT_ZONE_INIT */ #endif /* _NF_CONNTRACK_ZONES_WRAPPER_H */ diff --git a/datapath/linux/compat/nf_conntrack_core.c b/datapath/linux/compat/nf_conntrack_core.c index a26620809ce1..a7d3d4331e4a 100644 --- a/datapath/linux/compat/nf_conntrack_core.c +++ b/datapath/linux/compat/nf_conntrack_core.c @@ -1,6 +1,6 @@ #include <linux/version.h> -#if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0) +#ifndef HAVE_NF_CT_ZONE_INIT #include <net/netfilter/nf_conntrack_zones.h> @@ -10,4 +10,4 @@ const struct nf_conntrack_zone nf_ct_zone_dflt = { .dir = NF_CT_DEFAULT_ZONE_DIR, }; -#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0) */ +#endif /* HAVE_NF_CT_ZONE_INIT */ -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev