Lines Matching refs:block
14 static int prestera_mall_prio_check(struct prestera_flow_block *block,
21 err = prestera_flower_prio_get(block, f->common.chain_index,
32 if (f->common.prio <= flower_prio_max && !block->ingress) {
36 if (f->common.prio >= flower_prio_min && block->ingress) {
44 int prestera_mall_prio_get(struct prestera_flow_block *block,
47 if (!block->mall.bound)
50 *prio_min = block->mall.prio_min;
51 *prio_max = block->mall.prio_max;
55 static void prestera_mall_prio_update(struct prestera_flow_block *block,
58 block->mall.prio_min = min(block->mall.prio_min, f->common.prio);
59 block->mall.prio_max = max(block->mall.prio_max, f->common.prio);
62 int prestera_mall_replace(struct prestera_flow_block *block,
91 err = prestera_mall_prio_check(block, f);
97 list_for_each_entry(binding, &block->binding_list, list) {
98 err = prestera_span_rule_add(binding, port, block->ingress);
105 prestera_mall_prio_update(block, f);
107 block->mall.bound = true;
112 &block->binding_list, list)
113 prestera_span_rule_del(binding, block->ingress);
117 void prestera_mall_destroy(struct prestera_flow_block *block)
121 list_for_each_entry(binding, &block->binding_list, list)
122 prestera_span_rule_del(binding, block->ingress);
124 block->mall.prio_min = UINT_MAX;
125 block->mall.prio_max = 0;
126 block->mall.bound = false;