From: Eric Leblond Date: Mon, 16 Sep 2013 16:27:35 +0000 (+0200) Subject: nat: add mandatory family attribute X-Git-Tag: v0.099~74 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=489c678ff910d55710856d8aef11c7861d84b703;p=thirdparty%2Fnftables.git 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 --- 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++;