Lines Matching defs:kind

108 static const struct tcf_proto_ops *__tcf_proto_lookup_ops(const char *kind)
112 if (kind) {
115 if (strcmp(kind, t->kind) == 0) {
127 tcf_proto_lookup_ops(const char *kind, bool rtnl_held,
132 ops = __tcf_proto_lookup_ops(kind);
138 request_module("cls_%s", kind);
141 ops = __tcf_proto_lookup_ops(kind);
165 if (!strcmp(ops->kind, t->kind))
221 static bool tcf_proto_check_kind(struct nlattr *kind, char *name)
223 if (kind)
224 return nla_strlcpy(name, kind, IFNAMSIZ) >= IFNAMSIZ;
229 static bool tcf_proto_is_unlocked(const char *kind)
234 if (strlen(kind) == 0)
237 ops = tcf_proto_lookup_ops(kind, false, NULL);
249 static struct tcf_proto *tcf_proto_create(const char *kind, u32 protocol,
261 tp->ops = tcf_proto_lookup_ops(kind, rtnl_held, extack);
1824 if (nla_put_string(skb, TCA_KIND, tp->ops->kind))
2072 NL_SET_ERR_MSG(extack, "Filter kind and protocol must be specified");
2106 if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
2107 NL_SET_ERR_MSG(extack, "Specified filter kind does not match existing one");
2129 NL_SET_ERR_MSG(extack, "Chain template is set to a different filter kind");
2211 NL_SET_ERR_MSG(extack, "Cannot flush filters with protocol, handle or kind set");
2283 } else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
2284 NL_SET_ERR_MSG(extack, "Specified filter kind does not match existing one");
2425 } else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
2426 NL_SET_ERR_MSG(extack, "Specified filter kind does not match existing one");
2684 if (nla_put_string(skb, TCA_KIND, ops->kind))
2763 /* If kind is not set, user did not specify template. */