fte 181 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_PROTO(const struct fs_fte *fte, int new_fte), fte 182 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_ARGS(fte, new_fte), fte 184 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __field(const struct fs_fte *, fte) fte 201 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->fte = fte; fte 203 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h fs_get_obj(__entry->fg, fte->node.parent); fte 205 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->index = fte->index; fte 206 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->action = fte->action.action; fte 208 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->flow_tag = fte->flow_context.flow_tag; fte 209 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->flow_source = fte->flow_context.flow_source; fte 227 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h &fte->val, fte 232 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h &fte->val, fte 237 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h &fte->val, fte 244 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->fte, __entry->fg, __entry->index, fte 258 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_PROTO(const struct fs_fte *fte), fte 259 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_ARGS(fte), fte 261 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __field(const struct fs_fte *, fte) fte 265 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->fte = fte; fte 266 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->index = fte->index; fte 270 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->fte, __entry->index) fte 278 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __field(const struct fs_fte *, fte) fte 286 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h fs_get_obj(__entry->fte, rule->node.parent); fte 287 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->index = __entry->fte->dests_size - 1; fte 298 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->rule, __entry->fte, __entry->index, fte 308 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __field(const struct fs_fte *, fte) fte 312 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h fs_get_obj(__entry->fte, rule->node.parent); fte 315 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->rule, __entry->fte) fte 81 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte; fte 756 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte, fte 764 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fs_get_obj(fg, fte->node.parent); fte 770 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val, fte 771 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c &fte->action, fte 772 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c &fte->flow_context)) fte 777 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val)) fte 782 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c (struct mlx5_accel_esp_xfrm *)fte->action.esp_id; fte 786 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val)) { fte 789 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val, fte 794 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val, fte 800 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val, fte 805 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val, fte 813 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte_match_param, fte->val, fte 860 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c _rule_search(struct rb_root *root, struct fs_fte *fte) fte 869 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (rule->fte < fte) fte 871 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c else if (rule->fte > fte) fte 880 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule_search(struct mlx5_fpga_ipsec *ipsec_dev, struct fs_fte *fte) fte 885 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule = _rule_search(&ipsec_dev->rules_rb, fte); fte 903 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (rule->fte < this->fte) fte 905 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c else if (rule->fte > this->fte) fte 953 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c static void restore_spec_mailbox(struct fs_fte *fte, fte 957 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val, fte 962 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->action.action |= mbox_mod->saved_action; fte 963 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->action.esp_id = (uintptr_t)mbox_mod->saved_esp_id; fte 967 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte, fte 971 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->val, fte 974 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c mbox_mod->saved_esp_id = fte->action.esp_id; fte 975 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c mbox_mod->saved_action = fte->action.action & fte 982 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->action.esp_id = 0; fte 983 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fte->action.action &= ~(MLX5_FLOW_CONTEXT_ACTION_ENCRYPT | fte 1041 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte, fte 1047 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) = fte 1053 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c bool is_esp = fte->action.esp_id; fte 1058 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c !(fte->action.action & fte 1061 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return create_fte(ns, ft, fg, fte); fte 1067 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule->ctx = mlx5_fpga_ipsec_fs_create_sa_ctx(dev, fte, is_egress); fte 1074 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule->fte = fte; fte 1077 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c modify_spec_mailbox(dev, fte, &mbox_mod); fte 1078 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c ret = create_fte(ns, ft, fg, fte); fte 1079 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c restore_spec_mailbox(fte, &mbox_mod); fte 1093 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte, fte 1100 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) = fte 1103 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c bool is_esp = fte->action.esp_id; fte 1108 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c !(fte->action.action & fte 1111 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return update_fte(ns, ft, fg, modify_mask, fte); fte 1113 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c modify_spec_mailbox(dev, fte, &mbox_mod); fte 1114 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c ret = update_fte(ns, ft, fg, modify_mask, fte); fte 1115 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c restore_spec_mailbox(fte, &mbox_mod); fte 1122 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte, fte 1127 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) = fte 1133 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c bool is_esp = fte->action.esp_id; fte 1138 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c !(fte->action.action & fte 1141 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return delete_fte(ns, ft, fte); fte 1143 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule = rule_search(fipsec, fte); fte 1150 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c modify_spec_mailbox(dev, fte, &mbox_mod); fte 1151 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c ret = delete_fte(ns, ft, fte); fte 1152 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c restore_spec_mailbox(fte, &mbox_mod); fte 1170 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) fte 1172 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return fpga_ipsec_fs_create_fte(ns, ft, fg, fte, true); fte 1180 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) fte 1182 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return fpga_ipsec_fs_update_fte(ns, ft, fg, modify_mask, fte, fte 1189 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) fte 1191 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return fpga_ipsec_fs_delete_fte(ns, ft, fte, true); fte 1207 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) fte 1209 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return fpga_ipsec_fs_create_fte(ns, ft, fg, fte, false); fte 1217 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) fte 1219 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return fpga_ipsec_fs_update_fte(ns, ft, fg, modify_mask, fte, fte 1226 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct fs_fte *fte) fte 1228 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return fpga_ipsec_fs_delete_fte(ns, ft, fte, false); fte 89 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte) fte 98 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte) fte 105 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte) fte 364 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte, bool *extended_dest) fte 373 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c if (!(fte->action.action & MLX5_FLOW_CONTEXT_ACTION_FWD_DEST)) fte 376 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c list_for_each_entry(dst, &fte->node.children, node.list) { fte 403 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte) fte 416 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c if (mlx5_set_extended_dest(dev, fte, &extended_dest)) fte 424 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c inlen = MLX5_ST_SZ_BYTES(set_fte_in) + fte->dests_size * dst_cnt_size; fte 434 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(set_fte_in, in, flow_index, fte->index); fte 444 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c fte->flow_context.flow_tag); fte 446 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c fte->flow_context.flow_source); fte 453 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c action = fte->action.action & fte 458 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c fte->action.action); fte 459 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c if (fte->action.pkt_reformat) fte 461 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c fte->action.pkt_reformat->id); fte 463 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c if (fte->action.modify_hdr) fte 465 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c fte->action.modify_hdr->id); fte 469 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(vlan, vlan, ethtype, fte->action.vlan[0].ethtype); fte 470 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(vlan, vlan, vid, fte->action.vlan[0].vid); fte 471 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(vlan, vlan, prio, fte->action.vlan[0].prio); fte 475 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(vlan, vlan, ethtype, fte->action.vlan[1].ethtype); fte 476 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(vlan, vlan, vid, fte->action.vlan[1].vid); fte 477 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(vlan, vlan, prio, fte->action.vlan[1].prio); fte 481 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c memcpy(in_match_value, &fte->val, sizeof(fte->val)); fte 484 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_FWD_DEST) { fte 487 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c list_for_each_entry(dst, &fte->node.children, node.list) { fte 536 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_COUNT) { fte 542 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c list_for_each_entry(dst, &fte->node.children, node.list) { fte 570 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte) fte 575 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c return mlx5_cmd_set_fte(dev, 0, 0, ft, group_id, fte); fte 582 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte) fte 593 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c return mlx5_cmd_set_fte(dev, opmod, modify_mask, ft, fg->id, fte); fte 598 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c struct fs_fte *fte) fte 607 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c MLX5_SET(delete_fte_in, in, flow_index, fte->index); fte 62 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h struct fs_fte *fte); fte 68 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h struct fs_fte *fte); fte 72 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h struct fs_fte *fte); fte 244 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c find_flow_rule(struct fs_fte *fte, fte 455 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static void modify_fte(struct fs_fte *fte) fte 463 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fg, fte->node.parent); fte 465 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c dev = get_dev(&fte->node); fte 468 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = root->cmds->update_fte(root, ft, fg, fte->modify_mask, fte); fte 472 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c __func__, fg->id, fte->index); fte 473 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->modify_mask = 0; fte 479 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 482 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, rule->node.parent); fte 491 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c --fte->dests_size) { fte 492 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->modify_mask |= fte 495 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->action.action &= ~MLX5_FLOW_CONTEXT_ACTION_COUNT; fte 499 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if ((fte->action.action & MLX5_FLOW_CONTEXT_ACTION_FWD_DEST) && fte 500 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c --fte->dests_size) { fte 501 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->modify_mask |= fte 514 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 517 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, node); fte 518 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fg, fte->node.parent); fte 521 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c trace_mlx5_fs_del_fte(fte); fte 525 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = root->cmds->delete_fte(root, ft, fte); fte 529 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->index, fg->id); fte 538 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 541 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, node); fte 542 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fg, fte->node.parent); fte 545 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c &fte->hash, fte 548 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c ida_simple_remove(&fg->fte_allocator, fte->index - fg->start_index); fte 549 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); fte 591 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int insert_fte(struct mlx5_flow_group *fg, struct fs_fte *fte) fte 600 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->index = index + fg->start_index; fte 602 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c &fte->hash, fte 607 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_add_node(&fte->node, &fg->node); fte 608 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_add_tail(&fte->node.list, &fg->node.children); fte 621 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 623 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte = kmem_cache_zalloc(steering->ftes_cache, GFP_KERNEL); fte 624 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!fte) fte 627 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c memcpy(fte->val, &spec->match_value, sizeof(fte->val)); fte 628 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->node.type = FS_TYPE_FLOW_ENTRY; fte 629 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->action = *flow_act; fte 630 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->flow_context = spec->flow_context; fte 632 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_init_node(&fte->node, NULL, del_sw_fte); fte 634 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return fte; fte 892 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 896 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, rule->node.parent); fte 897 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!(fte->action.action & MLX5_FLOW_CONTEXT_ACTION_FWD_DEST)) fte 899 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c down_write_ref_node(&fte->node, false); fte 900 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fg, fte->node.parent); fte 906 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c modify_mask, fte); fte 907 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c up_write_ref_node(&fte->node, false); fte 1203 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static void destroy_flow_handle(struct fs_fte *fte, fte 1210 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->dests_size--; fte 1219 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c create_flow_handle(struct fs_fte *fte, fte 1238 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = find_flow_rule(fte, dest + i); fte 1256 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_add(&rule->node.list, &fte->node.children); fte 1258 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_add_tail(&rule->node.list, &fte->node.children); fte 1260 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->dests_size++; fte 1273 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c destroy_flow_handle(fte, handle, dest, i); fte 1279 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c add_rule_fte(struct fs_fte *fte, fte 1292 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c handle = create_flow_handle(fte, dest, dest_num, &modify_mask, fte 1302 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!(fte->status & FS_FTE_STATUS_EXISTING)) fte 1303 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = root->cmds->create_fte(root, ft, fg, fte); fte 1305 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = root->cmds->update_fte(root, ft, fg, modify_mask, fte); fte 1309 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->node.active = true; fte 1310 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->status |= FS_FTE_STATUS_EXISTING; fte 1311 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c atomic_inc(&fte->node.version); fte 1317 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c destroy_flow_handle(fte, handle, dest, handle->num_rules); fte 1434 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static struct mlx5_flow_rule *find_flow_rule(struct fs_fte *fte, fte 1439 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_for_each_entry(rule, &fte->node.children, node.list) { fte 1468 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int check_conflicting_ftes(struct fs_fte *fte, fte 1472 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (check_conflicting_actions(flow_act->action, fte->action.action)) { fte 1473 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_core_warn(get_dev(&fte->node), fte 1479 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->flow_context.flow_tag != flow_context->flow_tag) { fte 1480 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_core_warn(get_dev(&fte->node), fte 1482 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->flow_context.flow_tag, fte 1495 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte) fte 1502 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c ret = check_conflicting_ftes(fte, &spec->flow_context, flow_act); fte 1506 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c old_action = fte->action.action; fte 1507 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->action.action |= flow_act->action; fte 1508 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c handle = add_rule_fte(fte, fg, dest, dest_num, fte 1511 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte->action.action = old_action; fte 1514 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c trace_mlx5_fs_set_fte(fte, false); fte 1518 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_add_node(&handle->rule[i]->node, &fte->node); fte 1674 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 1678 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte = alloc_fte(ft, spec, flow_act); fte 1679 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (IS_ERR(fte)) fte 1697 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); fte 1730 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = insert_fte(g, fte); fte 1735 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); fte 1739 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c nested_down_write_ref_node(&fte->node, FS_LOCK_CHILD); fte 1741 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); fte 1742 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c up_write_ref_node(&fte->node, false); fte 1743 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_put_node(&fte->node, false); fte 1748 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); fte 1765 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 1827 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte = alloc_fte(ft, spec, flow_act); fte 1828 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (IS_ERR(fte)) { fte 1829 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = PTR_ERR(fte); fte 1833 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = insert_fte(g, fte); fte 1835 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); fte 1839 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c nested_down_write_ref_node(&fte->node, FS_LOCK_CHILD); fte 1841 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); fte 1842 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c up_write_ref_node(&fte->node, false); fte 1843 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_put_node(&fte->node, false); fte 1912 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct fs_fte *fte; fte 1927 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, handle->rule[0]->node.parent); fte 1928 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c down_write_ref_node(&fte->node, false); fte 1931 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (fte->modify_mask && fte->dests_size) { fte 1932 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c modify_fte(fte); fte 1933 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c up_write_ref_node(&fte->node, false); fte 1935 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c del_hw_fte(&fte->node); fte 1936 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c up_write(&fte->node.lock); fte 1937 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_put_node(&fte->node, false); fte 307 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h #define fs_for_each_dst(pos, fte) \ fte 308 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h fs_list_for_each_entry(pos, &(fte)->node.children) fte 213 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c struct fs_fte *fte) fte 232 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c return mlx5_fs_cmd_get_fw_cmds()->create_fte(ns, ft, group, fte); fte 246 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c match_sz = sizeof(fte->val); fte 253 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH) { fte 254 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c tmp_action = create_action_push_vlan(domain, &fte->action.vlan[0]); fte 263 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH_2) { fte 264 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c tmp_action = create_action_push_vlan(domain, &fte->action.vlan[1]); fte 273 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_DECAP) { fte 288 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT) { fte 289 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c bool is_decap = fte->action.pkt_reformat->reformat_type == fte 294 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fte->action.pkt_reformat->action.dr_action; fte 299 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_POP) { fte 310 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_POP_2) { fte 321 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR) fte 323 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fte->action.modify_hdr->action.dr_action; fte 327 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fte->action.pkt_reformat->action.dr_action; fte 331 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_DROP) { fte 341 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->flow_context.flow_tag) { fte 343 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c mlx5dr_action_create_tag(fte->flow_context.flow_tag); fte 352 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_FWD_DEST) { fte 353 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c list_for_each_entry(dst, &fte->node.children, node.list) { fte 390 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_COUNT) { fte 391 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c list_for_each_entry(dst, &fte->node.children, node.list) { fte 417 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c params.match_buf = (u64 *)fte->val; fte 432 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fte->fs_dr_rule.dr_rule = rule; fte 433 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fte->fs_dr_rule.num_actions = fs_dr_num_actions; fte 434 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fte->fs_dr_rule.dr_actions = fs_dr_actions; fte 532 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c struct fs_fte *fte) fte 539 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c struct fs_fte *fte) fte 541 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c struct mlx5_fs_dr_rule *rule = &fte->fs_dr_rule; fte 546 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c return mlx5_fs_cmd_get_fw_cmds()->delete_fte(ns, ft, fte);