net/mlx5: fix representor ID check for sampling
The representor definition was introduced in the latest code. For non-representor port, like PF port, use the 0xffff instead of -1. This patch updates the representor id checking during splitting sample flow. Fixes: cb95feefdd03 ("net/mlx5: support sub-function representor") Cc: stable@dpdk.org Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> Acked-by: Xueming Li <xuemingl@nvidia.com>
This commit is contained in:
parent
2f6c2adbe5
commit
b3880af2ce
@ -1331,7 +1331,7 @@ struct mlx5_priv {
|
||||
uint16_t vport_id; /* Associated VF vport index (if any). */
|
||||
uint32_t vport_meta_tag; /* Used for vport index match ove VF LAG. */
|
||||
uint32_t vport_meta_mask; /* Used for vport index field match mask. */
|
||||
int32_t representor_id; /* -1 if not a representor. */
|
||||
uint16_t representor_id; /* UINT16_MAX if not a representor. */
|
||||
int32_t pf_bond; /* >=0, representor owner PF index in bonding. */
|
||||
unsigned int if_index; /* Associated kernel network device index. */
|
||||
/* RX/TX queues. */
|
||||
|
@ -5900,8 +5900,8 @@ flow_create_split_sample(struct rte_eth_dev *dev,
|
||||
RTE_FLOW_ERROR_TYPE_ACTION,
|
||||
NULL, "no memory to split "
|
||||
"sample flow");
|
||||
/* The representor_id is -1 for uplink. */
|
||||
fdb_tx = (attr->transfer && priv->representor_id != -1);
|
||||
/* The representor_id is UINT16_MAX for uplink. */
|
||||
fdb_tx = (attr->transfer && priv->representor_id != UINT16_MAX);
|
||||
/*
|
||||
* When reg_c_preserve is set, metadata registers Cx preserve
|
||||
* their value even through packet duplication.
|
||||
|
@ -5524,7 +5524,7 @@ flow_dv_validate_action_sample(uint64_t *action_flags,
|
||||
"E-Switch must has a dest "
|
||||
"port for mirroring");
|
||||
if (!priv->config.hca_attr.reg_c_preserve &&
|
||||
priv->representor_id != -1)
|
||||
priv->representor_id != UINT16_MAX)
|
||||
*fdb_mirror_limit = 1;
|
||||
}
|
||||
/* Continue validation for Xcap actions.*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user