diff options
author | Zhengchao Shao <shaozhengchao@huawei.com> | 2022-09-27 15:48:54 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-10-02 18:07:17 +0300 |
commit | 402963e34a707e4a8f1854ed86437bc375d65766 (patch) | |
tree | 3f4bd5827e667da6cadc8af8270d0c0313553971 /include/net/pkt_cls.h | |
parent | 4e6263ec8bc965f0bd1c24bb40694a38e382e7a9 (diff) | |
download | linux-402963e34a707e4a8f1854ed86437bc375d65766.tar.xz |
net: sched: cls_api: introduce tc_cls_bind_class() helper
All the bind_class callback duplicate the same logic, this patch
introduces tc_cls_bind_class() helper for common usage.
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/pkt_cls.h')
-rw-r--r-- | include/net/pkt_cls.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index d376c995d906..4cabb32a2ad9 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h @@ -210,6 +210,18 @@ tcf_unbind_filter(struct tcf_proto *tp, struct tcf_result *r) __tcf_unbind_filter(q, r); } +static inline void tc_cls_bind_class(u32 classid, unsigned long cl, + void *q, struct tcf_result *res, + unsigned long base) +{ + if (res->classid == classid) { + if (cl) + __tcf_bind_filter(q, res, base); + else + __tcf_unbind_filter(q, res); + } +} + struct tcf_exts { #ifdef CONFIG_NET_CLS_ACT __u32 type; /* for backward compat(TCA_OLD_COMPAT) */ |