i40e: allow vector Rx and Tx usage
[dpdk.git] / drivers / net / i40e / i40e_rxtx.h
index 98d6e90..39cb95a 100644 (file)
@@ -132,6 +132,7 @@ struct i40e_rx_queue {
        uint8_t hs_mode; /* Header Split mode */
        bool q_set; /**< indicate if rx queue has been configured */
        bool rx_deferred_start; /**< don't start this queue in dev start */
+       uint16_t rx_using_sse; /**<flag indicate the usage of vPMD for rx */
 };
 
 struct i40e_tx_entry {
@@ -234,10 +235,15 @@ uint16_t i40e_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 uint16_t i40e_recv_scattered_pkts_vec(void *rx_queue,
                                      struct rte_mbuf **rx_pkts,
                                      uint16_t nb_pkts);
+int i40e_rx_vec_dev_conf_condition_check(struct rte_eth_dev *dev);
 int i40e_rxq_vec_setup(struct i40e_rx_queue *rxq);
 int i40e_txq_vec_setup(struct i40e_tx_queue *txq);
 void i40e_rx_queue_release_mbufs_vec(struct i40e_rx_queue *rxq);
 uint16_t i40e_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
                            uint16_t nb_pkts);
+void i40e_set_rx_function(struct rte_eth_dev *dev);
+void i40e_set_tx_function_flag(struct rte_eth_dev *dev,
+                              struct i40e_tx_queue *txq);
+void i40e_set_tx_function(struct rte_eth_dev *dev);
 
 #endif /* _I40E_RXTX_H_ */