[PATCH ] netem: Fix off-by-one bug in reordering

Subsystems: netem network emulator, networking [general], tc subsystem, the rest

STALE5342d

2 messages, 2 authors, 2012-01-22 · open the first message on its own page

[PATCH ] netem: Fix off-by-one bug in reordering

From: Vijay Subramanian <hidden>
Date: 2012-01-19 20:16:36

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 <redacted>
---
 net/sched/sch_netem.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index e7e1d0b..2776012 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -419,7 +419,7 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 
 	cb = netem_skb_cb(skb);
 	if (q->gap == 0 ||		/* not doing reordering */
-	    q->counter < q->gap ||	/* inside last reordering gap */
+	    q->counter < q->gap - 1 ||	/* inside last reordering gap */
 	    q->reorder < get_crandom(&q->reorder_cor)) {
 		psched_time_t now;
 		psched_tdiff_t delay;
-- 
1.7.0.4

Re: [PATCH ] netem: Fix off-by-one bug in reordering

From: David Miller <davem@davemloft.net>
Date: 2012-01-22 19:23:42

From: Vijay Subramanian <redacted>
Date: Thu, 19 Jan 2012 12:20:59 -0800
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 <redacted>
Applied.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help