|
@@ -93,8 +93,16 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw,
|
|
|
misc = MLX5_ADDR_OF(fte_match_param, spec->match_value, misc_parameters);
|
|
|
MLX5_SET(fte_match_set_misc, misc, source_port, attr->in_rep->vport);
|
|
|
|
|
|
+ if (MLX5_CAP_ESW(esw->dev, merged_eswitch))
|
|
|
+ MLX5_SET(fte_match_set_misc, misc,
|
|
|
+ source_eswitch_owner_vhca_id,
|
|
|
+ MLX5_CAP_GEN(attr->in_mdev, vhca_id));
|
|
|
+
|
|
|
misc = MLX5_ADDR_OF(fte_match_param, spec->match_criteria, misc_parameters);
|
|
|
MLX5_SET_TO_ONES(fte_match_set_misc, misc, source_port);
|
|
|
+ if (MLX5_CAP_ESW(esw->dev, merged_eswitch))
|
|
|
+ MLX5_SET_TO_ONES(fte_match_set_misc, misc,
|
|
|
+ source_eswitch_owner_vhca_id);
|
|
|
|
|
|
spec->match_criteria_enable = MLX5_MATCH_OUTER_HEADERS |
|
|
|
MLX5_MATCH_MISC_PARAMETERS;
|