ixgbe: fix release queue mbufs
[dpdk.git] / drivers / net / ixgbe / ixgbe_rxtx.h
index af36438..befdc3a 100644 (file)
@@ -121,9 +121,11 @@ struct ixgbe_rx_queue {
        uint16_t rx_next_avail; /**< idx of next staged pkt to ret to app */
        uint16_t rx_free_trigger; /**< triggers rx buffer allocation */
 #endif
+       uint16_t            rx_using_sse;
+       /**< indicates that vector RX is in use */
 #ifdef RTE_IXGBE_INC_VECTOR
-       uint16_t            rxrearm_nb; /**< the idx we start the re-arming from */
-       uint16_t            rxrearm_start;  /**< number of remaining to be re-armed */
+       uint16_t            rxrearm_nb;     /**< number of remaining to be re-armed */
+       uint16_t            rxrearm_start;  /**< the idx we start the re-arming from */
 #endif
        uint16_t            rx_free_thresh; /**< max free RX desc to hold. */
        uint16_t            queue_id; /**< RX queue index. */
@@ -195,7 +197,9 @@ struct ixgbe_tx_queue {
        volatile uint32_t   *tdt_reg_addr; /**< Address of TDT register. */
        uint16_t            nb_tx_desc;    /**< number of TX descriptors. */
        uint16_t            tx_tail;       /**< current value of TDT reg. */
-       uint16_t            tx_free_thresh;/**< minimum TX before freeing. */
+       /**< Start freeing TX buffers if there are less free descriptors than
+            this value. */
+       uint16_t            tx_free_thresh;
        /** Number of TX descriptors to use before RS bit is set. */
        uint16_t            tx_rs_thresh;
        /** Number of TX descriptors used since RS bit was set. */
@@ -282,6 +286,7 @@ uint16_t ixgbe_recv_scattered_pkts_vec(void *rx_queue,
                struct rte_mbuf **rx_pkts, uint16_t nb_pkts);
 int ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev *dev);
 int ixgbe_rxq_vec_setup(struct ixgbe_rx_queue *rxq);
+void ixgbe_rx_queue_release_mbufs_vec(struct ixgbe_rx_queue *rxq);
 
 #ifdef RTE_IXGBE_INC_VECTOR