Lines Matching refs:dev_flow
3669 struct mlx5_flow *dev_flow __rte_unused, in flow_null_translate()
3886 flow_drv_translate(struct rte_eth_dev *dev, struct mlx5_flow *dev_flow, in flow_drv_translate() argument
3893 enum mlx5_flow_drv_type type = dev_flow->flow->drv_type; in flow_drv_translate()
3897 return fops->translate(dev, dev_flow, attr, items, actions, error); in flow_drv_translate()
4305 flow_get_prefix_layer_flags(struct mlx5_flow *dev_flow) in flow_get_prefix_layer_flags() argument
4314 if (!(dev_flow->act_flags & MLX5_FLOW_ACTION_DECAP)) in flow_get_prefix_layer_flags()
4315 return dev_flow->handle->layers; in flow_get_prefix_layer_flags()
4317 if (dev_flow->handle->layers & MLX5_FLOW_LAYER_INNER_L3_IPV4) in flow_get_prefix_layer_flags()
4319 else if (dev_flow->handle->layers & MLX5_FLOW_LAYER_INNER_L3_IPV6) in flow_get_prefix_layer_flags()
4322 if (dev_flow->handle->layers & MLX5_FLOW_LAYER_INNER_L4_TCP) in flow_get_prefix_layer_flags()
4324 else if (dev_flow->handle->layers & MLX5_FLOW_LAYER_INNER_L4_UDP) in flow_get_prefix_layer_flags()
5137 struct mlx5_flow *dev_flow; in flow_create_split_inner() local
5140 dev_flow = flow_drv_prepare(dev, flow, attr, items, actions, in flow_create_split_inner()
5142 if (!dev_flow) in flow_create_split_inner()
5144 dev_flow->flow = flow; in flow_create_split_inner()
5145 dev_flow->external = flow_split_info->external; in flow_create_split_inner()
5146 dev_flow->skip_scale = flow_split_info->skip_scale; in flow_create_split_inner()
5148 SILIST_INSERT(&flow->dev_handles, dev_flow->handle_idx, in flow_create_split_inner()
5149 dev_flow->handle, next); in flow_create_split_inner()
5156 dev_flow->handle->layers = flow_split_info->prefix_layers; in flow_create_split_inner()
5162 *sub_flow = dev_flow; in flow_create_split_inner()
5164 dev_flow->dv.table_id = flow_split_info->table_id; in flow_create_split_inner()
5166 return flow_drv_translate(dev, dev_flow, attr, items, actions, error); in flow_create_split_inner()
5213 struct mlx5_flow dev_flow = {0}; in get_meter_sub_policy() local
5231 dev_flow.handle = &dev_handle; in get_meter_sub_policy()
5232 dev_flow.ingress = attr->ingress; in get_meter_sub_policy()
5233 dev_flow.flow = flow; in get_meter_sub_policy()
5234 dev_flow.external = 0; in get_meter_sub_policy()
5236 dev_flow.dv.transfer = attr->transfer; in get_meter_sub_policy()
5241 if (flow_drv_translate(dev, &dev_flow, attr, in get_meter_sub_policy()
5247 dev_flow.hash_fields; in get_meter_sub_policy()
5252 !!(dev_flow.handle->layers & in get_meter_sub_policy()
6154 struct mlx5_flow *dev_flow = NULL; in flow_create_split_metadata() local
6240 ret = flow_create_split_inner(dev, flow, &dev_flow, attr, in flow_create_split_metadata()
6245 MLX5_ASSERT(dev_flow); in flow_create_split_metadata()
6277 uint64_t layers = flow_get_prefix_layer_flags(dev_flow); in flow_create_split_metadata()
6294 dev_flow->handle->split_flow_id = qrss_id; in flow_create_split_metadata()
6301 dev_flow = NULL; in flow_create_split_metadata()
6306 ret = flow_create_split_inner(dev, flow, &dev_flow, in flow_create_split_metadata()
6314 MLX5_ASSERT(dev_flow); in flow_create_split_metadata()
6358 struct mlx5_flow *dev_flow = NULL; in flow_meter_create_drop_flow_with_org_pattern() local
6375 return flow_create_split_inner(dev, flow, &dev_flow, in flow_meter_create_drop_flow_with_org_pattern()
6421 struct mlx5_flow *dev_flow = NULL; in flow_create_split_meter() local
6527 ret = flow_create_split_inner(dev, flow, &dev_flow, in flow_create_split_meter()
6538 dev_flow->handle->split_flow_id = mtr_flow_id; in flow_create_split_meter()
6539 dev_flow->handle->is_meter_flow_id = 1; in flow_create_split_meter()
6555 flow_get_prefix_layer_flags(dev_flow); in flow_create_split_meter()
6616 struct mlx5_flow *dev_flow = NULL; in flow_create_split_sample() local
6684 ret = flow_create_split_inner(dev, flow, &dev_flow, attr, in flow_create_split_sample()
6691 dev_flow->handle->split_flow_id = tag_id; in flow_create_split_sample()
6696 dev_flow->dv.sample_res; in flow_create_split_sample()
6709 flow_get_prefix_layer_flags(dev_flow); in flow_create_split_sample()
6858 struct mlx5_flow *dev_flow; in flow_list_create() local
7006 dev_flow = flow_drv_prepare(dev, flow, &attr_tx, items_tx.items, in flow_list_create()
7009 if (!dev_flow) in flow_list_create()
7011 dev_flow->flow = flow; in flow_list_create()
7012 dev_flow->external = 0; in flow_list_create()
7013 SILIST_INSERT(&flow->dev_handles, dev_flow->handle_idx, in flow_list_create()
7014 dev_flow->handle, next); in flow_list_create()
7015 ret = flow_drv_translate(dev, dev_flow, &attr_tx, in flow_list_create()
10023 struct mlx5_flow *dev_flow; in flow_tunnel_add_default_miss() local
10103 dev_flow = flow_drv_prepare(dev, flow, &miss_attr, in flow_tunnel_add_default_miss()
10105 if (!dev_flow) in flow_tunnel_add_default_miss()
10107 dev_flow->flow = flow; in flow_tunnel_add_default_miss()
10108 dev_flow->external = true; in flow_tunnel_add_default_miss()
10109 dev_flow->tunnel = tunnel; in flow_tunnel_add_default_miss()
10110 dev_flow->tof_type = MLX5_TUNNEL_OFFLOAD_MISS_RULE; in flow_tunnel_add_default_miss()
10112 SILIST_INSERT(&flow->dev_handles, dev_flow->handle_idx, in flow_tunnel_add_default_miss()
10113 dev_flow->handle, next); in flow_tunnel_add_default_miss()
10118 ret = flow_drv_translate(dev, dev_flow, &miss_attr, miss_items, in flow_tunnel_add_default_miss()