[PATCH] Allow to compile for < 3.17 kernel version

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Added declaration checking for NFT_EXPR_LOG_LEVEL enum
which was added for 3.17 kernel version.

Signed-off-by: Vadim Kochan <vadim4j@xxxxxxxxx>
---
 configure.ac              | 2 ++
 src/netlink_delinearize.c | 2 ++
 src/netlink_linearize.c   | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/configure.ac b/configure.ac
index 3a7647f..d3971c7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,6 +99,8 @@ AC_TYPE_UINT16_T
 AC_TYPE_UINT32_T
 AC_TYPE_UINT64_T
 
+AC_CHECK_DECLS([NFT_EXPR_LOG_LEVEL],[],[],[[#include <libnftnl/expr.h>]])
+
 # Checks for library functions.
 AC_CHECK_FUNCS([memmove memset strchr strdup strerror strtoull])
 
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c
index 796b632..cf2ec00 100644
--- a/src/netlink_delinearize.c
+++ b/src/netlink_delinearize.c
@@ -447,11 +447,13 @@ static void netlink_parse_log(struct netlink_parse_ctx *ctx,
 			nft_rule_expr_get_u16(nle, NFT_EXPR_LOG_QTHRESHOLD);
 		stmt->log.flags |= STMT_LOG_QTHRESHOLD;
 	}
+#if HAVE_DECL_NFT_EXPR_LOG_LEVEL
 	if (nft_rule_expr_is_set(nle, NFT_EXPR_LOG_LEVEL)) {
 		stmt->log.level =
 			nft_rule_expr_get_u32(nle, NFT_EXPR_LOG_LEVEL);
 		stmt->log.flags |= STMT_LOG_LEVEL;
 	}
+#endif
 	list_add_tail(&stmt->list, &ctx->rule->stmts);
 }
 
diff --git a/src/netlink_linearize.c b/src/netlink_linearize.c
index c46b6d4..2b116f9 100644
--- a/src/netlink_linearize.c
+++ b/src/netlink_linearize.c
@@ -586,10 +586,12 @@ static void netlink_gen_log_stmt(struct netlink_linearize_ctx *ctx,
 			nft_rule_expr_set_u16(nle, NFT_EXPR_LOG_QTHRESHOLD,
 					      stmt->log.qthreshold);
 	} else {
+#if HAVE_DECL_NFT_EXPR_LOG_LEVEL
 		if (stmt->log.flags & STMT_LOG_LEVEL) {
 			nft_rule_expr_set_u32(nle, NFT_EXPR_LOG_LEVEL,
 					      stmt->log.level);
 		}
+#endif
 	}
 	nft_rule_add_expr(ctx->nlr, nle);
 }
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux