mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 14:41:27 +00:00
net: sched: consolidate tc_classify{,_compat}
For classifiers getting invoked via tc_classify(), we always need an extra function call into tc_classify_compat(), as both are being exported as symbols and tc_classify() itself doesn't do much except handling of reclassifications when tp->classify() returned with TC_ACT_RECLASSIFY. CBQ and ATM are the only qdiscs that directly call into tc_classify_compat(), all others use tc_classify(). When tc actions are being configured out in the kernel, tc_classify() effectively does nothing besides delegating. We could spare this layer and consolidate both functions. pktgen on single CPU constantly pushing skbs directly into the netif_receive_skb() path with a dummy classifier on ingress qdisc attached, improves slightly from 22.3Mpps to 23.1Mpps. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@plumgrid.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fe2188236a
commit
3b3ae88026
16 changed files with 40 additions and 47 deletions
|
@ -110,10 +110,8 @@ static inline void qdisc_run(struct Qdisc *q)
|
|||
__qdisc_run(q);
|
||||
}
|
||||
|
||||
int tc_classify_compat(struct sk_buff *skb, const struct tcf_proto *tp,
|
||||
struct tcf_result *res);
|
||||
int tc_classify(struct sk_buff *skb, const struct tcf_proto *tp,
|
||||
struct tcf_result *res);
|
||||
struct tcf_result *res, bool compat_mode);
|
||||
|
||||
static inline __be16 tc_skb_protocol(const struct sk_buff *skb)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue