Lines Matching refs:dev_flow
104 struct mlx5_flow *dev_flow, bool tunnel_decap) in flow_dv_attr_init() argument
106 uint64_t layers = dev_flow->handle->layers; in flow_dv_attr_init()
649 union flow_dv_attr *attr, struct mlx5_flow *dev_flow, in flow_dv_convert_action_modify_tp() argument
662 flow_dv_attr_init(items, attr, dev_flow, tunnel_decap); in flow_dv_convert_action_modify_tp()
727 union flow_dv_attr *attr, struct mlx5_flow *dev_flow, in flow_dv_convert_action_modify_ttl() argument
740 flow_dv_attr_init(items, attr, dev_flow, tunnel_decap); in flow_dv_convert_action_modify_ttl()
790 union flow_dv_attr *attr, struct mlx5_flow *dev_flow, in flow_dv_convert_action_modify_dec_ttl() argument
801 flow_dv_attr_init(items, attr, dev_flow, tunnel_decap); in flow_dv_convert_action_modify_dec_ttl()
2871 struct mlx5_flow *dev_flow, in flow_dv_encap_decap_resource_register() argument
2894 .is_root = !!dev_flow->dv.group, in flow_dv_encap_decap_resource_register()
2903 resource->flags = dev_flow->dv.group ? 0 : 1; in flow_dv_encap_decap_resource_register()
2917 dev_flow->dv.encap_decap = resource; in flow_dv_encap_decap_resource_register()
2918 dev_flow->handle->dvh.rix_encap_decap = resource->idx; in flow_dv_encap_decap_resource_register()
2941 struct mlx5_flow *dev_flow, in flow_dv_jump_tbl_resource_register() argument
2949 dev_flow->handle->rix_jump = tbl_data->idx; in flow_dv_jump_tbl_resource_register()
2950 dev_flow->dv.jump = &tbl_data->jump; in flow_dv_jump_tbl_resource_register()
3019 struct mlx5_flow *dev_flow, in flow_dv_port_id_action_resource_register() argument
3034 dev_flow->dv.port_id_action = cache; in flow_dv_port_id_action_resource_register()
3035 dev_flow->handle->rix_port_id_action = cache->idx; in flow_dv_port_id_action_resource_register()
3110 struct mlx5_flow *dev_flow, in flow_dv_push_vlan_action_resource_register() argument
3126 dev_flow->handle->dvh.rix_push_vlan = cache->idx; in flow_dv_push_vlan_action_resource_register()
3127 dev_flow->dv.push_vlan_res = cache; in flow_dv_push_vlan_action_resource_register()
3425 struct mlx5_flow *dev_flow, in flow_dv_create_action_l2_encap() argument
3458 if (flow_dv_encap_decap_resource_register(dev, &res, dev_flow, error)) in flow_dv_create_action_l2_encap()
3482 struct mlx5_flow *dev_flow, in flow_dv_create_action_l2_decap() argument
3494 if (flow_dv_encap_decap_resource_register(dev, &res, dev_flow, error)) in flow_dv_create_action_l2_decap()
3521 struct mlx5_flow *dev_flow, in flow_dv_create_action_raw_encap() argument
3540 if (flow_dv_encap_decap_resource_register(dev, &res, dev_flow, error)) in flow_dv_create_action_raw_encap()
3568 struct mlx5_flow *dev_flow, in flow_dv_create_action_push_vlan() argument
3583 (dev, &res, dev_flow, error); in flow_dv_create_action_push_vlan()
4524 struct mlx5_flow *dev_flow, in flow_dv_modify_hdr_resource_register() argument
4538 resource->flags = dev_flow->dv.group ? 0 : in flow_dv_modify_hdr_resource_register()
4550 dev_flow->handle->dvh.modify_hdr = resource; in flow_dv_modify_hdr_resource_register()
6214 struct mlx5_flow *dev_flow; in flow_dv_prepare() local
6236 dev_flow = &wks->flows[wks->flow_idx++]; in flow_dv_prepare()
6237 dev_flow->handle = dev_handle; in flow_dv_prepare()
6238 dev_flow->handle_idx = handle_idx; in flow_dv_prepare()
6246 dev_flow->dv.value.size = MLX5_ST_SZ_BYTES(fte_match_param) - in flow_dv_prepare()
6253 memset(dev_flow->dv.value.buf, 0, MLX5_ST_SZ_BYTES(fte_match_param)); in flow_dv_prepare()
6254 dev_flow->ingress = attr->ingress; in flow_dv_prepare()
6255 dev_flow->dv.transfer = attr->transfer; in flow_dv_prepare()
6256 return dev_flow; in flow_dv_prepare()
6436 flow_dv_translate_item_vlan(struct mlx5_flow *dev_flow, in flow_dv_translate_item_vlan() argument
6461 dev_flow->handle->vf_vlan.tag = in flow_dv_translate_item_vlan()
8243 struct mlx5_flow *dev_flow, in flow_dv_matcher_register() argument
8263 dev_flow->external, tunnel, in flow_dv_matcher_register()
8277 dev_flow->handle->dvh.matcher = cache; in flow_dv_matcher_register()
8329 struct mlx5_flow *dev_flow, in flow_dv_tag_resource_register() argument
8340 dev_flow->handle->dvh.rix_tag = cache_resource->idx; in flow_dv_tag_resource_register()
8341 dev_flow->dv.tag_resource = cache_resource; in flow_dv_tag_resource_register()
8452 struct mlx5_flow *dev_flow, in flow_dv_translate_create_counter() argument
8467 (void *)(uintptr_t)(dev_flow->flow_idx); in flow_dv_translate_create_counter()
8529 flow_dv_hashfields_set(struct mlx5_flow *dev_flow, in flow_dv_hashfields_set() argument
8532 uint64_t items = dev_flow->handle->layers; in flow_dv_hashfields_set()
8536 dev_flow->hash_fields = 0; in flow_dv_hashfields_set()
8539 dev_flow->hash_fields |= IBV_RX_HASH_INNER; in flow_dv_hashfields_set()
8547 dev_flow->hash_fields |= IBV_RX_HASH_SRC_IPV4; in flow_dv_hashfields_set()
8549 dev_flow->hash_fields |= IBV_RX_HASH_DST_IPV4; in flow_dv_hashfields_set()
8551 dev_flow->hash_fields |= MLX5_IPV4_IBV_RX_HASH; in flow_dv_hashfields_set()
8557 dev_flow->hash_fields |= IBV_RX_HASH_SRC_IPV6; in flow_dv_hashfields_set()
8559 dev_flow->hash_fields |= IBV_RX_HASH_DST_IPV6; in flow_dv_hashfields_set()
8561 dev_flow->hash_fields |= MLX5_IPV6_IBV_RX_HASH; in flow_dv_hashfields_set()
8568 dev_flow->hash_fields |= in flow_dv_hashfields_set()
8571 dev_flow->hash_fields |= in flow_dv_hashfields_set()
8574 dev_flow->hash_fields |= MLX5_UDP_IBV_RX_HASH; in flow_dv_hashfields_set()
8580 dev_flow->hash_fields |= in flow_dv_hashfields_set()
8583 dev_flow->hash_fields |= in flow_dv_hashfields_set()
8586 dev_flow->hash_fields |= MLX5_TCP_IBV_RX_HASH; in flow_dv_hashfields_set()
8608 struct mlx5_flow *dev_flow, in flow_dv_hrxq_prepare() argument
8613 struct mlx5_flow_handle *dh = dev_flow->handle; in flow_dv_hrxq_prepare()
8618 rss_desc->hash_fields = dev_flow->hash_fields; in flow_dv_hrxq_prepare()
8807 struct mlx5_flow *dev_flow, in flow_dv_sample_resource_register() argument
8823 dev_flow->handle->dvh.rix_sample = cache_resource->idx; in flow_dv_sample_resource_register()
8824 dev_flow->dv.sample_res = cache_resource; in flow_dv_sample_resource_register()
8980 struct mlx5_flow *dev_flow, in flow_dv_dest_array_resource_register() argument
8996 dev_flow->handle->dvh.rix_dest_array = cache_resource->idx; in flow_dv_dest_array_resource_register()
8997 dev_flow->dv.dest_array_res = cache_resource; in flow_dv_dest_array_resource_register()
9027 struct mlx5_flow *dev_flow, in flow_dv_translate_action_sample() argument
9064 hrxq = flow_dv_hrxq_prepare(dev, dev_flow, in flow_dv_translate_action_sample()
9079 dev_flow->handle->rix_hrxq = hrxq_idx; in flow_dv_translate_action_sample()
9080 dev_flow->handle->fate_action = in flow_dv_translate_action_sample()
9090 dev_flow->handle->mark = 1; in flow_dv_translate_action_sample()
9091 pre_rix = dev_flow->handle->dvh.rix_tag; in flow_dv_translate_action_sample()
9093 pre_r = dev_flow->dv.tag_resource; in flow_dv_translate_action_sample()
9095 dev_flow, error)) in flow_dv_translate_action_sample()
9097 MLX5_ASSERT(dev_flow->dv.tag_resource); in flow_dv_translate_action_sample()
9099 dev_flow->dv.tag_resource->action; in flow_dv_translate_action_sample()
9101 dev_flow->handle->dvh.rix_tag; in flow_dv_translate_action_sample()
9105 dev_flow->dv.tag_resource = pre_r; in flow_dv_translate_action_sample()
9106 dev_flow->handle->dvh.rix_tag = pre_rix; in flow_dv_translate_action_sample()
9115 dev_flow, sub_actions->conf, 0); in flow_dv_translate_action_sample()
9140 pre_rix = dev_flow->handle->rix_port_id_action; in flow_dv_translate_action_sample()
9141 pre_r = dev_flow->dv.port_id_action; in flow_dv_translate_action_sample()
9147 (dev, &port_id_resource, dev_flow, error)) in flow_dv_translate_action_sample()
9150 dev_flow->dv.port_id_action->action; in flow_dv_translate_action_sample()
9152 dev_flow->handle->rix_port_id_action; in flow_dv_translate_action_sample()
9156 dev_flow->dv.port_id_action = pre_r; in flow_dv_translate_action_sample()
9157 dev_flow->handle->rix_port_id_action = pre_rix; in flow_dv_translate_action_sample()
9164 pre_rix = dev_flow->handle->dvh.rix_encap_decap; in flow_dv_translate_action_sample()
9165 pre_r = dev_flow->dv.encap_decap; in flow_dv_translate_action_sample()
9167 dev_flow, in flow_dv_translate_action_sample()
9172 dev_flow->dv.encap_decap->action; in flow_dv_translate_action_sample()
9174 dev_flow->handle->dvh.rix_encap_decap; in flow_dv_translate_action_sample()
9178 dev_flow->dv.encap_decap = pre_r; in flow_dv_translate_action_sample()
9179 dev_flow->handle->dvh.rix_encap_decap = pre_rix; in flow_dv_translate_action_sample()
9190 res->ft_id = dev_flow->dv.group; in flow_dv_translate_action_sample()
9238 struct mlx5_flow *dev_flow, in flow_dv_create_action_sample() argument
9261 hrxq = flow_dv_hrxq_prepare(dev, dev_flow, in flow_dv_create_action_sample()
9273 dev_flow->handle->rix_hrxq = hrxq_idx; in flow_dv_create_action_sample()
9274 dev_flow->handle->fate_action = MLX5_FLOW_FATE_QUEUE; in flow_dv_create_action_sample()
9279 dev_flow->handle->dvh.rix_encap_decap; in flow_dv_create_action_sample()
9281 dev_flow->dv.encap_decap->action; in flow_dv_create_action_sample()
9286 dev_flow->handle->rix_port_id_action; in flow_dv_create_action_sample()
9288 dev_flow->dv.port_id_action->action; in flow_dv_create_action_sample()
9299 dev_flow, error)) in flow_dv_create_action_sample()
9306 if (flow_dv_sample_resource_register(dev, res, dev_flow, error)) in flow_dv_create_action_sample()
9604 struct mlx5_flow *dev_flow, in flow_dv_translate() argument
9612 struct rte_flow *flow = dev_flow->flow; in flow_dv_translate()
9613 struct mlx5_flow_handle *handle = dev_flow->handle; in flow_dv_translate()
9642 void *match_value = dev_flow->dv.value.buf; in flow_dv_translate()
9656 .external = !!dev_flow->external, in flow_dv_translate()
9659 .skip_scale = !!dev_flow->skip_scale, in flow_dv_translate()
9678 dev_flow->tunnel ? dev_flow->tunnel : NULL; in flow_dv_translate()
9687 dev_flow->dv.group = table; in flow_dv_translate()
9714 if (flow_dv_create_action_l2_decap(dev, dev_flow, in flow_dv_translate()
9718 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9719 dev_flow->dv.encap_decap->action; in flow_dv_translate()
9756 (dev, &port_id_resource, dev_flow, error)) in flow_dv_translate()
9758 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9759 dev_flow->dv.port_id_action->action; in flow_dv_translate()
9761 dev_flow->handle->fate_action = MLX5_FLOW_FATE_PORT_ID; in flow_dv_translate()
9767 dev_flow->handle->mark = 1; in flow_dv_translate()
9788 dev_flow, error)) in flow_dv_translate()
9790 MLX5_ASSERT(dev_flow->dv.tag_resource); in flow_dv_translate()
9791 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9792 dev_flow->dv.tag_resource->action; in flow_dv_translate()
9796 dev_flow->handle->mark = 1; in flow_dv_translate()
9817 dev_flow, error)) in flow_dv_translate()
9819 MLX5_ASSERT(dev_flow->dv.tag_resource); in flow_dv_translate()
9820 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9821 dev_flow->dv.tag_resource->action; in flow_dv_translate()
9841 dev_flow->handle->fate_action = MLX5_FLOW_FATE_DROP; in flow_dv_translate()
9848 dev_flow->handle->fate_action = MLX5_FLOW_FATE_QUEUE; in flow_dv_translate()
9865 dev_flow->handle->fate_action = rss_desc->shared_rss ? in flow_dv_translate()
9874 dev_flow->dv.actions[actions_n++] = age_act->dr_action; in flow_dv_translate()
9887 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9910 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9932 (dev, attr, &vlan, dev_flow, error)) in flow_dv_translate()
9934 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9935 dev_flow->dv.push_vlan_res->action; in flow_dv_translate()
9957 dev_flow, in flow_dv_translate()
9961 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9962 dev_flow->dv.encap_decap->action; in flow_dv_translate()
9970 if (flow_dv_create_action_l2_decap(dev, dev_flow, in flow_dv_translate()
9974 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9975 dev_flow->dv.encap_decap->action; in flow_dv_translate()
9982 (dev, actions, dev_flow, attr, error)) in flow_dv_translate()
9984 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9985 dev_flow->dv.encap_decap->action; in flow_dv_translate()
9989 (dev, actions, dev_flow, attr->transfer, in flow_dv_translate()
9992 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
9993 dev_flow->dv.encap_decap->action; in flow_dv_translate()
10005 (dev, dev_flow, attr->transfer, error)) in flow_dv_translate()
10007 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
10008 dev_flow->dv.encap_decap->action; in flow_dv_translate()
10026 !!dev_flow->external, in flow_dv_translate()
10036 (dev, tbl, dev_flow, error)) { in flow_dv_translate()
10044 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
10045 dev_flow->dv.jump->action; in flow_dv_translate()
10047 dev_flow->handle->fate_action = MLX5_FLOW_FATE_JUMP; in flow_dv_translate()
10083 &flow_attr, dev_flow, !!(action_flags & in flow_dv_translate()
10093 (mhdr_res, items, &flow_attr, dev_flow, in flow_dv_translate()
10102 dev_flow, !!(action_flags & in flow_dv_translate()
10142 dev_flow->handle->fate_action = in flow_dv_translate()
10171 dev_flow->dv.actions[actions_n++] = in flow_dv_translate()
10191 dev_flow, attr, in flow_dv_translate()
10211 (dev, mhdr_res, dev_flow, error)) in flow_dv_translate()
10213 dev_flow->dv.actions[modify_action_position] = in flow_dv_translate()
10219 dev_flow, count, age); in flow_dv_translate()
10228 dev_flow->dv.actions[actions_n] = in flow_dv_translate()
10235 dev_flow, in flow_dv_translate()
10249 dev_flow->dv.actions[sample_act_pos] = in flow_dv_translate()
10250 dev_flow->dv.dest_array_res->action; in flow_dv_translate()
10252 dev_flow->dv.actions[sample_act_pos] = in flow_dv_translate()
10253 dev_flow->dv.sample_res->verbs_action; in flow_dv_translate()
10277 dev_flow->dv.actions[i]) || in flow_dv_translate()
10280 dev_flow->dv.actions[i])) in flow_dv_translate()
10282 temp_actions[tmp_actions_n++] = dev_flow->dv.actions[i]; in flow_dv_translate()
10284 memcpy((void *)dev_flow->dv.actions, in flow_dv_translate()
10289 dev_flow->dv.actions_n = actions_n; in flow_dv_translate()
10290 dev_flow->act_flags = action_flags; in flow_dv_translate()
10308 dev_flow->dv.group); in flow_dv_translate()
10311 !dev_flow->external ? in flow_dv_translate()
10318 flow_dv_translate_item_vlan(dev_flow, in flow_dv_translate()
10321 dev_flow->dv.group); in flow_dv_translate()
10333 dev_flow->dv.group); in flow_dv_translate()
10356 dev_flow->dv.group); in flow_dv_translate()
10506 dev_flow->dv.value.size = in flow_dv_translate()
10533 dev_flow->dv.value.buf)); in flow_dv_translate()
10541 flow_dv_hashfields_set(dev_flow, rss_desc); in flow_dv_translate()
10550 tbl_key.table_id = dev_flow->dv.group; in flow_dv_translate()
10551 if (flow_dv_matcher_register(dev, &matcher, &tbl_key, dev_flow, in flow_dv_translate()
10673 __flow_dv_rss_get_hrxq(struct rte_eth_dev *dev, struct mlx5_flow *dev_flow, in __flow_dv_rss_get_hrxq() argument
10683 dev_flow->hash_fields, in __flow_dv_rss_get_hrxq()
10684 !!(dev_flow->handle->layers & in __flow_dv_rss_get_hrxq()
10690 *hrxq = flow_dv_hrxq_prepare(dev, dev_flow, rss_desc, in __flow_dv_rss_get_hrxq()
10717 struct mlx5_flow *dev_flow; in flow_dv_apply() local
10733 dev_flow = &wks->flows[idx]; in flow_dv_apply()
10734 dv = &dev_flow->dv; in flow_dv_apply()
10735 dh = dev_flow->handle; in flow_dv_apply()
10751 (dev, dev_flow, rss_desc, &hrxq); in flow_dv_apply()