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);