diff options
author | stephen hemminger <stephen@networkplumber.org> | 2013-11-29 11:03:35 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-11-30 12:49:28 -0500 |
commit | ab6c27be8178a4682446faa5aa017b948997937f (patch) | |
tree | 2159be97daea3dc8980376ff13dc7b90c140ca4e | |
parent | 7c2781fa92f5b9ca3188817a56a2ced0400355f3 (diff) |
netem: fix loss 4 state model
Patch from developers of the alternative loss models, downloaded from:
http://netgroup.uniroma2.it/twiki/bin/view.cgi/Main/NetemCLG
"In the case 1 of the switch statement in the if conditions we
need to add clg->a4 to clg->a1, according to the model."
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/sched/sch_netem.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 6e91323f3dac..9685624f7bc7 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c @@ -215,10 +215,10 @@ static bool loss_4state(struct netem_sched_data *q) if (rnd < clg->a4) { clg->state = 4; return true; - } else if (clg->a4 < rnd && rnd < clg->a1) { + } else if (clg->a4 < rnd && rnd < clg->a1 + clg->a4) { clg->state = 3; return true; - } else if (clg->a1 < rnd) + } else if (clg->a1 + clg->a4 < rnd) clg->state = 1; break; |