net/mlx5: use meter color register for connection tracking

Based on the capacity, 3 registers could be used. Due to the register
allocation, only the one REG_C_3 for meter color could be reused
right now.

Then in the same flow, no more than one ASO action can be supported.

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
This commit is contained in:
Bing Zhao 2021-05-05 15:23:14 +03:00 committed by Raslan Darawsheh
parent 0c6285b727
commit 8ebbc01f42
3 changed files with 8 additions and 1 deletions

View File

@ -434,6 +434,10 @@ Limitations
or
flow create 0 ingress pattern integrity level is 0 value mask l4_ok value spec 0 / eth / ipv4 proto is udp / end …
- Connection tracking:
- Cannot co-exist with ASO meter, ASO age action in a single flow rule.
Statistics
----------

View File

@ -759,7 +759,9 @@ mlx5_flow_get_reg_id(struct rte_eth_dev *dev,
return priv->mtr_color_reg != REG_C_2 ? REG_C_2 :
REG_C_3;
case MLX5_MTR_COLOR:
case MLX5_ASO_FLOW_HIT: /* Both features use the same REG_C. */
case MLX5_ASO_FLOW_HIT:
case MLX5_ASO_CONNTRACK:
/* All features use the same REG_C. */
MLX5_ASSERT(priv->mtr_color_reg != REG_NON);
return priv->mtr_color_reg;
case MLX5_COPY_MARK:

View File

@ -85,6 +85,7 @@ enum mlx5_feature_name {
MLX5_MTR_COLOR,
MLX5_MTR_ID,
MLX5_ASO_FLOW_HIT,
MLX5_ASO_CONNTRACK,
};
/* Default queue number. */