On Thu, Sep 15, 2022 at 02:30:30PM +0800, Zhengchao Shao wrote: > The walk implementation of most tc cls modules is basically the same. > That is, the values of count and skip are checked first. If count is > greater than or equal to skip, the registered fn function is executed. > Otherwise, increase the value of count. So we can reconstruct them. > > Signed-off-by: Zhengchao Shao <shaozhengchao@xxxxxxxxxx> > Reviewed-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> > --- > include/net/pkt_cls.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h > index d9d90e6925e1..d3cbbabf7592 100644 > --- a/include/net/pkt_cls.h > +++ b/include/net/pkt_cls.h > @@ -81,6 +81,19 @@ int tcf_classify(struct sk_buff *skb, > const struct tcf_proto *tp, struct tcf_result *res, > bool compat_mode); > > +static inline bool tc_cls_stats_update(struct tcf_proto *tp, This function name is confusing, I don't think it updates anything, probably we only dump stats when calling ->walk(). Please use a better name here, like tc_cls_stats_dump(). Thanks.