diff options
Diffstat (limited to 'extensions/libxt_statistic.c')
-rw-r--r-- | extensions/libxt_statistic.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/extensions/libxt_statistic.c b/extensions/libxt_statistic.c index b4171b11..bce83fa9 100644 --- a/extensions/libxt_statistic.c +++ b/extensions/libxt_statistic.c @@ -15,9 +15,9 @@ static void statistic_help(void) "statistic match options:\n" " --mode mode Match mode (random, nth)\n" " random mode:\n" -" --probability p Probability\n" +"[!] --probability p Probability\n" " nth mode:\n" -" --every n Match every nth packet\n" +"[!] --every n Match every nth packet\n" " --packet p Initial counter value (0 <= p <= n-1, default 0)\n"); } @@ -125,16 +125,17 @@ static void statistic_check(unsigned int flags) static void print_match(const struct xt_statistic_info *info, char *prefix) { - if (info->flags & XT_STATISTIC_INVERT) - printf(" !"); - switch (info->mode) { case XT_STATISTIC_MODE_RANDOM: - printf( "%smode random %sprobability %f", prefix, prefix, + printf(" %smode random%s %sprobability %f", prefix, + (info->flags & XT_STATISTIC_INVERT) ? " !" : "", + prefix, 1.0 * info->u.random.probability / 0x80000000); break; case XT_STATISTIC_MODE_NTH: - printf(" %smode nth %severy %u", prefix, prefix, + printf(" %smode nth%s %severy %u", prefix, + (info->flags & XT_STATISTIC_INVERT) ? " !" : "", + prefix, info->u.nth.every + 1); if (info->u.nth.packet) printf(" %spacket %u", prefix, info->u.nth.packet); |