diff options
author | Eric Leblond <eric@regit.org> | 2013-09-16 18:27:35 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-09-17 13:10:41 +0200 |
commit | 489c678ff910d55710856d8aef11c7861d84b703 (patch) | |
tree | 893117c785a98dca9ce981db1126d3f95c64096b | |
parent | de286210a1bac154cc906255803495cf56d9520d (diff) |
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 <eric@regit.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/netlink_linearize.c | 4 |
1 files changed, 4 insertions, 0 deletions
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++; |