@@ -24,7 +24,7 @@ static void NFQUEUE_help(void)
printf(
"NFQUEUE target options\n"
" --queue-num value Send packet to QUEUE number <value>.\n"
-" Valid queue numbers are 0-65535\n"
+" Valid queue numbers are 0-65535 (default 0)\n"
);
}
@@ -33,7 +33,7 @@ static void NFQUEUE_help_v1(void)
printf(
"NFQUEUE target options\n"
" --queue-num value Send packet to QUEUE number <value>.\n"
-" Valid queue numbers are 0-65535\n"
+" Valid queue numbers are 0-65535 (default 0)\n"
" --queue-balance first:last Balance flows between queues <value> to <value>.\n");
}
@@ -42,7 +42,7 @@ static void NFQUEUE_help_v2(void)
printf(
"NFQUEUE target options\n"
" --queue-num value Send packet to QUEUE number <value>.\n"
-" Valid queue numbers are 0-65535\n"
+" Valid queue numbers are 0-65535 (default 0)\n"
" --queue-balance first:last Balance flows between queues <value> to <value>.\n"
" --queue-bypass Bypass Queueing if no queue instance exists.\n"
" --queue-cpu-fanout Use current CPU (no hashing)\n");
@@ -53,7 +53,7 @@ static void NFQUEUE_help_v3(void)
printf(
"NFQUEUE target options\n"
" --queue-num value Send packet to QUEUE number <value>.\n"
-" Valid queue numbers are 0-65535\n"
+" Valid queue numbers are 0-65535 (default 0)\n"
" --queue-balance first:last Balance flows between queues <value> to <value>.\n"
" --queue-bypass Bypass Queueing if no queue instance exists.\n"
" --queue-cpu-fanout Use current CPU (no hashing)\n");
@@ -157,7 +157,9 @@ static void NFQUEUE_print(const void *ip,
{
const struct xt_NFQ_info *tinfo =
(const struct xt_NFQ_info *)target->data;
- printf(" NFQUEUE num %u", tinfo->queuenum);
+
+ if (tinfo->queuenum)
+ printf(" NFQUEUE num %u", tinfo->queuenum);
}
static void NFQUEUE_print_v1(const void *ip,
@@ -169,7 +171,7 @@ static void NFQUEUE_print_v1(const void *ip,
if (last > 1) {
last += tinfo->queuenum - 1;
printf(" NFQUEUE balance %u:%u", tinfo->queuenum, last);
- } else {
+ } else if (tinfo->queuenum) {
printf(" NFQUEUE num %u", tinfo->queuenum);
}
}
@@ -183,7 +185,7 @@ static void NFQUEUE_print_v2(const void *ip,
if (last > 1) {
last += info->queuenum - 1;
printf(" NFQUEUE balance %u:%u", info->queuenum, last);
- } else
+ } else if (info->queuenum)
printf(" NFQUEUE num %u", info->queuenum);
if (info->bypass & NFQ_FLAG_BYPASS)
@@ -199,7 +201,7 @@ static void NFQUEUE_print_v3(const void *ip,
if (last > 1) {
last += info->queuenum - 1;
printf(" NFQUEUE balance %u:%u", info->queuenum, last);
- } else
+ } else if (info->queuenum)
printf(" NFQUEUE num %u", info->queuenum);
if (info->flags & NFQ_FLAG_BYPASS)
@@ -214,7 +216,8 @@ static void NFQUEUE_save(const void *ip, const struct xt_entry_target *target)
const struct xt_NFQ_info *tinfo =
(const struct xt_NFQ_info *)target->data;
- printf(" --queue-num %u", tinfo->queuenum);
+ if (tinfo->queuenum)
+ printf(" --queue-num %u", tinfo->queuenum);
}
static void NFQUEUE_save_v1(const void *ip, const struct xt_entry_target *target)
@@ -225,7 +228,7 @@ static void NFQUEUE_save_v1(const void *ip, const struct xt_entry_target *target
if (last > 1) {
last += tinfo->queuenum - 1;
printf(" --queue-balance %u:%u", tinfo->queuenum, last);
- } else {
+ } else if (tinfo->queuenum) {
printf(" --queue-num %u", tinfo->queuenum);
}
}
@@ -238,7 +241,7 @@ static void NFQUEUE_save_v2(const void *ip, const struct xt_entry_target *target
if (last > 1) {
last += info->queuenum - 1;
printf(" --queue-balance %u:%u", info->queuenum, last);
- } else
+ } else if (info->queuenum)
printf(" --queue-num %u", info->queuenum);
if (info->bypass & NFQ_FLAG_BYPASS)
@@ -254,7 +257,7 @@ static void NFQUEUE_save_v3(const void *ip,
if (last > 1) {
last += info->queuenum - 1;
printf(" --queue-balance %u:%u", info->queuenum, last);
- } else
+ } else if (info->queuenum)
printf(" --queue-num %u", info->queuenum);
if (info->flags & NFQ_FLAG_BYPASS)
@@ -1,6 +1,6 @@
:INPUT,FORWARD,OUTPUT
-j NFQUEUE;=;OK
--j NFQUEUE --queue-num 0;=;OK
+-j NFQUEUE --queue-num 0;-j NFQUEUE;OK
-j NFQUEUE --queue-num 65535;=;OK
-j NFQUEUE --queue-num 65536;;FAIL
-j NFQUEUE --queue-num -1;;FAIL
@@ -13,4 +13,4 @@
-j NFQUEUE --queue-balance 0:6 --queue-cpu-fanout --queue-bypass;-j NFQUEUE --queue-balance 0:6 --queue-bypass --queue-cpu-fanout;OK
-j NFQUEUE --queue-bypass --queue-balance 0:6 --queue-cpu-fanout;-j NFQUEUE --queue-balance 0:6 --queue-bypass --queue-cpu-fanout;OK
-j NFQUEUE --queue-balance 0:6 --queue-bypass;=;OK
--j NFQUEUE --queue-bypass;-j NFQUEUE --queue-num 0 --queue-bypass;OK
+-j NFQUEUE --queue-bypass;=;OK
Instead make sure it is mentioned in help output. Signed-off-by: Phil Sutter <phil@nwl.cc> --- extensions/libxt_NFQUEUE.c | 27 +++++++++++++++------------ extensions/libxt_NFQUEUE.t | 4 ++-- 2 files changed, 17 insertions(+), 14 deletions(-)