Lines Matching refs:binding

132 	struct mlxsw_sp_acl_block_binding *binding;  in mlxsw_sp_acl_block_is_egress_bound()  local
134 list_for_each_entry(binding, &block->binding_list, list) { in mlxsw_sp_acl_block_is_egress_bound()
135 if (!binding->ingress) in mlxsw_sp_acl_block_is_egress_bound()
151 struct mlxsw_sp_acl_block_binding *binding) in mlxsw_sp_acl_ruleset_bind() argument
157 binding->mlxsw_sp_port, binding->ingress); in mlxsw_sp_acl_ruleset_bind()
163 struct mlxsw_sp_acl_block_binding *binding) in mlxsw_sp_acl_ruleset_unbind() argument
169 binding->mlxsw_sp_port, binding->ingress); in mlxsw_sp_acl_ruleset_unbind()
182 struct mlxsw_sp_acl_block_binding *binding; in mlxsw_sp_acl_ruleset_block_bind() local
186 list_for_each_entry(binding, &block->binding_list, list) { in mlxsw_sp_acl_ruleset_block_bind()
187 err = mlxsw_sp_acl_ruleset_bind(mlxsw_sp, block, binding); in mlxsw_sp_acl_ruleset_block_bind()
194 list_for_each_entry_continue_reverse(binding, &block->binding_list, in mlxsw_sp_acl_ruleset_block_bind()
196 mlxsw_sp_acl_ruleset_unbind(mlxsw_sp, block, binding); in mlxsw_sp_acl_ruleset_block_bind()
207 struct mlxsw_sp_acl_block_binding *binding; in mlxsw_sp_acl_ruleset_block_unbind() local
209 list_for_each_entry(binding, &block->binding_list, list) in mlxsw_sp_acl_ruleset_block_unbind()
210 mlxsw_sp_acl_ruleset_unbind(mlxsw_sp, block, binding); in mlxsw_sp_acl_ruleset_block_unbind()
237 struct mlxsw_sp_acl_block_binding *binding; in mlxsw_sp_acl_block_lookup() local
239 list_for_each_entry(binding, &block->binding_list, list) in mlxsw_sp_acl_block_lookup()
240 if (binding->mlxsw_sp_port == mlxsw_sp_port && in mlxsw_sp_acl_block_lookup()
241 binding->ingress == ingress) in mlxsw_sp_acl_block_lookup()
242 return binding; in mlxsw_sp_acl_block_lookup()
251 struct mlxsw_sp_acl_block_binding *binding; in mlxsw_sp_acl_block_bind() local
257 binding = kzalloc(sizeof(*binding), GFP_KERNEL); in mlxsw_sp_acl_block_bind()
258 if (!binding) in mlxsw_sp_acl_block_bind()
260 binding->mlxsw_sp_port = mlxsw_sp_port; in mlxsw_sp_acl_block_bind()
261 binding->ingress = ingress; in mlxsw_sp_acl_block_bind()
264 err = mlxsw_sp_acl_ruleset_bind(mlxsw_sp, block, binding); in mlxsw_sp_acl_block_bind()
269 list_add(&binding->list, &block->binding_list); in mlxsw_sp_acl_block_bind()
273 kfree(binding); in mlxsw_sp_acl_block_bind()
282 struct mlxsw_sp_acl_block_binding *binding; in mlxsw_sp_acl_block_unbind() local
284 binding = mlxsw_sp_acl_block_lookup(block, mlxsw_sp_port, ingress); in mlxsw_sp_acl_block_unbind()
285 if (!binding) in mlxsw_sp_acl_block_unbind()
288 list_del(&binding->list); in mlxsw_sp_acl_block_unbind()
291 mlxsw_sp_acl_ruleset_unbind(mlxsw_sp, block, binding); in mlxsw_sp_acl_block_unbind()
293 kfree(binding); in mlxsw_sp_acl_block_unbind()
557 struct mlxsw_sp_acl_block_binding *binding; in mlxsw_sp_acl_rulei_act_mirror() local
564 binding = list_first_entry(&block->binding_list, in mlxsw_sp_acl_rulei_act_mirror()
566 in_port = binding->mlxsw_sp_port; in mlxsw_sp_acl_rulei_act_mirror()
571 binding->ingress, in mlxsw_sp_acl_rulei_act_mirror()