diff options
Diffstat (limited to 'src/netlink_linearize.c')
-rw-r--r-- | src/netlink_linearize.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/netlink_linearize.c b/src/netlink_linearize.c index 19153fd7..8db333cc 100644 --- a/src/netlink_linearize.c +++ b/src/netlink_linearize.c @@ -683,15 +683,17 @@ static void netlink_gen_queue_stmt(struct netlink_linearize_ctx *ctx, const struct stmt *stmt) { struct nft_rule_expr *nle; + uint16_t total_queues; nle = alloc_nft_expr("queue"); nft_rule_expr_set_u16(nle, NFT_EXPR_QUEUE_NUM, - stmt->queue.queuenum); - if (stmt->queue.queues_total) { - nft_rule_expr_set_u16(nle, NFT_EXPR_QUEUE_TOTAL, - stmt->queue.queues_total); - } + stmt->queue.from); + + total_queues = stmt->queue.to - stmt->queue.from; + nft_rule_expr_set_u16(nle, NFT_EXPR_QUEUE_TOTAL, + total_queues + 1); + if (stmt->queue.flags) { nft_rule_expr_set_u16(nle, NFT_EXPR_QUEUE_FLAGS, stmt->queue.flags); |