net/mlx5: allocate meter from indexed pool
[dpdk.git] / drivers / net / mlx5 / mlx5.h
index 0b122f1..9d5105e 100644 (file)
 
 
 enum mlx5_ipool_index {
+#ifdef HAVE_IBV_FLOW_DV_SUPPORT
        MLX5_IPOOL_DECAP_ENCAP = 0, /* Pool for encap/decap resource. */
        MLX5_IPOOL_PUSH_VLAN, /* Pool for push vlan resource. */
+       MLX5_IPOOL_TAG, /* Pool for tag resource. */
+       MLX5_IPOOL_PORT_ID, /* Pool for port id resource. */
+       MLX5_IPOOL_JUMP, /* Pool for jump resource. */
+#endif
+       MLX5_IPOOL_MTR, /* Pool for meter resource. */
+       MLX5_IPOOL_HRXQ, /* Pool for hrxq resource. */
+       MLX5_IPOOL_MLX5_FLOW, /* Pool for mlx5 flow handle. */
        MLX5_IPOOL_MAX,
 };
 
@@ -433,8 +441,7 @@ struct mlx5_ibv_shared {
        uint32_t encaps_decaps; /* Encap/decap action indexed memory list. */
        LIST_HEAD(modify_cmd, mlx5_flow_dv_modify_hdr_resource) modify_cmds;
        struct mlx5_hlist *tag_table;
-       LIST_HEAD(port_id_action_list, mlx5_flow_dv_port_id_action_resource)
-               port_id_action_list; /* List of port ID actions. */
+       uint32_t port_id_action_list; /* List of port ID actions. */
        uint32_t push_vlan_action_list; /* List of push VLAN actions. */
        struct mlx5_flow_counter_mng cmng; /* Counters management structure. */
        struct mlx5_indexed_pool *ipool[MLX5_IPOOL_MAX];
@@ -511,7 +518,7 @@ struct mlx5_priv {
        int flow_nested_idx; /* Intermediate device flow index, nested. */
        LIST_HEAD(rxq, mlx5_rxq_ctrl) rxqsctrl; /* DPDK Rx queues. */
        LIST_HEAD(rxqobj, mlx5_rxq_obj) rxqsobj; /* Verbs/DevX Rx queues. */
-       LIST_HEAD(hrxq, mlx5_hrxq) hrxqs; /* Verbs Hash Rx queues. */
+       uint32_t hrxqs; /* Verbs Hash Rx queues. */
        LIST_HEAD(txq, mlx5_txq_ctrl) txqsctrl; /* DPDK Tx queues. */
        LIST_HEAD(txqobj, mlx5_txq_obj) txqsobj; /* Verbs/DevX Tx queues. */
        /* Indirection tables. */