On 08/30/2017 11:30 PM, Cong Wang wrote: [...]
Note, we still can NOT totally get rid of those class lookup in ->enqueue() because cgroup and flow filters have no way to determine the classid at setup time, they still have to go through dynamic lookup.
[...]
--- include/net/sch_generic.h | 1 + net/sched/cls_basic.c | 9 +++++++ net/sched/cls_bpf.c | 9 +++++++
Same is for cls_bpf as well, so bind_class wouldn't work there either as we could return dynamic classids. bind_class cannot be added here, too.
net/sched/cls_flower.c | 9 +++++++ net/sched/cls_fw.c | 9 +++++++ net/sched/cls_matchall.c | 9 +++++++ net/sched/cls_route.c | 9 +++++++ net/sched/cls_rsvp.h | 9 +++++++ net/sched/cls_tcindex.c | 9 +++++++ net/sched/cls_u32.c | 9 +++++++ net/sched/sch_api.c | 68 +++++++++++++++++++++++++++++++++++++++++++++-- 11 files changed, 148 insertions(+), 2 deletions(-)