aboutsummaryrefslogtreecommitdiff
path: root/sys/netpfil/ipfw/dn_aqm_pie.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netpfil/ipfw/dn_aqm_pie.c')
-rw-r--r--sys/netpfil/ipfw/dn_aqm_pie.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/sys/netpfil/ipfw/dn_aqm_pie.c b/sys/netpfil/ipfw/dn_aqm_pie.c
index eedbb519b339..c4b9401d0e0a 100644
--- a/sys/netpfil/ipfw/dn_aqm_pie.c
+++ b/sys/netpfil/ipfw/dn_aqm_pie.c
@@ -244,20 +244,20 @@ calculate_drop_prob(void *x)
p *= (PIE_MAX_PROB << 12) / AQM_TIME_1S;
/* auto-tune drop probability */
- if (prob < (int64_t)(PIE_MAX_PROB * 0.000001))
- p >>= 11 + PIE_FIX_POINT_BITS+12;
- else if (prob < (int64_t)(PIE_MAX_PROB * 0.00001))
- p >>= 9 + PIE_FIX_POINT_BITS+12;
- else if (prob < (int64_t)(PIE_MAX_PROB * 0.0001))
- p >>= 7 + PIE_FIX_POINT_BITS+12;
- else if (prob < (int64_t)(PIE_MAX_PROB * 0.001))
- p >>= 5 + PIE_FIX_POINT_BITS+12;
- else if (prob < (int64_t)(PIE_MAX_PROB * 0.01))
- p >>= 3 + PIE_FIX_POINT_BITS+12;
- else if (prob < (int64_t)(PIE_MAX_PROB * 0.1))
- p >>= 1 + PIE_FIX_POINT_BITS+12;
+ if (prob < (PIE_MAX_PROB / 1000000)) /* 0.000001 */
+ p >>= 11 + PIE_FIX_POINT_BITS + 12;
+ else if (prob < (PIE_MAX_PROB / 100000)) /* 0.00001 */
+ p >>= 9 + PIE_FIX_POINT_BITS + 12;
+ else if (prob < (PIE_MAX_PROB / 10000)) /* 0.0001 */
+ p >>= 7 + PIE_FIX_POINT_BITS + 12;
+ else if (prob < (PIE_MAX_PROB / 1000)) /* 0.001 */
+ p >>= 5 + PIE_FIX_POINT_BITS + 12;
+ else if (prob < (PIE_MAX_PROB / 100)) /* 0.01 */
+ p >>= 3 + PIE_FIX_POINT_BITS + 12;
+ else if (prob < (PIE_MAX_PROB / 10)) /* 0.1 */
+ p >>= 1 + PIE_FIX_POINT_BITS + 12;
else
- p >>= PIE_FIX_POINT_BITS+12;
+ p >>= PIE_FIX_POINT_BITS + 12;
oldprob = prob;