From 17ab8231cf9ff2a64c186a8104138688291c0760 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Tue, 19 Aug 2014 00:35:36 +0100 Subject: verdict type: handle verdict flags and encoded additional information The kernel can handle this, nftables should also. Signed-off-by: Patrick McHardy --- src/datatype.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/datatype.c') diff --git a/src/datatype.c b/src/datatype.c index 36d59859..fdfee54a 100644 --- a/src/datatype.c +++ b/src/datatype.c @@ -176,15 +176,6 @@ const struct datatype invalid_type = { static void verdict_type_print(const struct expr *expr) { switch (expr->verdict) { - case NF_ACCEPT: - printf("accept"); - break; - case NF_DROP: - printf("drop"); - break; - case NF_QUEUE: - printf("queue"); - break; case NFT_CONTINUE: printf("continue"); break; @@ -201,7 +192,19 @@ static void verdict_type_print(const struct expr *expr) printf("return"); break; default: - BUG("invalid verdict value %u\n", expr->verdict); + switch (expr->verdict & NF_VERDICT_MASK) { + case NF_ACCEPT: + printf("accept"); + break; + case NF_DROP: + printf("drop"); + break; + case NF_QUEUE: + printf("queue"); + break; + default: + BUG("invalid verdict value %u\n", expr->verdict); + } } } -- cgit v1.2.3