summaryrefslogtreecommitdiffstats
path: root/src/statement.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/statement.c')
-rw-r--r--src/statement.c19
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);
}