Cong Wang <xiyou.wangc...@gmail.com> writes: > On Wed, May 16, 2018 at 1:29 PM, Toke Høiland-Jørgensen <t...@toke.dk> wrote: >> + >> +static struct Qdisc *cake_leaf(struct Qdisc *sch, unsigned long arg) >> +{ >> + return NULL; >> +} >> + >> +static unsigned long cake_find(struct Qdisc *sch, u32 classid) >> +{ >> + return 0; >> +} >> + >> +static void cake_walk(struct Qdisc *sch, struct qdisc_walker *arg) >> +{ >> +} > > > Thanks for adding the support to other TC filters, it is much better > now!
You're welcome. Turned out not to be that hard :) > A quick question: why class_ops->dump_stats is still NULL? > > It is supposed to dump the stats of each flow. Is there still any > difficulty to map it to tc class? I thought you figured it out when > you added the tcf_classify(). On the classify side, I solved the "multiple sets of queues" problem by using skb->priority to select the tin (diffserv tier) and the classifier output to select the queue within that tin. This would not work for dumping stats; some other way of mapping queues to the linear class space would be needed. And since we are not actually collecting any per-flow stats that I could print, I thought it wasn't worth coming up with a half-baked proposal for this just to add an API hook that no one in the existing CAKE user base has ever asked for... -Toke