make graph node variant can be configured from gerrit trigger
[csit.git] / resources / libraries / python / Constants.py
index 0203dc0..6bf503d 100644 (file)
@@ -191,16 +191,21 @@ class Constants:
     TREX_INSTALL_DIR = u"/opt/trex-core-2.73"
 
     # TRex limit memory.
-    TREX_LIMIT_MEMORY = get_int_from_env(u"TREX_LIMIT_MEMORY", 4096)
+    TREX_LIMIT_MEMORY = get_int_from_env(u"TREX_LIMIT_MEMORY", 8192)
 
     # TRex number of cores
-    TREX_CORE_COUNT = get_int_from_env(u"TREX_CORE_COUNT", 15)
+    TREX_CORE_COUNT = get_int_from_env(u"TREX_CORE_COUNT", 7)
 
     # Trex force start regardles ports state
     TREX_SEND_FORCE = get_pessimistic_bool_from_env(u"TREX_SEND_FORCE")
 
     # TRex extra commandline arguments
-    TREX_EXTRA_CMDLINE = get_str_from_env(u"TREX_EXTRA_CMDLINE", u"")
+    TREX_EXTRA_CMDLINE = get_str_from_env(
+        u"TREX_EXTRA_CMDLINE", u"--mbuf-factor 32")
+
+    # graph node variant value
+    GRAPH_NODE_VARIANT = get_str_from_env(
+        u"GRAPH_NODE_VARIANT", u"")
 
     # Sysctl kernel.core_pattern
     KERNEL_CORE_PATTERN = u"/tmp/%p-%u-%g-%s-%t-%h-%e.core"
@@ -258,8 +263,6 @@ class Constants:
     }
 
     # Mapping from NIC name to its pps limit.
-    # The values are unidirectional, assuming the test
-    # uses two ports on the same NIC.
     NIC_NAME_TO_PPS_LIMIT = {
         u"Cisco-VIC-1227": 14880952,
         u"Cisco-VIC-1385": 18750000,
@@ -268,9 +271,7 @@ class Constants:
         u"Intel-X710": 14880952,
         u"Intel-XL710": 18750000,
         u"Intel-XXV710": 18750000,
-        # The Mellanox card is able to do more, but the current TRex version
-        # shows non-negligible duration stretching, depending on cores used.
-        u"Mellanox-CX556A": 47000000,  # 148809523,
+        u"Mellanox-CX556A": 60000000, # 148809523,
         u"Amazon-Nitro-50G": 1500000,
         u"virtual": 14880952,
     }
@@ -322,6 +323,38 @@ class Constants:
         u"rdma-core": u"rdma-",
     }
 
+    # 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",
+    }
+
+    # Not each driver is supported by each NIC.
+    DPDK_NIC_NAME_TO_DRIVER = {
+        u"Cisco-VIC-1227": [u"vfio-pci"],
+        u"Cisco-VIC-1385": [u"vfio-pci"],
+        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"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,
@@ -329,13 +362,9 @@ class Constants:
     FORBIDDEN_SUITE_PREFIX_LIST = [
         prefix for prefix in NIC_DRIVER_TO_SUITE_PREFIX.values() if prefix
     ]
-
-    # 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",
-    }
+    FORBIDDEN_SUITE_PREFIX_LIST += [
+        prefix for prefix in DPDK_NIC_DRIVER_TO_SUITE_PREFIX.values() if prefix
+    ]
 
     # TODO CSIT-1481: Crypto HW should be read from topology file instead.
     NIC_NAME_TO_CRYPTO_HW = {