[Top] [All Lists]

Re: [PATCH] netem: account for packets in delayed queue in qlen

To: Stephen Hemminger <shemminger@xxxxxxxx>
Subject: Re: [PATCH] netem: account for packets in delayed queue in qlen
From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed, 20 Apr 2005 16:00:56 +0200
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <20050419110639.47767113@xxxxxxxxxxxxxxxxxxxxx>
References: <20050329152110.38d50653@xxxxxxxxxxxxxxxxx> <4252EB9D.9070305@xxxxxxxxx> <20050407120417.4297cd14@xxxxxxxxxxxxxxxxx> <42628300.9010007@xxxxxxxxx> <20050419110639.47767113@xxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/20050324 Debian/1.7.6-1
Stephen Hemminger wrote:
There may be no sane way to do duplication without that.

This way doesn't work properly either. The classful qdiscs don't care
about their own q.qlen and just try to dequeue, if successful they
decrement q.qlen. When duplicating packets in an inner qdisc the
top-level qdisc's q.qlen will turn negative at some point (it's
unsigned, but returned as int from qdisc_restart) and will cause
qdisc_run() to spin forever.

Other ways like injecting
packets again at top of queue with a thread/tasklet seem rather gross

Injecting at the top is also problematic because it needs to
follow the same classification-path as the first packet, which
can only be guarenteed with stateless classification.


<Prev in Thread] Current Thread [Next in Thread>