net/mlx5: support shared Rx queue
[dpdk.git] / drivers / net / mlx5 / mlx5_rx.h
index 413e36f..eda6eca 100644 (file)
@@ -96,6 +96,7 @@ struct mlx5_rxq_data {
        unsigned int lro:1; /* Enable LRO. */
        unsigned int dynf_meta:1; /* Dynamic metadata is configured. */
        unsigned int mcqe_format:3; /* CQE compression format. */
+       unsigned int shared:1; /* Shared RXQ. */
        volatile uint32_t *rq_db;
        volatile uint32_t *cq_db;
        uint16_t port_id;
@@ -158,8 +159,10 @@ struct mlx5_rxq_ctrl {
        struct mlx5_dev_ctx_shared *sh; /* Shared context. */
        enum mlx5_rxq_type type; /* Rxq type. */
        unsigned int socket; /* CPU socket ID for allocations. */
+       LIST_ENTRY(mlx5_rxq_ctrl) share_entry; /* Entry in shared RXQ list. */
        uint32_t share_group; /* Group ID of shared RXQ. */
        uint16_t share_qid; /* Shared RxQ ID in group. */
+       unsigned int started:1; /* Whether (shared) RXQ has been started. */
        unsigned int irq:1; /* Whether IRQ is enabled. */
        uint32_t flow_mark_n; /* Number of Mark/Flag flows using this Queue. */
        uint32_t flow_tunnels_n[MLX5_FLOW_TUNNEL]; /* Tunnels counters. */