/linux-6.1.9/drivers/net/ethernet/mellanox/mlxsw/ |
D | spectrum_acl.c | 65 struct mlxsw_sp_acl_rule_info *rulei; member 312 struct mlxsw_sp_acl_rule_info *rulei; in mlxsw_sp_acl_rulei_create() local 315 rulei = kzalloc(sizeof(*rulei), GFP_KERNEL); in mlxsw_sp_acl_rulei_create() 316 if (!rulei) in mlxsw_sp_acl_rulei_create() 320 rulei->act_block = afa_block; in mlxsw_sp_acl_rulei_create() 321 return rulei; in mlxsw_sp_acl_rulei_create() 324 rulei->act_block = mlxsw_afa_block_create(acl->mlxsw_sp->afa); in mlxsw_sp_acl_rulei_create() 325 if (IS_ERR(rulei->act_block)) { in mlxsw_sp_acl_rulei_create() 326 err = PTR_ERR(rulei->act_block); in mlxsw_sp_acl_rulei_create() 329 rulei->action_created = 1; in mlxsw_sp_acl_rulei_create() [all …]
|
D | spectrum_flower.c | 60 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_actions() argument 80 err = mlxsw_sp_acl_rulei_act_count(mlxsw_sp, rulei, extack); in mlxsw_sp_flower_parse_actions() 91 err = mlxsw_sp_acl_rulei_act_terminate(rulei); in mlxsw_sp_flower_parse_actions() 105 err = mlxsw_sp_acl_rulei_act_drop(rulei, ingress, in mlxsw_sp_flower_parse_actions() 117 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions() 119 rulei->ingress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions() 123 err = mlxsw_sp_acl_rulei_act_trap(rulei); in mlxsw_sp_flower_parse_actions() 141 err = mlxsw_sp_acl_rulei_act_jump(rulei, group_id); in mlxsw_sp_flower_parse_actions() 161 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions() 165 err = mlxsw_sp_acl_rulei_act_fid_set(mlxsw_sp, rulei, in mlxsw_sp_flower_parse_actions() [all …]
|
D | spectrum1_acl_tcam.c | 18 struct mlxsw_sp_acl_rule_info *rulei; member 64 struct mlxsw_sp_acl_rule_info *rulei; in mlxsw_sp1_acl_ctcam_region_catchall_add() local 70 rulei = mlxsw_sp_acl_rulei_create(mlxsw_sp->acl, NULL); in mlxsw_sp1_acl_ctcam_region_catchall_add() 71 if (IS_ERR(rulei)) { in mlxsw_sp1_acl_ctcam_region_catchall_add() 72 err = PTR_ERR(rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add() 75 err = mlxsw_sp_acl_rulei_act_continue(rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add() 78 err = mlxsw_sp_acl_rulei_commit(rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add() 84 rulei, false); in mlxsw_sp1_acl_ctcam_region_catchall_add() 87 region->catchall.rulei = rulei; in mlxsw_sp1_acl_ctcam_region_catchall_add() 93 mlxsw_sp_acl_rulei_destroy(rulei); in mlxsw_sp1_acl_ctcam_region_catchall_add() [all …]
|
D | spectrum2_mr_tcam.c | 142 mlxsw_sp2_mr_tcam_rule_parse4(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp2_mr_tcam_rule_parse4() argument 145 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_0_31, in mlxsw_sp2_mr_tcam_rule_parse4() 148 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_0_31, in mlxsw_sp2_mr_tcam_rule_parse4() 154 mlxsw_sp2_mr_tcam_rule_parse6(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp2_mr_tcam_rule_parse6() argument 157 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_96_127, in mlxsw_sp2_mr_tcam_rule_parse6() 160 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_64_95, in mlxsw_sp2_mr_tcam_rule_parse6() 163 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_32_63, in mlxsw_sp2_mr_tcam_rule_parse6() 166 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_0_31, in mlxsw_sp2_mr_tcam_rule_parse6() 169 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_96_127, in mlxsw_sp2_mr_tcam_rule_parse6() 172 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_64_95, in mlxsw_sp2_mr_tcam_rule_parse6() [all …]
|
D | spectrum_acl_ctcam.c | 43 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_acl_ctcam_region_entry_insert() argument 55 err = mlxsw_sp_acl_tcam_priority_get(mlxsw_sp, rulei, &priority, in mlxsw_sp_acl_ctcam_region_entry_insert() 65 mlxsw_afk_encode(afk, region->key_info, &rulei->values, key, mask); in mlxsw_sp_acl_ctcam_region_entry_insert() 72 act_set = mlxsw_afa_block_first_set(rulei->act_block); in mlxsw_sp_acl_ctcam_region_entry_insert() 192 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_acl_ctcam_entry_add() argument 203 rulei, fillup_priority); in mlxsw_sp_acl_ctcam_entry_add() 227 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_ctcam_entry_action_replace() argument 231 rulei->act_block, in mlxsw_sp_acl_ctcam_entry_action_replace() 232 rulei->priority); in mlxsw_sp_acl_ctcam_entry_action_replace()
|
D | spectrum_acl_atcam.c | 381 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_region_entry_insert() argument 390 err = mlxsw_sp_acl_tcam_priority_get(mlxsw_sp, rulei, &priority, true); in mlxsw_sp_acl_atcam_region_entry_insert() 399 kvdl_index = mlxsw_afa_block_first_kvdl_index(rulei->act_block); in mlxsw_sp_acl_atcam_region_entry_insert() 445 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_region_entry_action_replace() argument 454 err = mlxsw_sp_acl_tcam_priority_get(mlxsw_sp, rulei, &priority, true); in mlxsw_sp_acl_atcam_region_entry_action_replace() 457 kvdl_index = mlxsw_afa_block_first_kvdl_index(rulei->act_block); in mlxsw_sp_acl_atcam_region_entry_action_replace() 473 struct mlxsw_sp_acl_rule_info *rulei) in __mlxsw_sp_acl_atcam_entry_add() argument 482 mlxsw_afk_encode(afk, region->key_info, &rulei->values, in __mlxsw_sp_acl_atcam_entry_add() 527 rulei); in __mlxsw_sp_acl_atcam_entry_add() 561 struct mlxsw_sp_acl_rule_info *rulei) in __mlxsw_sp_acl_atcam_entry_action_replace() argument [all …]
|
D | spectrum_acl_tcam.h | 38 struct mlxsw_sp_acl_rule_info *rulei, 58 struct mlxsw_sp_acl_rule_info *rulei); 61 struct mlxsw_sp_acl_rule_info *rulei); 130 struct mlxsw_sp_acl_rule_info *rulei, 139 struct mlxsw_sp_acl_rule_info *rulei); 231 struct mlxsw_sp_acl_rule_info *rulei); 239 struct mlxsw_sp_acl_rule_info *rulei);
|
D | spectrum2_acl_tcam.c | 213 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp2_acl_tcam_entry_add() argument 219 entry->act_block = rulei->act_block; in mlxsw_sp2_acl_tcam_entry_add() 222 rulei); in mlxsw_sp2_acl_tcam_entry_add() 240 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp2_acl_tcam_entry_action_replace() argument 245 entry->act_block = rulei->act_block; in mlxsw_sp2_acl_tcam_entry_action_replace() 248 &entry->aentry, rulei); in mlxsw_sp2_acl_tcam_entry_action_replace()
|
D | spectrum.h | 999 void mlxsw_sp_acl_rulei_destroy(struct mlxsw_sp_acl_rule_info *rulei); 1000 int mlxsw_sp_acl_rulei_commit(struct mlxsw_sp_acl_rule_info *rulei); 1001 void mlxsw_sp_acl_rulei_priority(struct mlxsw_sp_acl_rule_info *rulei, 1003 void mlxsw_sp_acl_rulei_keymask_u32(struct mlxsw_sp_acl_rule_info *rulei, 1006 void mlxsw_sp_acl_rulei_keymask_buf(struct mlxsw_sp_acl_rule_info *rulei, 1010 int mlxsw_sp_acl_rulei_act_continue(struct mlxsw_sp_acl_rule_info *rulei); 1011 int mlxsw_sp_acl_rulei_act_jump(struct mlxsw_sp_acl_rule_info *rulei, 1013 int mlxsw_sp_acl_rulei_act_terminate(struct mlxsw_sp_acl_rule_info *rulei); 1014 int mlxsw_sp_acl_rulei_act_drop(struct mlxsw_sp_acl_rule_info *rulei, 1018 int mlxsw_sp_acl_rulei_act_trap(struct mlxsw_sp_acl_rule_info *rulei); [all …]
|
D | spectrum_acl_tcam.c | 94 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_acl_tcam_priority_get() argument 109 if (rulei->priority >= max_priority) in mlxsw_sp_acl_tcam_priority_get() 113 *priority = max_priority - rulei->priority; in mlxsw_sp_acl_tcam_priority_get() 253 struct mlxsw_sp_acl_rule_info *rulei; member 1138 entry->priv, ventry->rulei); in mlxsw_sp_acl_tcam_entry_create() 1163 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_tcam_entry_action_replace() argument 1168 entry->priv, rulei); in mlxsw_sp_acl_tcam_entry_action_replace() 1185 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_tcam_ventry_add() argument 1191 vchunk = mlxsw_sp_acl_tcam_vchunk_get(mlxsw_sp, vgroup, rulei->priority, in mlxsw_sp_acl_tcam_ventry_add() 1192 &rulei->values.elusage); in mlxsw_sp_acl_tcam_ventry_add() [all …]
|