Lines Matching refs:dest

370 	       struct mlx5_flow_destination *dest);
1107 struct mlx5_flow_destination *dest) in _mlx5_modify_rule_destination() argument
1123 memcpy(&rule->dest_attr, dest, sizeof(*dest)); in _mlx5_modify_rule_destination()
1159 struct mlx5_flow_destination dest = {}; in connect_fwd_rules() local
1169 dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; in connect_fwd_rules()
1170 dest.ft = new_next_ft; in connect_fwd_rules()
1180 err = _mlx5_modify_rule_destination(iter, &dest); in connect_fwd_rules()
1425 static struct mlx5_flow_rule *alloc_rule(struct mlx5_flow_destination *dest) in alloc_rule() argument
1435 if (dest) in alloc_rule()
1436 memcpy(&rule->dest_attr, dest, sizeof(*dest)); in alloc_rule()
1458 struct mlx5_flow_destination *dest, in destroy_flow_handle() argument
1473 struct mlx5_flow_destination *dest, in create_flow_handle() argument
1490 if (dest) { in create_flow_handle()
1491 rule = find_flow_rule(fte, dest + i); in create_flow_handle()
1499 rule = alloc_rule(dest + i); in create_flow_handle()
1507 if (dest && in create_flow_handle()
1508 dest[i].type != MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE) in create_flow_handle()
1512 if (dest) { in create_flow_handle()
1515 if (is_fwd_dest_type(dest[i].type)) in create_flow_handle()
1518 type = dest[i].type == in create_flow_handle()
1529 destroy_flow_handle(fte, handle, dest, i); in create_flow_handle()
1537 struct mlx5_flow_destination *dest, in add_rule_fte() argument
1548 handle = create_flow_handle(fte, dest, dest_num, &modify_mask, in add_rule_fte()
1573 destroy_flow_handle(fte, handle, dest, handle->num_rules); in add_rule_fte()
1711 struct mlx5_flow_destination *dest) in find_flow_rule() argument
1716 if (mlx5_flow_dests_cmp(&rule->dest_attr, dest)) in find_flow_rule()
1798 struct mlx5_flow_destination *dest, in add_rule_fg() argument
1813 handle = add_rule_fte(fte, fg, dest, dest_num, in add_rule_fg()
1838 static bool dest_is_valid(struct mlx5_flow_destination *dest, in dest_is_valid() argument
1845 if (dest && (dest->type == MLX5_FLOW_DESTINATION_TYPE_COUNTER)) in dest_is_valid()
1857 if (dest->type == MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE && in dest_is_valid()
1858 ft->type != dest->ft->type) in dest_is_valid()
1862 if (!dest || ((dest->type == in dest_is_valid()
1864 (dest->ft->level <= ft->level && !ignore_level))) in dest_is_valid()
1969 struct mlx5_flow_destination *dest, in try_add_to_existing_fg() argument
2000 rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte_tmp); in try_add_to_existing_fg()
2052 rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); in try_add_to_existing_fg()
2068 struct mlx5_flow_destination *dest, in _mlx5_add_flow_rules() argument
2088 if (dest && dest_num <= 0) in _mlx5_add_flow_rules()
2092 if (!dest_is_valid(&dest[i], flow_act, ft)) in _mlx5_add_flow_rules()
2112 rule = try_add_to_existing_fg(ft, &match_head.list, spec, flow_act, dest, in _mlx5_add_flow_rules()
2158 rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); in _mlx5_add_flow_rules()
2183 struct mlx5_flow_destination *dest, in mlx5_add_flow_rules() argument
2198 return _mlx5_add_flow_rules(ft, spec, flow_act, dest, num_dest); in mlx5_add_flow_rules()
2210 gen_dest = kcalloc(num_dest + 1, sizeof(*dest), in mlx5_add_flow_rules()
2217 gen_dest[i] = dest[i]; in mlx5_add_flow_rules()
2221 dest = gen_dest; in mlx5_add_flow_rules()
2226 handle = _mlx5_add_flow_rules(ft, spec, flow_act, dest, num_dest); in mlx5_add_flow_rules()