net: sched: fix tc_should_offload for specific clsact classes
authorDaniel Borkmann <daniel@iogearbox.net>
Mon, 6 Jun 2016 20:50:39 +0000 (22:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Jun 2016 23:59:53 +0000 (16:59 -0700)
commit92c075dbdeed02bdf293cb0f513bad70aa714b8d
treef15e2f03239246b5927ac2975feb7ee1e55a1ff7
parenta03e6fe569713fb3ff0714f8fd7c8785c0ca9e22
net: sched: fix tc_should_offload for specific clsact classes

When offloading classifiers such as u32 or flower to hardware, and the
qdisc is clsact (TC_H_CLSACT), then we need to differentiate its classes,
since not all of them handle ingress, therefore we must leave those in
software path. Add a .tcf_cl_offload() callback, so we can generically
handle them, tested on ixgbe.

Fixes: 10cbc6843446 ("net/sched: cls_flower: Hardware offloaded filters statistics support")
Fixes: 5b33f48842fa ("net/flower: Introduce hardware offload support")
Fixes: a1b7c5fd7fe9 ("net: sched: add cls_u32 offload hooks for netdevs")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/pkt_cls.h
include/net/sch_generic.h
net/sched/cls_flower.c
net/sched/cls_u32.c
net/sched/sch_ingress.c