Mon, Jun 25, 2018 at 06:34:27AM CEST, jakub.kicin...@netronome.com wrote: >From: John Hurley <john.hur...@netronome.com> > >Add the reoffload tcf_proto_op in flower to generate an offload message >for each filter in the given tcf_proto. Call the specified callback with >this new offload message. The function only returns an error if the >callback rejects adding a 'hardware only' rule. > >A filter contains a flag to indicate if it is in hardware or not. To >ensure the reoffload function properly maintains this flag, keep a >reference counter for the number of instances of the filter that are in >hardware. Only update the flag when this counter changes from or to 0. Add >a generic helper function to implement this behaviour. > >Signed-off-by: John Hurley <john.hur...@netronome.com> >Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com> >--- > include/net/sch_generic.h | 15 +++++++++++++ > net/sched/cls_flower.c | 44 +++++++++++++++++++++++++++++++++++++++ > 2 files changed, 59 insertions(+) > >diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h >index 88ed64f60056..c0bd11a928ed 100644 >--- a/include/net/sch_generic.h >+++ b/include/net/sch_generic.h >@@ -336,6 +336,21 @@ static inline void tcf_block_offload_dec(struct tcf_block >*block, u32 *flags) > block->offloadcnt--; > } > >+static inline void >+tc_cls_offload_cnt_update(struct tcf_block *block, u32 *cnt, u32 *flags,
Why u32? This is not uapi or hw facing. Just use "unsigned int". [...]