Instead make sure it is mentioned in help output. Signed-off-by: Phil Sutter <phil@xxxxxx> --- extensions/libxt_NFQUEUE.c | 27 +++++++++++++++------------ extensions/libxt_NFQUEUE.t | 4 ++-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/extensions/libxt_NFQUEUE.c b/extensions/libxt_NFQUEUE.c index fe5190789e306..9de417ae633ca 100644 --- a/extensions/libxt_NFQUEUE.c +++ b/extensions/libxt_NFQUEUE.c @@ -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) diff --git a/extensions/libxt_NFQUEUE.t b/extensions/libxt_NFQUEUE.t index b51b19fd435f7..de816247ef024 100644 --- a/extensions/libxt_NFQUEUE.t +++ b/extensions/libxt_NFQUEUE.t @@ -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 -- 2.34.1