From: Andrea Bittau <[EMAIL PROTECTED]>

If two packets were queued to be sent at the same time in the future, their
order would be reversed.  This would occur because the queue is traversed back
to front, and a position is found by checking whether the new packet needs to be
sent before the packet being examined.  If the new packet is to be sent at the
same time of a previous packet, it would end up before the old packet in the
queue.  This patch places packets in the correct order when they are queued to
be sent at a same time in the future.

Signed-off-by: Andrea Bittau <[EMAIL PROTECTED]>

---


diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index cdc8d28..82fb07a 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -464,7 +464,7 @@ static int tfifo_enqueue(struct sk_buff 
                        const struct netem_skb_cb *cb
                                = (const struct netem_skb_cb *)skb->cb;
 
-                       if (PSCHED_TLESS(cb->time_to_send, ncb->time_to_send))
+                       if (!PSCHED_TLESS(ncb->time_to_send, cb->time_to_send))
                                break;
                }
 
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to