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>
This commit is contained in:
Zhengchao Shao 2022-09-27 20:48:54 +08:00 committed by David S. Miller
parent 4e6263ec8b
commit 402963e34a
1 changed files with 12 additions and 0 deletions

View File

@ -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) */