From: Patrick McHardy Date: Mon, 18 Aug 2014 23:35:36 +0000 (+0100) Subject: verdict type: handle verdict flags and encoded additional information X-Git-Tag: v0.4~108 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17ab8231cf9ff2a64c186a8104138688291c0760;p=thirdparty%2Fnftables.git verdict type: handle verdict flags and encoded additional information The kernel can handle this, nftables should also. Signed-off-by: Patrick McHardy --- 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); + } } }