diff options
Diffstat (limited to 'src/netlink_linearize.c')
-rw-r--r-- | src/netlink_linearize.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/netlink_linearize.c b/src/netlink_linearize.c index c46b6d47..29f8e9ae 100644 --- a/src/netlink_linearize.c +++ b/src/netlink_linearize.c @@ -612,7 +612,10 @@ static void netlink_gen_reject_stmt(struct netlink_linearize_ctx *ctx, nle = alloc_nft_expr("reject"); nft_rule_expr_set_u32(nle, NFT_EXPR_REJECT_TYPE, stmt->reject.type); - nft_rule_expr_set_u8(nle, NFT_EXPR_REJECT_CODE, 0); + if (stmt->reject.icmp_code != -1) + nft_rule_expr_set_u8(nle, NFT_EXPR_REJECT_CODE, + stmt->reject.icmp_code); + nft_rule_add_expr(ctx->nlr, nle); } |