net/ice/base: add inner VLAN protocol type for QinQ filter
[dpdk.git] / drivers / net / ice / ice_rxtx.h
index 6937fae..99096e4 100644 (file)
@@ -31,7 +31,7 @@
 
 #define ICE_VPMD_RX_BURST           32
 #define ICE_VPMD_TX_BURST           32
-#define ICE_RXQ_REARM_THRESH        32
+#define ICE_RXQ_REARM_THRESH        64
 #define ICE_MAX_RX_BURST            ICE_RXQ_REARM_THRESH
 #define ICE_TX_MAX_FREE_BUF_SZ      64
 #define ICE_DESCS_PER_LOOP          4
@@ -71,7 +71,7 @@ struct ice_rx_queue {
        uint16_t rxrearm_start; /**< the idx we start the re-arming from */
        uint64_t mbuf_initializer; /**< value to init mbufs */
 
-       uint8_t port_id; /* device port ID */
+       uint16_t port_id; /* device port ID */
        uint8_t crc_len; /* 0 if CRC stripped, 4 otherwise */
        uint8_t fdir_enabled; /* 0 if FDIR disabled, 1 when enabled */
        uint16_t queue_id; /* RX queue index */
@@ -96,6 +96,10 @@ struct ice_tx_entry {
        uint16_t last_id;
 };
 
+struct ice_vec_tx_entry {
+       struct rte_mbuf *mbuf;
+};
+
 struct ice_tx_queue {
        uint16_t nb_tx_desc; /* number of TX descriptors */
        rte_iova_t tx_ring_dma; /* TX ring DMA address */
@@ -117,7 +121,7 @@ struct ice_tx_queue {
        uint8_t pthresh; /**< Prefetch threshold register. */
        uint8_t hthresh; /**< Host threshold register. */
        uint8_t wthresh; /**< Write-back threshold reg. */
-       uint8_t port_id; /* Device port identifier. */
+       uint16_t port_id; /* Device port identifier. */
        uint16_t queue_id; /* TX queue index. */
        uint32_t q_teid; /* TX schedule node id. */
        uint16_t reg_idx;
@@ -230,6 +234,8 @@ int ice_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int ice_tx_descriptor_status(void *tx_queue, uint16_t offset);
 void ice_set_default_ptype_table(struct rte_eth_dev *dev);
 const uint32_t *ice_dev_supported_ptypes_get(struct rte_eth_dev *dev);
+void ice_select_rxd_to_pkt_fields_handler(struct ice_rx_queue *rxq,
+                                         uint32_t rxdid);
 
 int ice_rx_vec_dev_check(struct rte_eth_dev *dev);
 int ice_tx_vec_dev_check(struct rte_eth_dev *dev);
@@ -248,8 +254,16 @@ uint16_t ice_recv_scattered_pkts_vec_avx2(void *rx_queue,
                                          uint16_t nb_pkts);
 uint16_t ice_xmit_pkts_vec_avx2(void *tx_queue, struct rte_mbuf **tx_pkts,
                                uint16_t nb_pkts);
+uint16_t ice_recv_pkts_vec_avx512(void *rx_queue, struct rte_mbuf **rx_pkts,
+                                 uint16_t nb_pkts);
+uint16_t ice_recv_scattered_pkts_vec_avx512(void *rx_queue,
+                                           struct rte_mbuf **rx_pkts,
+                                           uint16_t nb_pkts);
+uint16_t ice_xmit_pkts_vec_avx512(void *tx_queue, struct rte_mbuf **tx_pkts,
+                                 uint16_t nb_pkts);
 int ice_fdir_programming(struct ice_pf *pf, struct ice_fltr_desc *fdir_desc);
 int ice_tx_done_cleanup(void *txq, uint32_t free_cnt);
+int ice_get_monitor_addr(void *rx_queue, struct rte_power_monitor_cond *pmc);
 
 #define FDIR_PARSING_ENABLE_PER_QUEUE(ad, on) do { \
        int i; \