Lines Matching refs:rule

35 				  struct prestera_acl_rule *rule,  in prestera_flower_parse_goto_action()  argument
45 if (rule->re_arg.jump.valid) in prestera_flower_parse_goto_action()
53 rule->re_arg.jump.valid = 1; in prestera_flower_parse_goto_action()
54 rule->re_arg.jump.i.index = prestera_acl_ruleset_index_get(ruleset); in prestera_flower_parse_goto_action()
56 rule->jump_ruleset = ruleset; in prestera_flower_parse_goto_action()
62 struct prestera_acl_rule *rule, in prestera_flower_parse_actions() argument
82 rule->re_arg.count.valid = true; in prestera_flower_parse_actions()
84 &rule->re_arg.count.client); in prestera_flower_parse_actions()
95 if (rule->re_arg.accept.valid) in prestera_flower_parse_actions()
98 rule->re_arg.accept.valid = 1; in prestera_flower_parse_actions()
101 if (rule->re_arg.drop.valid) in prestera_flower_parse_actions()
104 rule->re_arg.drop.valid = 1; in prestera_flower_parse_actions()
107 if (rule->re_arg.trap.valid) in prestera_flower_parse_actions()
110 rule->re_arg.trap.valid = 1; in prestera_flower_parse_actions()
113 if (rule->re_arg.police.valid) in prestera_flower_parse_actions()
116 rule->re_arg.police.valid = 1; in prestera_flower_parse_actions()
117 rule->re_arg.police.rate = in prestera_flower_parse_actions()
119 rule->re_arg.police.burst = act->police.burst; in prestera_flower_parse_actions()
120 rule->re_arg.police.ingress = block->ingress; in prestera_flower_parse_actions()
123 err = prestera_flower_parse_goto_action(block, rule, in prestera_flower_parse_actions()
139 static int prestera_flower_parse_meta(struct prestera_acl_rule *rule, in prestera_flower_parse_meta() argument
144 struct prestera_acl_match *r_match = &rule->re_key.match; in prestera_flower_parse_meta()
192 struct prestera_acl_rule *rule, in prestera_flower_parse() argument
197 struct prestera_acl_match *r_match = &rule->re_key.match; in prestera_flower_parse()
219 prestera_acl_rule_priority_set(rule, f->common.prio); in prestera_flower_parse()
222 err = prestera_flower_parse_meta(rule, f, block); in prestera_flower_parse()
365 return prestera_flower_parse_actions(block, rule, &f->rule->action, in prestera_flower_parse()
418 struct prestera_acl_rule *rule; in prestera_flower_replace() local
430 rule = prestera_acl_rule_create(ruleset, f->cookie, in prestera_flower_replace()
432 if (IS_ERR(rule)) { in prestera_flower_replace()
433 err = PTR_ERR(rule); in prestera_flower_replace()
437 err = prestera_flower_parse(block, rule, f); in prestera_flower_replace()
447 err = prestera_acl_rule_add(block->sw, rule); in prestera_flower_replace()
456 prestera_acl_rule_destroy(rule); in prestera_flower_replace()
466 struct prestera_acl_rule *rule; in prestera_flower_destroy() local
473 rule = prestera_acl_rule_lookup(ruleset, f->cookie); in prestera_flower_destroy()
474 if (rule) { in prestera_flower_destroy()
475 prestera_acl_rule_del(block->sw, rule); in prestera_flower_destroy()
476 prestera_acl_rule_destroy(rule); in prestera_flower_destroy()
486 struct prestera_acl_rule rule; in prestera_flower_tmplt_create() local
489 memset(&rule, 0, sizeof(rule)); in prestera_flower_tmplt_create()
490 err = prestera_flower_parse(block, &rule, f); in prestera_flower_tmplt_create()
500 prestera_acl_rule_keymask_pcl_id_set(&rule, 0); in prestera_flower_tmplt_create()
509 err = prestera_acl_ruleset_keymask_set(ruleset, rule.re_key.match.mask); in prestera_flower_tmplt_create()
553 struct prestera_acl_rule *rule; in prestera_flower_stats() local
564 rule = prestera_acl_rule_lookup(ruleset, f->cookie); in prestera_flower_stats()
565 if (!rule) { in prestera_flower_stats()
570 err = prestera_acl_rule_get_stats(block->sw->acl, rule, &packets, in prestera_flower_stats()