Commit a42b4799c683723e8c464de4026af085b2ebd5fa

Authored by Vijay Subramanian
Committed by David S. Miller
1 parent 803143fbda

netem: Fix off-by-one bug in reordering

With netem reordering, a gap of N is supposed to reorder every Nth packet with
given reorder probability.  However, the code currently skips N packets and
reorders every (N+1)th packet.

Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

net/sched/sch_netem.c
... ... @@ -419,7 +419,7 @@
419 419  
420 420 cb = netem_skb_cb(skb);
421 421 if (q->gap == 0 || /* not doing reordering */
422   - q->counter < q->gap || /* inside last reordering gap */
  422 + q->counter < q->gap - 1 || /* inside last reordering gap */
423 423 q->reorder < get_crandom(&q->reorder_cor)) {
424 424 psched_time_t now;
425 425 psched_tdiff_t delay;