net/mlx5: check Tx queue size overflow
[dpdk.git] / drivers / net / mlx5 / mlx5.h
index 0a6d7f1..82fcb29 100644 (file)
@@ -99,7 +99,7 @@ struct mlx5_switch_info {
        uint64_t switch_id; /**< Switch identifier. */
 };
 
-LIST_HEAD(mlx5_dev_list, mlx5_priv);
+LIST_HEAD(mlx5_dev_list, mlx5_ibv_shared);
 
 /* Shared data between primary and secondary processes. */
 struct mlx5_shared_data {
@@ -275,6 +275,16 @@ struct mlx5_ibv_shared {
        char ibdev_name[IBV_SYSFS_NAME_MAX]; /* IB device name. */
        char ibdev_path[IBV_SYSFS_PATH_MAX]; /* IB device path for secondary */
        struct ibv_device_attr_ex device_attr; /* Device properties. */
+       struct rte_pci_device *pci_dev; /* Backend PCI device. */
+       LIST_ENTRY(mlx5_ibv_shared) mem_event_cb;
+       /**< Called by memory event callback. */
+       struct {
+               uint32_t dev_gen; /* Generation number to flush local caches. */
+               rte_rwlock_t rwlock; /* MR Lock. */
+               struct mlx5_mr_btree cache; /* Global MR cache table. */
+               struct mlx5_mr_list mr_list; /* Registered MR list. */
+               struct mlx5_mr_list mr_free_list; /* Freed MR list. */
+       } mr;
        /* Shared DV/DR flow data section. */
        pthread_mutex_t dv_mutex; /* DV context mutex. */
        uint32_t dv_refcnt; /* DV/DR data reference counter. */
@@ -314,8 +324,6 @@ struct mlx5_proc_priv {
        ((struct mlx5_proc_priv *)rte_eth_devices[port_id].process_private)
 
 struct mlx5_priv {
-       LIST_ENTRY(mlx5_priv) mem_event_cb;
-       /**< Called by memory event callback. */
        struct rte_eth_dev_data *dev_data;  /* Pointer to device data. */
        struct mlx5_ibv_shared *sh; /* Shared IB device context. */
        uint32_t ibv_port; /* IB device port number. */
@@ -347,13 +355,6 @@ struct mlx5_priv {
        struct mlx5_flows ctrl_flows; /* Control flow rules. */
        LIST_HEAD(counters, mlx5_flow_counter) flow_counters;
        /* Flow counters. */
-       struct {
-               uint32_t dev_gen; /* Generation number to flush local caches. */
-               rte_rwlock_t rwlock; /* MR Lock. */
-               struct mlx5_mr_btree cache; /* Global MR cache table. */
-               struct mlx5_mr_list mr_list; /* Registered MR list. */
-               struct mlx5_mr_list mr_free_list; /* Freed MR list. */
-       } mr;
        LIST_HEAD(rxq, mlx5_rxq_ctrl) rxqsctrl; /* DPDK Rx queues. */
        LIST_HEAD(rxqibv, mlx5_rxq_ibv) rxqsibv; /* Verbs Rx queues. */
        LIST_HEAD(hrxq, mlx5_hrxq) hrxqs; /* Verbs Hash Rx queues. */