diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-11-19 15:21:46 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-19 18:53:46 -0800 |
commit | 068ceb3555397dbd82593fb505688c5bd200a4ad (patch) | |
tree | a56b82702e3714be3bc65d063415f81ad76863ac | |
parent | f3d63720649413ac60f4723f117280391acd5015 (diff) | |
download | talos-obmc-linux-068ceb3555397dbd82593fb505688c5bd200a4ad.tar.gz talos-obmc-linux-068ceb3555397dbd82593fb505688c5bd200a4ad.zip |
net: sched: cls_u32: add res to offload information
In case of egress offloads the class/flowid assigned by the filter
may be very important for offloaded Qdisc selection. Provide this
info to drivers.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: John Hurley <john.hurley@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/pkt_cls.h | 1 | ||||
-rw-r--r-- | net/sched/cls_u32.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index d0e9a8091426..ea191d8cfcc9 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h @@ -643,6 +643,7 @@ struct tc_cls_common_offload { struct tc_cls_u32_knode { struct tcf_exts *exts; + struct tcf_result *res; struct tc_u32_sel *sel; u32 handle; u32 val; diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index 4b28fd44576d..4c54bc440798 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c @@ -558,6 +558,7 @@ static int u32_replace_hw_knode(struct tcf_proto *tp, struct tc_u_knode *n, cls_u32.knode.mask = 0; #endif cls_u32.knode.sel = &n->sel; + cls_u32.knode.res = &n->res; cls_u32.knode.exts = &n->exts; if (n->ht_down) cls_u32.knode.link_handle = ht->handle; @@ -1206,6 +1207,7 @@ static int u32_reoffload_knode(struct tcf_proto *tp, struct tc_u_knode *n, cls_u32.knode.mask = 0; #endif cls_u32.knode.sel = &n->sel; + cls_u32.knode.res = &n->res; cls_u32.knode.exts = &n->exts; if (n->ht_down) cls_u32.knode.link_handle = ht->handle; |