|
|
@@ -1372,6 +1372,8 @@ static int create_auto_flow_group(struct mlx5_flow_table *ft,
|
|
|
struct mlx5_core_dev *dev = get_dev(&ft->node);
|
|
|
int inlen = MLX5_ST_SZ_BYTES(create_flow_group_in);
|
|
|
void *match_criteria_addr;
|
|
|
+ u8 src_esw_owner_mask_on;
|
|
|
+ void *misc;
|
|
|
int err;
|
|
|
u32 *in;
|
|
|
|
|
|
@@ -1384,6 +1386,14 @@ static int create_auto_flow_group(struct mlx5_flow_table *ft,
|
|
|
MLX5_SET(create_flow_group_in, in, start_flow_index, fg->start_index);
|
|
|
MLX5_SET(create_flow_group_in, in, end_flow_index, fg->start_index +
|
|
|
fg->max_ftes - 1);
|
|
|
+
|
|
|
+ misc = MLX5_ADDR_OF(fte_match_param, fg->mask.match_criteria,
|
|
|
+ misc_parameters);
|
|
|
+ src_esw_owner_mask_on = !!MLX5_GET(fte_match_set_misc, misc,
|
|
|
+ source_eswitch_owner_vhca_id);
|
|
|
+ MLX5_SET(create_flow_group_in, in,
|
|
|
+ source_eswitch_owner_vhca_id_valid, src_esw_owner_mask_on);
|
|
|
+
|
|
|
match_criteria_addr = MLX5_ADDR_OF(create_flow_group_in,
|
|
|
in, match_criteria);
|
|
|
memcpy(match_criteria_addr, fg->mask.match_criteria,
|