Re: [PATCH] netem: account for packets in delayed queue in qlen
From: Patrick McHardy <hidden>
Date: 2005-04-21 23:39:32
From: Patrick McHardy <hidden>
Date: 2005-04-21 23:39:32
Stephen Hemminger wrote:
I'm thinking of changing enqueue (and maybe later dequeue) API to decouple
the qlen assumption.
Either:
rc = qdisc->enqueue(skb, qdisc, &my->qlen)
or add NET_XMIT_DUPPED
rc = qdisc->enqueue(skb, qdisc);
if (rc < NET_XMIT_SUCCESS) {
++my->dropped;
} else {
my->qlen++;
if (rc == NET_XMIT_DUPPED)
my->qlen++;
}To be frank, I don't like either one. Both have the same problem wrt. HFSC, the first solution requires changes all over the place, the second one is unflexible and also requires lots of changes. I don't see what could benefit from this API change besides netem, so I'd vote to go with my proposed solution: store the parent pointers in struct Qdisc, add code to walk up the tree and adjust the qlen to netem, and fix up HFSC. Regards Patrick