net/cnxk: support marking and VLAN tagging
[dpdk.git] / drivers / net / cnxk / cn9k_ethdev.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4 #ifndef __CN9K_ETHDEV_H__
5 #define __CN9K_ETHDEV_H__
6
7 #include <cnxk_ethdev.h>
8
9 struct cn9k_eth_txq {
10         uint64_t cmd[8];
11         int64_t fc_cache_pkts;
12         uint64_t *fc_mem;
13         void *lmt_addr;
14         rte_iova_t io_addr;
15         uint64_t lso_tun_fmt;
16         uint16_t sqes_per_sqb_log2;
17         int16_t nb_sqb_bufs_adj;
18 } __plt_cache_aligned;
19
20 struct cn9k_eth_rxq {
21         uint64_t mbuf_initializer;
22         uint64_t data_off;
23         uintptr_t desc;
24         void *lookup_mem;
25         uintptr_t cq_door;
26         uint64_t wdata;
27         int64_t *cq_status;
28         uint32_t head;
29         uint32_t qmask;
30         uint32_t available;
31         uint16_t rq;
32         struct cnxk_timesync_info *tstamp;
33 } __plt_cache_aligned;
34
35 /* Rx and Tx routines */
36 void cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev);
37 void cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev);
38
39 #endif /* __CN9K_ETHDEV_H__ */