From 489c678ff910d55710856d8aef11c7861d84b703 Mon Sep 17 00:00:00 2001 From: Eric Leblond Date: Mon, 16 Sep 2013 18:27:35 +0200 Subject: nat: add mandatory family attribute NFT_EXPR_NAT_FAMILY is a mandatory attribute for NAT rules and it was not set by nftables. Signed-off-by: Eric Leblond Signed-off-by: Pablo Neira Ayuso --- src/netlink_linearize.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/netlink_linearize.c b/src/netlink_linearize.c index 427fdb67..72c59e56 100644 --- a/src/netlink_linearize.c +++ b/src/netlink_linearize.c @@ -572,10 +572,14 @@ static void netlink_gen_nat_stmt(struct netlink_linearize_ctx *ctx, enum nft_registers amin_reg, amax_reg; enum nft_registers pmin_reg, pmax_reg; int registers = 0; + int family; nle = alloc_nft_expr("nat"); nft_rule_expr_set_u32(nle, NFT_EXPR_NAT_TYPE, stmt->nat.type); + family = nft_rule_attr_get_u32(ctx->nlr, NFT_RULE_ATTR_FAMILY); + nft_rule_expr_set_u32(nle, NFT_EXPR_NAT_FAMILY, family); + if (stmt->nat.addr) { amin_reg = get_register(ctx); registers++; -- cgit v1.2.3