| /linux-6.15/drivers/net/ethernet/mellanox/mlxsw/ |
| H A D | spectrum_acl.c | 321 rulei = kzalloc(sizeof(*rulei), GFP_KERNEL); in mlxsw_sp_acl_rulei_create() 322 if (!rulei) in mlxsw_sp_acl_rulei_create() 327 return rulei; in mlxsw_sp_acl_rulei_create() 335 rulei->action_created = 1; in mlxsw_sp_acl_rulei_create() 336 return rulei; in mlxsw_sp_acl_rulei_create() 339 kfree(rulei); in mlxsw_sp_acl_rulei_create() 346 if (rulei->action_created) in mlxsw_sp_acl_rulei_destroy() 354 kfree(rulei); in mlxsw_sp_acl_rulei_destroy() 624 if (!rulei->ipv6_valid) { in mlxsw_sp2_acl_rulei_act_mangle_field_ip_odd() 667 if (rulei->ipv6_valid && in mlxsw_sp2_acl_rulei_act_mangle_field() [all …]
|
| H A D | spectrum_flower.c | 60 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_flower_parse_actions() argument 117 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions() 119 rulei->ingress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions() 161 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse_actions() 296 if (rulei->ipv6_valid) { in mlxsw_sp_flower_parse_actions() 339 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp_flower_parse_meta_iif() 671 rulei->egress_bind_blocker = 1; in mlxsw_sp_flower_parse() 744 struct mlxsw_sp_acl_rule_info *rulei; in mlxsw_sp_flower_replace() local 857 struct mlxsw_sp_acl_rule_info rulei; in mlxsw_sp_flower_tmplt_create() local 860 memset(&rulei, 0, sizeof(rulei)); in mlxsw_sp_flower_tmplt_create() [all …]
|
| H A 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 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() 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() 103 struct mlxsw_sp_acl_rule_info *rulei = region->catchall.rulei; in mlxsw_sp1_acl_ctcam_region_catchall_del() local 173 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp1_acl_tcam_entry_add() argument 181 rulei, false); in mlxsw_sp1_acl_tcam_entry_add() [all …]
|
| H A 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_u32(rulei, MLXSW_AFK_ELEMENT_VIRT_ROUTER, in mlxsw_sp2_mr_tcam_rule_parse4() 147 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_SRC_IP_0_31, in mlxsw_sp2_mr_tcam_rule_parse4() 150 mlxsw_sp_acl_rulei_keymask_buf(rulei, MLXSW_AFK_ELEMENT_DST_IP_0_31, in mlxsw_sp2_mr_tcam_rule_parse4() 156 mlxsw_sp2_mr_tcam_rule_parse6(struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp2_mr_tcam_rule_parse6() argument 163 mlxsw_sp_acl_rulei_keymask_u32(rulei, in mlxsw_sp2_mr_tcam_rule_parse6() 197 struct mlxsw_sp_acl_rule_info *rulei; in mlxsw_sp2_mr_tcam_rule_parse() local 199 rulei = mlxsw_sp_acl_rule_rulei(rule); in mlxsw_sp2_mr_tcam_rule_parse() 200 rulei->priority = priority; in mlxsw_sp2_mr_tcam_rule_parse() 203 return mlxsw_sp2_mr_tcam_rule_parse4(rulei, key); in mlxsw_sp2_mr_tcam_rule_parse() [all …]
|
| H A 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()
|
| H A D | spectrum_acl_atcam.c | 381 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_region_entry_insert() argument 446 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_region_entry_action_replace() argument 474 struct mlxsw_sp_acl_rule_info *rulei) in __mlxsw_sp_acl_atcam_entry_add() argument 525 rulei); in __mlxsw_sp_acl_atcam_entry_add() 559 struct mlxsw_sp_acl_rule_info *rulei) in __mlxsw_sp_acl_atcam_entry_action_replace() argument 562 aentry, rulei); in __mlxsw_sp_acl_atcam_entry_action_replace() 569 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_entry_add() argument 583 rulei, true); in mlxsw_sp_acl_atcam_entry_add() 606 struct mlxsw_sp_acl_rule_info *rulei) in mlxsw_sp_acl_atcam_entry_action_replace() argument 614 rulei); in mlxsw_sp_acl_atcam_entry_action_replace() [all …]
|
| H A D | spectrum_acl_tcam.h | 34 struct mlxsw_sp_acl_rule_info *rulei, 54 struct mlxsw_sp_acl_rule_info *rulei); 57 struct mlxsw_sp_acl_rule_info *rulei); 126 struct mlxsw_sp_acl_rule_info *rulei, 135 struct mlxsw_sp_acl_rule_info *rulei); 224 struct mlxsw_sp_acl_rule_info *rulei); 232 struct mlxsw_sp_acl_rule_info *rulei);
|
| H A 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()
|
| H A D | spectrum.h | 992 struct mlxsw_sp_acl_rule_info *rulei); 1013 struct mlxsw_sp_acl_rule_info *rulei, 1022 struct mlxsw_sp_acl_rule_info *rulei, 1026 struct mlxsw_sp_acl_rule_info *rulei, 1029 struct mlxsw_sp_acl_rule_info *rulei, 1034 struct mlxsw_sp_acl_rule_info *rulei, 1038 struct mlxsw_sp_acl_rule_info *rulei, 1041 struct mlxsw_sp_acl_rule_info *rulei, 1044 struct mlxsw_sp_acl_rule_info *rulei, 1047 struct mlxsw_sp_acl_rule_info *rulei, [all …]
|
| H A D | spectrum_acl_tcam.c | 36 struct mlxsw_sp_acl_rule_info *rulei, in mlxsw_sp_acl_tcam_priority_get() argument 51 if (rulei->priority >= max_priority) in mlxsw_sp_acl_tcam_priority_get() 197 struct mlxsw_sp_acl_rule_info *rulei; member 1064 entry->priv, ventry->rulei); in mlxsw_sp_acl_tcam_entry_create() 1094 entry->priv, rulei); in mlxsw_sp_acl_tcam_entry_action_replace() 1118 &rulei->values.elusage); in mlxsw_sp_acl_tcam_ventry_add() 1123 ventry->rulei = rulei; in mlxsw_sp_acl_tcam_ventry_add() 1169 ventry->entry, rulei); in mlxsw_sp_acl_tcam_ventry_action_replace() 1754 &rule->ventry, rulei); in mlxsw_sp_acl_tcam_flower_rule_add() 1889 &rule->ventry, rulei); in mlxsw_sp_acl_tcam_mr_rule_add() [all …]
|