]> git.proxmox.com Git - ceph.git/blob - ceph/src/seastar/dpdk/drivers/net/nfb/nfb.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / seastar / dpdk / 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_ */