1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2019 Cesnet
3 * Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com>
12 #include <netcope/rxmac.h>
13 #include <netcope/txmac.h>
19 #define PCI_VENDOR_ID_NETCOPE 0x1b26
20 #define PCI_VENDOR_ID_SILICOM 0x1c2c
23 #define PCI_DEVICE_ID_NFB_40G2 0xcb80
24 #define PCI_DEVICE_ID_NFB_100G2 0xc2c1
25 #define PCI_DEVICE_ID_NFB_200G2QL 0xc250
26 #define PCI_DEVICE_ID_FB2CGG3 0x00d0
27 #define PCI_DEVICE_ID_FB2CGG3D 0xc240
29 /* Max index of ndp rx/tx queues */
30 #define RTE_ETH_NDP_MAX_RX_QUEUES 32
31 #define RTE_ETH_NDP_MAX_TX_QUEUES 32
33 /* Max index of rx/tx dmas */
34 #define RTE_MAX_NC_RXMAC 256
35 #define RTE_MAX_NC_TXMAC 256
37 #define RTE_NFB_DRIVER_NAME net_nfb
39 /* Device arguments */
40 #define TIMESTAMP_ARG "timestamp"
41 static const char * const VALID_KEYS[] = {TIMESTAMP_ARG, NULL};
43 struct pmd_internals {
46 struct nc_rxmac *rxmac[RTE_MAX_NC_RXMAC];
47 struct nc_txmac *txmac[RTE_MAX_NC_TXMAC];
49 char nfb_dev[PATH_MAX];
50 struct nfb_device *nfb;
51 /* Place to remember if filter was promiscuous or filtering by table,
52 * when disabling allmulticast
54 enum nc_rxmac_mac_filter rx_filter_original;