Lines Matching full:binding
37 struct mlxsw_sp_flow_block_binding *binding; in mlxsw_sp_flow_block_lookup() local
39 list_for_each_entry(binding, &block->binding_list, list) in mlxsw_sp_flow_block_lookup()
40 if (binding->mlxsw_sp_port == mlxsw_sp_port && in mlxsw_sp_flow_block_lookup()
41 binding->ingress == ingress) in mlxsw_sp_flow_block_lookup()
42 return binding; in mlxsw_sp_flow_block_lookup()
58 struct mlxsw_sp_flow_block_binding *binding; in mlxsw_sp_flow_block_bind() local
78 binding = kzalloc(sizeof(*binding), GFP_KERNEL); in mlxsw_sp_flow_block_bind()
79 if (!binding) { in mlxsw_sp_flow_block_bind()
83 binding->mlxsw_sp_port = mlxsw_sp_port; in mlxsw_sp_flow_block_bind()
84 binding->ingress = ingress; in mlxsw_sp_flow_block_bind()
87 err = mlxsw_sp_acl_ruleset_bind(mlxsw_sp, block, binding); in mlxsw_sp_flow_block_bind()
96 list_add(&binding->list, &block->binding_list); in mlxsw_sp_flow_block_bind()
100 kfree(binding); in mlxsw_sp_flow_block_bind()
112 struct mlxsw_sp_flow_block_binding *binding; in mlxsw_sp_flow_block_unbind() local
114 binding = mlxsw_sp_flow_block_lookup(block, mlxsw_sp_port, ingress); in mlxsw_sp_flow_block_unbind()
115 if (!binding) in mlxsw_sp_flow_block_unbind()
118 list_del(&binding->list); in mlxsw_sp_flow_block_unbind()
126 mlxsw_sp_acl_ruleset_unbind(mlxsw_sp, block, binding); in mlxsw_sp_flow_block_unbind()
128 kfree(binding); in mlxsw_sp_flow_block_unbind()