net/mlx5: prepare meter flow tables
[dpdk.git] / drivers / net / mlx5 / mlx5_prm.h
index b405cb6..ebedc90 100644 (file)
@@ -357,12 +357,14 @@ struct mlx5_cqe {
        uint16_t hdr_type_etc;
        uint16_t vlan_info;
        uint8_t lro_num_seg;
-       uint8_t rsvd3[11];
+       uint8_t rsvd3[3];
+       uint32_t flow_table_metadata;
+       uint8_t rsvd4[4];
        uint32_t byte_cnt;
        uint64_t timestamp;
        uint32_t sop_drop_qpn;
        uint16_t wqe_counter;
-       uint8_t rsvd4;
+       uint8_t rsvd5;
        uint8_t op_own;
 };
 
@@ -1766,6 +1768,19 @@ struct mlx5_mini_cqe8 {
        uint32_t byte_cnt;
 };
 
+/* srTCM PRM flow meter parameters. */
+enum {
+       MLX5_FLOW_COLOR_RED = 0,
+       MLX5_FLOW_COLOR_YELLOW,
+       MLX5_FLOW_COLOR_GREEN,
+       MLX5_FLOW_COLOR_UNDEFINED,
+};
+
+/* Maximum value of srTCM metering parameters. */
+#define MLX5_SRTCM_CBS_MAX (0xFF * (1ULL << 0x1F))
+#define MLX5_SRTCM_CIR_MAX (8 * (1ULL << 30) * 0xFF)
+#define MLX5_SRTCM_EBS_MAX 0
+
 /**
  * Convert a user mark to flow mark.
  *