+ # Not each driver is supported by each NIC.
+ NIC_NAME_TO_DRIVER = {
+ u"Intel-X520-DA2": [u"vfio-pci", u"af_xdp"],
+ u"Intel-X553": [u"vfio-pci", u"af_xdp"],
+ u"Intel-X710": [u"vfio-pci", u"avf", u"af_xdp"],
+ u"Intel-XL710": [u"vfio-pci", u"avf", u"af_xdp"],
+ u"Intel-XXV710": [u"vfio-pci", u"avf", u"af_xdp"],
+ u"Intel-E810XXV": [u"vfio-pci", u"avf", u"af_xdp"],
+ u"Intel-E822CQ": [u"vfio-pci", u"avf", u"af_xdp"],
+ u"Intel-E810CQ": [u"vfio-pci", u"avf", u"af_xdp"],
+ u"Amazon-Nitro-50G": [u"vfio-pci"],
+ u"Mellanox-CX556A": [u"rdma-core", u"af_xdp"],
+ }
+
+ # Each driver needs different prugin to work.
+ NIC_DRIVER_TO_PLUGINS = {
+ u"vfio-pci": u"dpdk_plugin.so",
+ u"avf": u"avf_plugin.so",
+ u"rdma-core": u"rdma_plugin.so",
+ u"af_xdp": u"af_xdp_plugin.so",
+ }
+
+ # Tags to differentiate tests for different NIC driver.
+ NIC_DRIVER_TO_TAG = {
+ u"vfio-pci": u"DRV_VFIO_PCI",
+ u"avf": u"DRV_AVF",
+ u"rdma-core": u"DRV_RDMA_CORE",
+ u"af_xdp": u"DRV_AF_XDP",
+ }
+
+ # Suite names have to be different, add prefix.
+ NIC_DRIVER_TO_SUITE_PREFIX = {
+ u"vfio-pci": u"",
+ u"avf": u"avf-",
+ u"rdma-core": u"rdma-",
+ u"af_xdp": u"af-xdp-",
+ }
+
+ # Number of virtual functions of physical nic.
+ NIC_DRIVER_TO_VFS = {
+ u"vfio-pci": u"nic_vfs}= | 0",
+ u"avf": u"nic_vfs}= | 1",
+ u"rdma-core": u"nic_vfs}= | 0",
+ u"af_xdp": u"nic_vfs}= | 0",
+ }
+
+ # Not each driver is supported by each NIC.
+ DPDK_NIC_NAME_TO_DRIVER = {
+ u"Intel-X520-DA2": [u"vfio-pci"],
+ u"Intel-X553": [u"vfio-pci"],
+ u"Intel-X710": [u"vfio-pci"],
+ u"Intel-XL710": [u"vfio-pci"],
+ u"Intel-XXV710": [u"vfio-pci"],
+ u"Intel-E810XXV": [u"vfio-pci"],
+ u"Intel-E822CQ": [u"vfio-pci"],
+ u"Intel-E810CQ": [u"vfio-pci"],
+ u"Amazon-Nitro-50G": [u"vfio-pci"],
+ u"Mellanox-CX556A": [u"mlx5_core"],
+ }
+
+ # Tags to differentiate tests for different NIC driver.
+ DPDK_NIC_DRIVER_TO_TAG = {
+ u"vfio-pci": u"DRV_VFIO_PCI",
+ u"mlx5_core": u"DRV_MLX5_CORE",
+ }
+
+ # Suite names have to be different, add prefix.
+ DPDK_NIC_DRIVER_TO_SUITE_PREFIX = {
+ u"vfio-pci": u"",
+ u"mlx5_core": u"mlx5-",
+ }
+
+ # Some identifiers constructed from suite names
+ # have to be independent of NIC driver used.
+ # In order to remove or reject the NIC driver part,
+ # it is useful to have a list of such prefixes precomputed.
+ FORBIDDEN_SUITE_PREFIX_LIST = [
+ prefix for prefix in NIC_DRIVER_TO_SUITE_PREFIX.values() if prefix
+ ]
+ FORBIDDEN_SUITE_PREFIX_LIST += [
+ prefix for prefix in DPDK_NIC_DRIVER_TO_SUITE_PREFIX.values() if prefix
+ ]
+