diff options
Diffstat (limited to 'src/statement.c')
-rw-r--r-- | src/statement.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/statement.c b/src/statement.c index 4be66251..8e4b49e2 100644 --- a/src/statement.c +++ b/src/statement.c @@ -197,14 +197,19 @@ struct stmt *limit_stmt_alloc(const struct location *loc) static void queue_stmt_print(const struct stmt *stmt) { - printf("queue num %u", - stmt->queue.from); - if (stmt->queue.to && stmt->queue.to != stmt->queue.from) - printf("-%u", stmt->queue.to); - if (stmt->queue.flags & NFT_QUEUE_FLAG_BYPASS) - printf(" bypass"); + const char *delim = " "; + + printf("queue"); + if (stmt->queue.queue != NULL) { + printf(" num "); + expr_print(stmt->queue.queue); + } + if (stmt->queue.flags & NFT_QUEUE_FLAG_BYPASS) { + printf("%sbypass", delim); + delim = ","; + } if (stmt->queue.flags & NFT_QUEUE_FLAG_CPU_FANOUT) - printf(" fanout"); + printf("%sfanout", delim); } |