matcher 635 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher, matcher 644 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 679 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c if (action->dest_tbl.tbl->level <= matcher->tbl->level) { matcher 147 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c int mlx5dr_matcher_select_builders(struct mlx5dr_matcher *matcher, matcher 160 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mlx5dr_dbg(matcher->tbl->dmn, matcher 168 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_set_ste_builders(struct mlx5dr_matcher *matcher, matcher 173 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 193 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria & DR_MATCHER_CRITERIA_OUTER) matcher 194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mask.outer = matcher->mask.outer; matcher 196 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria & DR_MATCHER_CRITERIA_MISC) matcher 197 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mask.misc = matcher->mask.misc; matcher 199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria & DR_MATCHER_CRITERIA_INNER) matcher 200 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mask.inner = matcher->mask.inner; matcher 202 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria & DR_MATCHER_CRITERIA_MISC2) matcher 203 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mask.misc2 = matcher->mask.misc2; matcher 205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria & DR_MATCHER_CRITERIA_MISC3) matcher 206 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mask.misc3 = matcher->mask.misc3; matcher 208 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = mlx5dr_ste_build_pre_check(dmn, matcher->match_criteria, matcher 209 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c &matcher->mask, NULL); matcher 214 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria & (DR_MATCHER_CRITERIA_OUTER | matcher 305 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria & (DR_MATCHER_CRITERIA_INNER | matcher 360 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria == DR_MATCHER_CRITERIA_EMPTY) matcher 440 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_add_to_tbl(struct mlx5dr_matcher *matcher) matcher 443 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_table *tbl = matcher->tbl; matcher 451 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (tmp_matcher->prio >= matcher->prio) { matcher 468 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_connect(dmn, &matcher->rx, matcher 477 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_connect(dmn, &matcher->tx, matcher 485 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c list_add(&matcher->matcher_list, &prev_matcher->matcher_list); matcher 487 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c list_add_tail(&matcher->matcher_list, matcher 490 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c list_add(&matcher->matcher_list, &tbl->matcher_list); matcher 501 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static void dr_matcher_uninit_fdb(struct mlx5dr_matcher *matcher) matcher 503 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit_nic(&matcher->rx); matcher 504 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit_nic(&matcher->tx); matcher 507 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static void dr_matcher_uninit(struct mlx5dr_matcher *matcher) matcher 509 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 513 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit_nic(&matcher->rx); matcher 516 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit_nic(&matcher->tx); matcher 519 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit_fdb(matcher); matcher 527 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_init_nic(struct mlx5dr_matcher *matcher, matcher 530 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 533 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret_v4 = dr_matcher_set_ste_builders(matcher, nic_matcher, false); matcher 534 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret_v6 = dr_matcher_set_ste_builders(matcher, nic_matcher, true); matcher 573 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_init_fdb(struct mlx5dr_matcher *matcher) matcher 577 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_init_nic(matcher, &matcher->rx); matcher 581 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_init_nic(matcher, &matcher->tx); matcher 588 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit_nic(&matcher->rx); matcher 592 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_init(struct mlx5dr_matcher *matcher, matcher 595 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_table *tbl = matcher->tbl; matcher 599 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->match_criteria >= DR_MATCHER_CRITERIA_MAX) { matcher 609 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mlx5dr_ste_copy_param(matcher->match_criteria, matcher 610 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c &matcher->mask, mask); matcher 615 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher->rx.nic_tbl = &tbl->rx; matcher 616 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_init_nic(matcher, &matcher->rx); matcher 619 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher->tx.nic_tbl = &tbl->tx; matcher 620 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_init_nic(matcher, &matcher->tx); matcher 623 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher->rx.nic_tbl = &tbl->rx; matcher 624 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher->tx.nic_tbl = &tbl->tx; matcher 625 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_init_fdb(matcher); matcher 641 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_matcher *matcher; matcher 646 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher = kzalloc(sizeof(*matcher), GFP_KERNEL); matcher 647 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (!matcher) matcher 650 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher->tbl = tbl; matcher 651 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher->prio = priority; matcher 652 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c matcher->match_criteria = match_criteria_enable; matcher 653 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c refcount_set(&matcher->refcount, 1); matcher 654 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c INIT_LIST_HEAD(&matcher->matcher_list); matcher 658 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_init(matcher, mask); matcher 662 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret = dr_matcher_add_to_tbl(matcher); matcher 668 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c return matcher; matcher 671 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit(matcher); matcher 674 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c kfree(matcher); matcher 710 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_remove_from_tbl(struct mlx5dr_matcher *matcher) matcher 713 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_table *tbl = matcher->tbl; matcher 717 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (list_is_last(&matcher->matcher_list, &tbl->matcher_list)) matcher 720 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c next_matcher = list_next_entry(matcher, matcher_list); matcher 722 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (matcher->matcher_list.prev == &tbl->matcher_list) matcher 725 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c prev_matcher = list_prev_entry(matcher, matcher_list); matcher 745 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c list_del(&matcher->matcher_list); matcher 750 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher) matcher 752 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_table *tbl = matcher->tbl; matcher 754 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (refcount_read(&matcher->refcount) > 1) matcher 759 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_remove_from_tbl(matcher); matcher 760 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c dr_matcher_uninit(matcher); matcher 761 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c refcount_dec(&matcher->tbl->refcount); matcher 764 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c kfree(matcher); matcher 40 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_collision_htbl(struct mlx5dr_matcher *matcher, matcher 44 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 67 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_collision_entry(struct mlx5dr_matcher *matcher, matcher 74 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ste = dr_rule_create_collision_htbl(matcher, nic_matcher, hw_ste); matcher 76 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Failed creating collision entry\n"); matcher 86 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (mlx5dr_ste_create_next_htbl(matcher, nic_matcher, ste, hw_ste, matcher 88 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Failed allocating table\n"); matcher 95 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(ste, matcher, nic_matcher); matcher 166 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_rehash_handle_collision(struct mlx5dr_matcher *matcher, matcher 175 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_ste = dr_rule_create_collision_htbl(matcher, nic_matcher, hw_ste); matcher 187 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Failed update dup entry\n"); matcher 194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(new_ste, matcher, nic_matcher); matcher 198 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static void dr_rule_rehash_copy_ste_ctrl(struct mlx5dr_matcher *matcher, matcher 221 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_rehash_copy_ste(struct mlx5dr_matcher *matcher, matcher 250 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_ste = dr_rule_rehash_handle_collision(matcher, matcher 256 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Failed adding collision entry, index: %d\n", matcher 278 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_rehash_copy_ste_ctrl(matcher, nic_matcher, cur_ste, new_ste); matcher 283 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(new_ste, matcher, nic_matcher); matcher 287 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_rehash_copy_miss_list(struct mlx5dr_matcher *matcher, matcher 299 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_ste = dr_rule_rehash_copy_ste(matcher, matcher 313 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_err(matcher->tbl->dmn, "Fatal error during resize\n"); matcher 318 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_rehash_copy_htbl(struct mlx5dr_matcher *matcher, matcher 332 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Invalid number of entries\n"); matcher 341 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c err = dr_rule_rehash_copy_miss_list(matcher, matcher 363 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; matcher 364 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 402 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c err = dr_rule_rehash_copy_htbl(matcher, matcher 478 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; matcher 492 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_handle_collision(struct mlx5dr_matcher *matcher, matcher 506 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_ste = dr_rule_create_collision_entry(matcher, nic_matcher, hw_ste, ste); matcher 511 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Failed to update prev miss_list\n"); matcher 524 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(new_ste, matcher, nic_matcher); matcher 593 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_put(rule_mem->ste, rule->matcher, nic_rule->nic_matcher); matcher 662 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; matcher 678 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c action_ste = dr_rule_create_collision_htbl(matcher, matcher 699 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Failed adding rule member\n"); matcher 713 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_put(action_ste, matcher, nic_matcher); matcher 717 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_handle_empty_entry(struct mlx5dr_matcher *matcher, matcher 742 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (mlx5dr_ste_create_next_htbl(matcher, matcher 747 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Failed allocating table\n"); matcher 776 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; matcher 777 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 796 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (dr_rule_handle_empty_entry(matcher, nic_matcher, cur_htbl, matcher 837 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ste = dr_rule_handle_collision(matcher, matcher 867 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static bool dr_rule_verify(struct mlx5dr_matcher *matcher, matcher 871 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c u8 match_criteria = matcher->match_criteria; matcher 873 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c u8 *mask_p = (u8 *)&matcher->mask; matcher 880 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Rule parameters length is incorrect\n"); matcher 884 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_copy_param(matcher->match_criteria, param, value); matcher 891 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Rule outer parameters contains a value not specified by mask\n"); matcher 901 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Rule misc parameters contains a value not specified by mask\n"); matcher 911 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Rule inner parameters contains a value not specified by mask\n"); matcher 921 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Rule misc2 parameters contains a value not specified by mask\n"); matcher 931 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_dbg(matcher->tbl->dmn, "Rule misc3 parameters contains a value not specified by mask\n"); matcher 954 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; matcher 1022 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; matcher 1023 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 1039 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (dr_rule_skip(dmn->type, nic_dmn->ste_type, &matcher->mask, param)) matcher 1042 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = mlx5dr_matcher_select_builders(matcher, matcher 1055 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = mlx5dr_ste_build_ste_arr(matcher, nic_matcher, param, hw_ste_arr); matcher 1060 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = mlx5dr_actions_build_ste_arr(matcher, nic_matcher, actions, matcher 1122 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_put(ste, matcher, nic_matcher); matcher 1168 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_rule(struct mlx5dr_matcher *matcher, matcher 1173 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 1178 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (!dr_rule_verify(matcher, value, ¶m)) matcher 1185 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->matcher = matcher; matcher 1194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->rx.nic_matcher = &matcher->rx; matcher 1199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->tx.nic_matcher = &matcher->tx; matcher 1204 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->rx.nic_matcher = &matcher->rx; matcher 1205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->tx.nic_matcher = &matcher->tx; matcher 1227 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_rule *mlx5dr_rule_create(struct mlx5dr_matcher *matcher, matcher 1234 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mutex_lock(&matcher->tbl->dmn->mutex); matcher 1235 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c refcount_inc(&matcher->refcount); matcher 1237 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule = dr_rule_create_rule(matcher, value, num_actions, actions); matcher 1239 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c refcount_dec(&matcher->refcount); matcher 1241 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mutex_unlock(&matcher->tbl->dmn->mutex); matcher 1248 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; matcher 1249 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_table *tbl = rule->matcher->tbl; matcher 1259 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c refcount_dec(&matcher->refcount); matcher 450 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_matcher *matcher, matcher 454 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 598 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c int mlx5dr_ste_create_next_htbl(struct mlx5dr_matcher *matcher, matcher 606 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 731 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c int mlx5dr_ste_build_ste_arr(struct mlx5dr_matcher *matcher, matcher 737 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_domain *dmn = matcher->tbl->dmn; matcher 741 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c ret = mlx5dr_ste_build_pre_check(dmn, matcher->match_criteria, matcher 742 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c &matcher->mask, value); matcher 246 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher *matcher, matcher 249 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher *matcher, matcher 254 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h mlx5dr_ste_free(ste, matcher, nic_matcher); matcher 266 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_ste_create_next_htbl(struct mlx5dr_matcher *matcher, matcher 277 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_ste_build_ste_arr(struct mlx5dr_matcher *matcher, matcher 343 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher, matcher 779 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher *matcher; matcher 815 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_matcher_select_builders(struct mlx5dr_matcher *matcher, matcher 137 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c struct mlx5dr_matcher *matcher; matcher 153 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c matcher = mlx5dr_matcher_create(ft->fs_dr_table.dr_table, matcher 157 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (!matcher) { matcher 162 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fg->fs_dr_matcher.dr_matcher = matcher; matcher 61 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher); matcher 64 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h mlx5dr_rule_create(struct mlx5dr_matcher *matcher, matcher 149 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher) { return 0; } matcher 152 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h mlx5dr_rule_create(struct mlx5dr_matcher *matcher,