net/avp: remove resources when port is closed
[dpdk.git] / drivers / net / nfb / nfb.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2019 Cesnet
3  * Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com>
4  * All rights reserved.
5  */
6
7 #ifndef _NFB_H_
8 #define _NFB_H_
9
10 #include <nfb/nfb.h>
11 #include <nfb/ndp.h>
12 #include <netcope/rxmac.h>
13 #include <netcope/txmac.h>
14
15 #include "nfb_rx.h"
16 #include "nfb_tx.h"
17
18 /* PCI Vendor ID */
19 #define PCI_VENDOR_ID_NETCOPE 0x1b26
20
21 /* PCI Device IDs */
22 #define PCI_DEVICE_ID_NFB_40G2  0xcb80
23 #define PCI_DEVICE_ID_NFB_100G2 0xc2c1
24 #define PCI_DEVICE_ID_NFB_200G2QL 0xc250
25
26 /* Max index of ndp rx/tx queues */
27 #define RTE_ETH_NDP_MAX_RX_QUEUES 32
28 #define RTE_ETH_NDP_MAX_TX_QUEUES 32
29
30 /* Max index of rx/tx dmas */
31 #define RTE_MAX_NC_RXMAC 256
32 #define RTE_MAX_NC_TXMAC 256
33
34 #define RTE_NFB_DRIVER_NAME net_nfb
35
36 struct pmd_internals {
37         uint16_t         max_rxmac;
38         uint16_t         max_txmac;
39         struct nc_rxmac *rxmac[RTE_MAX_NC_RXMAC];
40         struct nc_txmac *txmac[RTE_MAX_NC_TXMAC];
41
42         char             nfb_dev[PATH_MAX];
43         struct nfb_device *nfb;
44         /* Place to remember if filter was promiscuous or filtering by table,
45          * when disabling allmulticast
46          */
47         enum nc_rxmac_mac_filter rx_filter_original;
48 };
49
50 #endif /* _NFB_H_ */