]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/drivers/net/igc/igc_txrx.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / drivers / net / igc / igc_txrx.h
CommitLineData
f67539c2
TL
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2020 Intel Corporation
3 */
4
5#ifndef _IGC_TXRX_H_
6#define _IGC_TXRX_H_
7
8#include "igc_ethdev.h"
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14/*
15 * RX/TX function prototypes
16 */
17void eth_igc_tx_queue_release(void *txq);
18void eth_igc_rx_queue_release(void *rxq);
19void igc_dev_clear_queues(struct rte_eth_dev *dev);
20int eth_igc_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
21 uint16_t nb_rx_desc, unsigned int socket_id,
22 const struct rte_eth_rxconf *rx_conf,
23 struct rte_mempool *mb_pool);
24
25uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev,
26 uint16_t rx_queue_id);
27
28int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset);
29
30int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset);
31
32int eth_igc_tx_descriptor_status(void *tx_queue, uint16_t offset);
33
34int eth_igc_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
35 uint16_t nb_desc, unsigned int socket_id,
36 const struct rte_eth_txconf *tx_conf);
37int eth_igc_tx_done_cleanup(void *txqueue, uint32_t free_cnt);
38
39int igc_rx_init(struct rte_eth_dev *dev);
40void igc_tx_init(struct rte_eth_dev *dev);
41void igc_rss_disable(struct rte_eth_dev *dev);
42void
43igc_hw_rss_hash_set(struct igc_hw *hw, struct rte_eth_rss_conf *rss_conf);
44int igc_del_rss_filter(struct rte_eth_dev *dev);
45void igc_rss_conf_set(struct igc_rss_filter *out,
46 const struct rte_flow_action_rss *rss);
47int igc_add_rss_filter(struct rte_eth_dev *dev, struct igc_rss_filter *rss);
48void igc_clear_rss_filter(struct rte_eth_dev *dev);
49void eth_igc_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
50 struct rte_eth_rxq_info *qinfo);
51void eth_igc_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
52 struct rte_eth_txq_info *qinfo);
53void eth_igc_vlan_strip_queue_set(struct rte_eth_dev *dev,
54 uint16_t rx_queue_id, int on);
55#ifdef __cplusplus
56}
57#endif
58
59#endif /* _IGC_TXRX_H_ */