| To: | Patrick McHardy <kaber@xxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] netem: account for packets in delayed queue in qlen |
| From: | Stephen Hemminger <shemminger@xxxxxxxx> |
| Date: | Thu, 21 Apr 2005 13:20:20 +1000 |
| Cc: | "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx |
| In-reply-to: | <42666098.5060409@xxxxxxxxx> |
| References: | <20050329152110.38d50653@xxxxxxxxxxxxxxxxx> <4252EB9D.9070305@xxxxxxxxx> <20050407120417.4297cd14@xxxxxxxxxxxxxxxxx> <42628300.9010007@xxxxxxxxx> <20050419110639.47767113@xxxxxxxxxxxxxxxxxxxxx> <42666098.5060409@xxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
On Wed, 20 Apr 2005 16:00:56 +0200 Patrick McHardy <kaber@xxxxxxxxx> wrote: > 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. So duplication is a no go... Unless there is a different way of accounting for qlen (like a callback). > > 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. > > Regards > Patrick |
| Previous by Date: | Re: [Openswan dev] Re: [IPSEC] COW skb header in UDP decap, Herbert Xu |
|---|---|
| Next by Date: | Re: [PATCH] netem: account for packets in delayed queue in qlen, Patrick McHardy |
| Previous by Thread: | Re: [PATCH] netem: account for packets in delayed queue in qlen, Patrick McHardy |
| Next by Thread: | Re: [PATCH] netem: account for packets in delayed queue in qlen, Patrick McHardy |
| Indexes: | [Date] [Thread] [Top] [All Lists] |