]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/spdk/dpdk/drivers/net/i40e/i40e_rxtx.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / drivers / net / i40e / i40e_rxtx.h
index 3fc619af90555e16d38a7ade3dbfb2ccd3211a59..8f11f011a77c402ec08a9c5e2754ff1857f556be 100644 (file)
 
 #define I40E_TX_MIN_PKT_LEN 17
 
+/* Shared FDIR masks between scalar / vector drivers */
+#define I40E_RX_DESC_EXT_STATUS_FLEXBH_MASK   0x03
+#define I40E_RX_DESC_EXT_STATUS_FLEXBH_FD_ID  0x01
+#define I40E_RX_DESC_EXT_STATUS_FLEXBH_FLEX   0x02
+#define I40E_RX_DESC_EXT_STATUS_FLEXBL_MASK   0x03
+#define I40E_RX_DESC_EXT_STATUS_FLEXBL_FLEX   0x01
+
 #undef container_of
 #define container_of(ptr, type, member) ({ \
                typeof(((type *)0)->member)(*__mptr) = (ptr); \
@@ -96,6 +103,7 @@ struct i40e_rx_queue {
 
        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 */
        uint16_t reg_idx; /**< RX queue register index */
        uint8_t drop_en; /**< if not 0, set register bit */
@@ -204,6 +212,7 @@ void i40e_dev_free_queues(struct rte_eth_dev *dev);
 void i40e_reset_rx_queue(struct i40e_rx_queue *rxq);
 void i40e_reset_tx_queue(struct i40e_tx_queue *txq);
 void i40e_tx_queue_release_mbufs(struct i40e_tx_queue *txq);
+int i40e_tx_done_cleanup(void *txq, uint32_t free_cnt);
 int i40e_alloc_rx_queue_mbufs(struct i40e_rx_queue *rxq);
 void i40e_rx_queue_release_mbufs(struct i40e_rx_queue *rxq);