Re: [PATCH] Allow to compile for < 3.17 kernel version

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

 



On Thu, Sep 25, 2014 at 03:57:04AM +0300, Vadim Kochan wrote:
> 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);
>  }
>  

I don't want to pollute the source code with many ifdef's, sorry. And
if I apply this, more similar follow up patches will come in the
future.

I'll make a patch to some recommended libnftnl version at configure
stage using PKG_CHECK_MODULES.
--
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