mirror of
https://github.com/torvalds/linux.git
synced 2024-10-24 22:20:55 +00:00
net_sched: Default action lookup method for actions
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
76c82d7a3d
commit
63ef617465
|
@ -274,6 +274,9 @@ int tcf_register_action(struct tc_action_ops *act)
|
||||||
if (!act->act || !act->dump || !act->cleanup || !act->init)
|
if (!act->act || !act->dump || !act->cleanup || !act->init)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (!act->lookup)
|
||||||
|
act->lookup = tcf_hash_search;
|
||||||
|
|
||||||
write_lock(&act_mod_lock);
|
write_lock(&act_mod_lock);
|
||||||
for (ap = &act_base; (a = *ap) != NULL; ap = &a->next) {
|
for (ap = &act_base; (a = *ap) != NULL; ap = &a->next) {
|
||||||
if (act->type == a->type || (strcmp(act->kind, a->kind) == 0)) {
|
if (act->type == a->type || (strcmp(act->kind, a->kind) == 0)) {
|
||||||
|
@ -727,8 +730,6 @@ tcf_action_get_1(struct nlattr *nla, struct nlmsghdr *n, u32 portid)
|
||||||
a->ops = tc_lookup_action(tb[TCA_ACT_KIND]);
|
a->ops = tc_lookup_action(tb[TCA_ACT_KIND]);
|
||||||
if (a->ops == NULL)
|
if (a->ops == NULL)
|
||||||
goto err_free;
|
goto err_free;
|
||||||
if (a->ops->lookup == NULL)
|
|
||||||
goto err_mod;
|
|
||||||
err = -ENOENT;
|
err = -ENOENT;
|
||||||
if (a->ops->lookup(a, index) == 0)
|
if (a->ops->lookup(a, index) == 0)
|
||||||
goto err_mod;
|
goto err_mod;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user