@@ -936,6 +936,9 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
[OVS_DEFINE([HAVE_NF_CONNTRACK_IN_TAKES_NF_HOOK_STATE])])
OVS_GREP_IFELSE([$KSRC/include/net/ipv6_frag.h], [IP6_DEFRAG_CONNTRACK_IN],
[OVS_DEFINE([HAVE_IPV6_FRAG_H])])
+ OVS_FIND_PARAM_IFELSE([$KSRC/include/net/netfilter/nf_conntrack_helper.h],
+ [nf_ct_helper_ext_add], [nf_conntrack_helper],
+ [OVS_DEFINE([HAVE_NF_CT_HELPER_EXT_ADD_TAKES_HELPER])])
if cmp -s datapath/linux/kcompat.h.new \
datapath/linux/kcompat.h >/dev/null 2>&1; then
@@ -9,4 +9,14 @@ static inline void nf_conntrack_helper_put(struct nf_conntrack_helper *helper) {
}
#endif
+#ifndef HAVE_NF_CT_HELPER_EXT_ADD_TAKES_HELPER
+static inline struct nf_conn_help *
+rpl_nf_ct_helper_ext_add(struct nf_conn *ct,
+ struct nf_conntrack_helper *helper, gfp_t gfp)
+{
+ return nf_ct_helper_ext_add(ct, gfp);
+}
+#define nf_ct_helper_ext_add rpl_nf_ct_helper_ext_add
+#endif /* HAVE_NF_CT_HELPER_EXT_ADD_TAKES_HELPER */
+
#endif /* _NF_CONNTRACK_HELPER_WRAPPER_H */