PAL: Refactor the processing of spec and download 21/32121/29
authorTibor Frank <tifrank@cisco.com>
Mon, 26 Apr 2021 13:57:02 +0000 (15:57 +0200)
committerTibor Frank <tifrank@cisco.com>
Mon, 3 May 2021 08:20:06 +0000 (08:20 +0000)
Change-Id: I204fdc3593a3702366727238f2b469d3d4320c2b
Signed-off-by: Tibor Frank <tifrank@cisco.com>
33 files changed:
resources/tools/presentation/fdio.svg [deleted file]
resources/tools/presentation/generator_alerts.py
resources/tools/presentation/generator_cpta.py
resources/tools/presentation/generator_files.py
resources/tools/presentation/generator_report.py
resources/tools/presentation/generator_tables.py
resources/tools/presentation/ignored_tcs.yaml [deleted file]
resources/tools/presentation/input_data_files.py
resources/tools/presentation/input_data_parser.py
resources/tools/presentation/mapping_report.yaml [deleted file]
resources/tools/presentation/mapping_tc_names.yaml [deleted file]
resources/tools/presentation/pal.py
resources/tools/presentation/pal_errors.py
resources/tools/presentation/pal_utils.py
resources/tools/presentation/run_cpta.sh
resources/tools/presentation/run_report.sh
resources/tools/presentation/run_report_local.sh
resources/tools/presentation/specification_local.yaml [deleted file]
resources/tools/presentation/specification_parser.py
resources/tools/presentation/specifications/report/data_sets.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/report/elements.yaml [moved from resources/tools/presentation/specification.yaml with 81% similarity]
resources/tools/presentation/specifications/report/environment.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/report/layouts.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/report_local/data_sets.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/report_local/elements.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/report_local/environment.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/report_local/layouts.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/trending/data_sets.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/trending/elements.yaml [moved from resources/tools/presentation/specification_CPTA.yaml with 93% similarity]
resources/tools/presentation/specifications/trending/environment.yaml [new file with mode: 0644]
resources/tools/presentation/specifications/trending/layouts.yaml [new file with mode: 0644]
resources/tools/presentation/sphinx_conf/report/conf.py [moved from resources/tools/presentation/conf.py with 100% similarity]
resources/tools/presentation/sphinx_conf/trending/conf.py [moved from resources/tools/presentation/conf_cpta/conf.py with 100% similarity]

diff --git a/resources/tools/presentation/fdio.svg b/resources/tools/presentation/fdio.svg
deleted file mode 100644 (file)
index 32dd070..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="630px" height="394px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
-viewBox="0 0 94500000 59062500"
- xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <style type="text/css">
-   <![CDATA[
-    .fil2 {fill:#3C4641}
-    .fil1 {fill:#3E4742}
-    .fil0 {fill:#ED3341}
-   ]]>
-  </style>
- </defs>
- <g id="Layer_x0020_1">
-  <path class="fil0" d="M42892251 15970973c234833,2555989 1402971,3784607 3633525,3195163 64614,-17483 464586,-605509 524121,-613778 100406,-13939 -325789,592397 -234951,589562 663981,-21026 1166839,235659 2703054,-1575788 -125567,2507794 385088,1931698 753047,3733577 -1039736,2409632 -1745415,307125 -1486485,4471622 -4668654,-2126 -6967721,-648979 -9839813,2159679 -1571417,1536924 -3134683,5759184 -3805515,8365022 -725760,124740 -1467939,37800 -1887401,510536 -484194,545619 -431747,1408050 35674,1833418 379890,345516 987289,308424 1519678,355793 800769,71348 1142151,473327 1136244,1236651 -6615,848964 -451001,1192826 -1631306,1191054 -3702746,-5316 -8320961,16538 -11713866,45596 -1026624,8741 -1698992,464822 -1746714,1344971 -50676,931416 521640,1260039 1499833,1295831 4286993,156988 8304069,-117653 12887201,141041 783996,103714 1189755,583183 1168256,1106004 -35201,855461 -707923,1099626 -1411594,1145104 -5730598,370440 -13969581,-91665 -19611231,141278 -797344,32839 -1694621,179786 -1702890,1222476 -6615,840459 589798,1177943 1399899,1281538 2377738,7088 5327556,1418 7519956,1890 2596151,591 5192775,4134 7788926,-118l-1007843 3222096 9601909 24334 3086606 -8484328c2943911,-111628 4325029,-862076 6023666,-2197361 944528,-742534 2909773,-3271590 3377903,-4985466l-6699578 -78081 1196016 -3619114c2873627,-19727 7980761,562984 10127447,-748913 1534089,-937440 4106970,-3980458 4422954,-6498411 -1731358,-38863 -8963443,287753 -9479649,-290469 -811991,-1588073 1028633,-2402426 1978121,-3132911 1388678,-1068441 1793846,-1560904 1785578,-3760746 230108,313386 87413,679809 294368,826048 502740,355320 1446913,224319 3038411,773010 1055447,363943 2115855,607399 3274661,404696 606218,-105958 570662,-121196 999692,-407413 -87767,-924683 -247472,-1025089 -709813,-1469003 1446086,654176 966617,1888937 966499,3676168 0,1623983 504512,3115429 -2599,4527259 -1397891,3892219 -3372351,4768234 -4125752,6086745l4834856 25043 -4320540 12061626c-2523504,20318 -10295893,-341499 -12094937,331459 -2551264,954568 -5105126,4809341 -5427844,6962878 3747398,-8151 17429226,243219 20078179,-244755 5769579,-1062534 6837902,-6323231 8783066,-11759344 1441716,-4029244 5291646,-11853371 -1699464,-14191183 -1193535,-382253 -1853145,-295667 -2077228,-395955 -216523,-96863 4489,-368078 -1209600,-1404861 -1196488,-1140379 -417690,-2367934 118716,-3662820 1265001,-3005691 3370461,-2733058 3370343,-6944096 -236,-4388934 2680611,-3141771 3022583,-4763627 307479,-1458135 -1345326,-645317 -2307336,-1215388 -794273,-470610 -170809,-694693 -1801524,-842940l-178251 -1084151c-406114,246999 -713003,925509 -824631,912870 -159705,-18191 -35083,-801478 -213216,-759780 -33075,7796 -73828,19845 -123323,42643 -162068,75009 -368668,285036 -609053,585900 -1161759,1454355 -3112358,5035433 -4642076,5789779 -3004746,1481878 -5309719,91074 -10962709,3162206 -2587056,1405451 -4703383,1914216 -7362259,348233z"/>
-  <path class="fil1" d="M81444116 48006591c-917831,-4596598 5486670,-5710989 6489669,-1741753 1221649,4834502 -5678387,5805017 -6489669,1741753zm1873463 -5811986c-6608858,1801052 -4202297,11851718 2867130,10021253 6433324,-1665681 4111577,-11922947 -2867130,-10021253z"/>
-  <polygon class="fil2" points="76840667,42255321 75263698,42301508 75172978,52072571 76944144,52066547 "/>
-  <path class="fil1" d="M70635206 52314137c1084388,307834 2141370,-714302 1520859,-1977413 -474863,-966853 -2784797,-983627 -2488776,930589 89421,578931 388041,882158 967916,1046824z"/>
-  <path class="fil1" d="M76175978 40542272c695402,-45006 1114037,-372448 1062889,-1137426 -18309,-275349 -120251,-539595 -294013,-710876 -609761,-601611 -1840151,-411548 -1952016,509001 -111628,919485 435173,1387733 1183140,1339301z"/>
-  <path class="fil0" d="M14086524 36346354l15995897 0c719972,0 1308943,589089 1308943,1308943l0 0c0,719854 -589089,1308943 -1308943,1308943l-15995897 0c-719736,0 -1308943,-588971 -1308943,-1308943l0 0c0,-719972 589089,-1308943 1308943,-1308943z"/>
-  <path class="fil0" d="M20652975 31242173l13718919 0c719972,0 1308943,589326 1308943,1308943l0 118c0,719618 -589208,1308943 -1308943,1308943l-13718919 0c-719736,0 -1308943,-588971 -1308943,-1308943l0 -118c0,-719972 588971,-1308943 1308943,-1308943z"/>
-  <path class="fil0" d="M6885624 46609763l3154410 0c719972,0 1308943,589208 1308943,1308943l0 0c0,719736 -589326,1308943 -1308943,1308943l-3154410 0c-719736,0 -1308943,-588971 -1308943,-1308943l0 0c0,-719972 588971,-1308943 1308943,-1308943z"/>
- </g>
-</svg>
index 02d5703..a71b775 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -27,7 +27,6 @@ from email.mime.multipart import MIMEMultipart
 from os.path import isdir
 from collections import OrderedDict
 
-from pal_utils import get_last_completed_build_number
 from pal_errors import PresentationError
 
 
index 43adba7..db64d5f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -31,7 +31,7 @@ from pal_utils import archive_input_data, execute_command, classify_anomalies
 
 
 # Command to build the html format of the report
-HTML_BUILDER = u'sphinx-build -v -c conf_cpta -a ' \
+HTML_BUILDER = u'sphinx-build -v -c sphinx_conf/trending -a ' \
                u'-b html -E ' \
                u'-t html ' \
                u'-D version="{date}" ' \
@@ -149,7 +149,7 @@ def generate_cpta(spec, data):
             css_file:
         css_file.write(THEME_OVERRIDES)
 
-    if spec.configuration.get(u"archive-inputs", True):
+    if spec.environment.get(u"archive-inputs", False):
         archive_input_data(spec)
 
     logging.info(u"Done.")
@@ -600,12 +600,12 @@ def _generate_all_charts(spec, input_data):
         return return_lst
 
     builds_dict = dict()
-    for job in spec.input[u"builds"].keys():
+    for job, builds in spec.input.items():
         if builds_dict.get(job, None) is None:
             builds_dict[job] = list()
-        for build in spec.input[u"builds"][job]:
-            status = build[u"status"]
-            if status not in (u"failed", u"not found", u"removed", None):
+        for build in builds:
+            if build[u"status"] not in (u"failed", u"not found", u"removed",
+                                        None):
                 builds_dict[job].append(str(build[u"build"]))
 
     # Create "build ID": "date" dict:
index 9ef6c0a..11ed9b0 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -34,7 +34,7 @@ RST_INCLUDE_TABLE = (u"\n.. only:: html\n\n"
                      u"\n  .. raw:: latex\n\n"
                      u"      \\csvautolongtable{{{file_latex}}}\n\n")
 
-REGEX_NIC_SHORT = re.compile(r'(\d*ge\dp\d)(\D*\d*[a-z]*)-')
+REGEX_NIC_SHORT = re.compile(r'(\d*ge\dp\d)([a-z]*\d*[a-z]*)-')
 
 
 def generate_files(spec, data):
index 142c264..cd6f506 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -87,7 +87,7 @@ THEME_OVERRIDES = u"""/* override table width restrictions */
 """
 
 # Command to build the html format of the report
-HTML_BUILDER = u'sphinx-build -v -c . -a ' \
+HTML_BUILDER = u'sphinx-build -v -c sphinx_conf/report -a ' \
                u'-b html -E ' \
                u'-t html ' \
                u'-D release={release} ' \
@@ -96,7 +96,7 @@ HTML_BUILDER = u'sphinx-build -v -c . -a ' \
                u'{build_dir}/'
 
 # Command to build the pdf format of the report
-PDF_BUILDER = u'sphinx-build -v -c . -a ' \
+PDF_BUILDER = u'sphinx-build -v -c sphinx_conf/report -a ' \
               u'-b latex -E ' \
               u'-t latex ' \
               u'-D release={release} ' \
index 798c126..b03261c 100644 (file)
@@ -990,15 +990,15 @@ def _generate_url(testbed, test_name):
 
     if u"1t1c" in test_name or \
         (u"-1c-" in test_name and
-         testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv")):
+         testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv", u"2n-tx2")):
         cores = u"1t1c"
     elif u"2t2c" in test_name or \
          (u"-2c-" in test_name and
-          testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv")):
+          testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv", u"2n-tx2")):
         cores = u"2t2c"
     elif u"4t4c" in test_name or \
          (u"-4c-" in test_name and
-          testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv")):
+          testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv", u"2n-tx2")):
         cores = u"4t4c"
     elif u"2t1c" in test_name or \
          (u"-1c-" in test_name and
@@ -1525,8 +1525,8 @@ def table_failed_tests_html(table, input_data):
                     u"a",
                     attrib=dict(
                         href=f"{lnk_dir}"
-                             f"{_generate_url(table.get(u'testbed', ''), item)}"
-                             f"{lnk_sufix}"
+                        f"{_generate_url(table.get(u'testbed', ''), item)}"
+                        f"{lnk_sufix}"
                     )
                 )
                 ref.text = item
@@ -2063,7 +2063,7 @@ def table_weekly_comparison(table, in_data):
     # Reorganize header in txt table
     txt_table = list()
     with open(txt_file_name, u"rt", encoding='utf-8') as file_handler:
-        for line in file_handler:
+        for line in list(file_handler):
             txt_table.append(line)
     try:
         txt_table.insert(5, txt_table.pop(2))
diff --git a/resources/tools/presentation/ignored_tcs.yaml b/resources/tools/presentation/ignored_tcs.yaml
deleted file mode 100644 (file)
index 3397ac8..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# List of ignored test cases.
-#
-# Structure:
-#
-# - TC_1
-# - TC_2
-# ...
-# - TC_n
-#
-# All TC names are the long names. The list of ignored test cases is converted
-# to lowercase when loaded.
-
-# Wrong NIC name in the long name, wrong tag used (NIC_Intel-X710 instead of
-# NIC_Intel-XL710), from build 239 changed to NIC_Intel-XL710 but data is
-# inconsistent.
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc01-64B-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc02-64B-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc03-64B-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc04-1518B-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc05-1518B-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc06-1518B-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc07-9000B-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc08-9000B-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc09-9000B-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc10-IMIX-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc11-IMIX-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc12-IMIX-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
index 63f9197..fc629bc 100644 (file)
@@ -32,8 +32,6 @@ from requests import codes
 
 from urllib3.exceptions import HTTPError
 
-from pal_errors import PresentationError
-
 
 # Chunk size used for file download
 CHUNK_SIZE = 512
@@ -96,27 +94,19 @@ def _download_file(url, file_name, arch=False, verify=True, repeat=1):
         repeat -= 1
         session = None
         try:
-            logging.info(f"    Connecting to {url} ...")
+            logging.info(f"  Connecting to {url} ...")
             session = requests_retry_session()
             response = session.get(url, stream=True, verify=verify)
             code = response.status_code
-            logging.info(f"    {code}: {responses[code]}")
+            logging.info(f"  {code}: {responses[code]}")
 
             if code != codes[u"OK"]:
                 if session:
                     session.close()
-                url = url.replace(u"_info", u"")
-                logging.info(f"    Connecting to {url} ...")
-                session = requests_retry_session()
-                response = session.get(url, stream=True, verify=verify)
-                code = response.status_code
-                logging.info(f"    {code}: {responses[code]}")
-                if code != codes[u"OK"]:
-                    return False, file_name
-                file_name = file_name.replace(u"_info", u"")
+                return False, file_name
 
             dst_file_name = file_name.replace(u".gz", u"")
-            logging.info(f"    Downloading the file {url} to {dst_file_name}")
+            logging.info(f"  Downloading the file {url} to {dst_file_name}")
             with open(dst_file_name, u"wb") as file_handle:
                 for chunk in response.iter_content(chunk_size=CHUNK_SIZE):
                     if chunk:
@@ -125,7 +115,7 @@ def _download_file(url, file_name, arch=False, verify=True, repeat=1):
             if arch and u".gz" in file_name:
                 if session:
                     session.close()
-                logging.info(f"    Downloading the file {url} to {file_name}")
+                logging.info(f"  Downloading the file {url} to {file_name}")
                 session = requests_retry_session()
                 response = session.get(url, stream=True, verify=verify)
                 if response.status_code == codes[u"OK"]:
@@ -148,8 +138,6 @@ def _download_file(url, file_name, arch=False, verify=True, repeat=1):
         finally:
             if session:
                 session.close()
-
-    logging.info(u"    Download finished.")
     return success, file_name
 
 
@@ -165,11 +153,7 @@ def _unzip_file(spec, build, pid):
     """
 
     file_name = build[u"file-name"]
-    if u".zip" in file_name:
-        data_file = spec.input[u"zip-extract"]
-    else:
-        data_file = spec.input[u"extract"]
-
+    data_file = "robot-plugin/output.xml"
     directory = spec.environment[u"paths"][u"DIR[WORKING,DATA]"]
     tmp_dir = join(directory, str(pid))
     try:
@@ -197,6 +181,95 @@ def _unzip_file(spec, build, pid):
         return False
 
 
+def _download_json(source, job, build, w_dir, arch):
+    """
+
+    :param source:
+    :param job:
+    :param build:
+    :param w_dir: Path to working directory
+    :param arch:
+    :return:
+    """
+    success = False
+    downloaded_name = u""
+
+    return success, downloaded_name
+
+
+def _download_xml(source, job, build, w_dir, arch):
+    """
+
+    :param source:
+    :param job:
+    :param build:
+    :param w_dir: Path to working directory
+    :param arch:
+    :return:
+    """
+
+    file_name = source.get(u"file-name", u"")
+    new_name = join(
+        w_dir,
+        f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name}"
+    )
+    url = u"{0}/{1}".format(
+        source.get(u"url", u""),
+        source.get(u"path", u"").format(
+            job=job, build=build[u'build'], filename=file_name
+        )
+    )
+    verify = False if u"nginx" in url else True
+    logging.info(f"  Trying to download {url}")
+    success, downloaded_name = _download_file(
+        url, new_name, arch=arch, verify=verify, repeat=3
+    )
+    return success, downloaded_name
+
+
+def _download_xml_docs(source, job, build, w_dir, arch):
+    """
+
+    :param source:
+    :param job:
+    :param build:
+    :param w_dir: Path to working directory
+    :param arch:
+    :return:
+    """
+
+    file_name = source.get(u"file-name", u"")
+    release = re.search(REGEX_RELEASE, job).group(2)
+    for rls in (release, u"master"):
+        try:
+            rls = f"rls{int(rls)}"
+        except ValueError:
+            pass  # It is master
+        url = (
+            f"{source.get(u'url', u'')}/"
+            f"{rls}/"
+            f"{source.get(u'path', u'')}/"
+            f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name}"
+        )
+        new_name = join(
+            w_dir,
+            f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name}"
+        )
+
+        logging.info(f"  Trying to download {url}")
+
+        success, downloaded_name = _download_file(url, new_name, arch=arch)
+        if success:
+            if file_name.endswith(u".gz"):
+                with gzip.open(downloaded_name[:-3], u"rb") as gzip_file:
+                    file_content = gzip_file.read()
+                with open(downloaded_name[:-3], u"wb") as xml_file:
+                    xml_file.write(file_content)
+            break
+
+    return success, downloaded_name
+
+
 def download_and_unzip_data_file(spec, job, build, pid):
     """Download and unzip a source file.
 
@@ -212,108 +285,46 @@ def download_and_unzip_data_file(spec, job, build, pid):
     :rtype: bool
     """
 
-    success = False
+    download = {
+        "json": _download_json,
+        "xml": _download_xml,
+        "xml-docs": _download_xml_docs
+    }
 
-    file_name = spec.input[u"file-name"]
-    new_name = join(
-        spec.environment[u"paths"][u"DIR[WORKING,DATA]"],
-        f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name}"
-    )
-    arch = bool(spec.configuration.get(u"archive-inputs", True))
+    success = False
     downloaded_name = u""
-
-    # Try to download .gz from s3_storage
-    for path in spec.input[u'download-path']:
-        url = u"{0}/{1}".format(
-            spec.environment[u'urls'][u'URL[S3_STORAGE,LOG]'],
-            path.format(job=job, build=build[u'build'], filename=file_name)
-        )
-        logging.info(f"Trying to download {url}")
-        success, downloaded_name = _download_file(
-            url, new_name, arch=arch, verify=False, repeat=3
-        )
-        if success:
-            break
-
-    if not success:
-        # Try to download .gz from logs.fd.io
-        for path in spec.input[u'download-path']:
-            url = u"{0}/{1}".format(
-                spec.environment[u'urls'][u'URL[NEXUS,LOG]'],
-                path.format(job=job, build=build[u'build'], filename=file_name)
-            )
-            logging.info(f"Trying to download {url}")
-            success, downloaded_name = _download_file(
-                url, new_name, arch=arch, verify=True, repeat=3
-            )
-            if success:
-                break
-
-    if not success:
-        # Try to download .gz or .zip from docs.fd.io
-        file_name = (spec.input[u"file-name"], spec.input[u"zip-file-name"])
-        release = re.search(REGEX_RELEASE, job).group(2)
-        for idx, rls in enumerate((release, u"master", )):
-            try:
-                rls = f"rls{int(rls)}"
-            except ValueError:
-                # It is master
-                pass
-            url = (
-                f"{spec.environment[u'urls'][u'URL[NEXUS,DOC]']}/"
-                f"{rls}/"
-                f"{spec.environment[u'urls'][u'DIR[NEXUS,DOC]']}/"
-                f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name[idx]}"
-            )
-
-            logging.info(f"Downloading {url}")
-
-            new_name = join(
+    arch = bool(spec.environment.get(u"archive-inputs", True))
+
+    for source in spec.environment.get(u"data-sources", tuple()):
+        if not source.get(u"enabled", False):
+            continue
+        download_type = source.get(u"type", None)
+        if not download_type:
+            continue
+        success, downloaded_name = download[download_type](
+                source,
+                job,
+                build,
                 spec.environment[u"paths"][u"DIR[WORKING,DATA]"],
-                f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name[idx]}"
+                arch
             )
-            success, downloaded_name = _download_file(url, new_name, arch=arch)
-            if success:
-                file_name = file_name[idx]
-                if file_name.endswith(u".gz"):
-                    with gzip.open(downloaded_name[:-3], u"rb") as gzip_file:
-                        file_content = gzip_file.read()
-                    with open(downloaded_name[:-3], u"wb") as xml_file:
-                        xml_file.write(file_content)
-                break
-
-    # if not success:
-    #     # Try to download .zip from jenkins.fd.io
-    #     file_name = spec.input[u"zip-file-name"]
-    #     download_path = spec.input[u"zip-download-path"]
-    #     if job.startswith(u"csit-"):
-    #         url = spec.environment[u"urls"][u"URL[JENKINS,CSIT]"]
-    #     else:
-    #         raise PresentationError(f"No url defined for the job {job}.")
-    #
-    #     full_name = download_path.format(
-    #         job=job, build=build[u"build"], filename=file_name
-    #     )
-    #     url = u"{0}/{1}".format(url, full_name)
-    #     new_name = join(
-    #         spec.environment[u"paths"][u"DIR[WORKING,DATA]"],
-    #         f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name}"
-    #     )
-    #     logging.info(f"Downloading {url}")
-    #     success, downloaded_name = _download_file(url, new_name)
+        if success:
+            source[u"successful-downloads"] += 1
+            build[u"source"] = source[u"type"]
+            break
 
+    # TODO: Remove when only .gz is used.
     if success and downloaded_name.endswith(u".zip"):
         if not is_zipfile(downloaded_name):
-            logging.error(f"Zip file {new_name} is corrupted.")
+            logging.error(f"Zip file {downloaded_name} is corrupted.")
             success = False
 
     if success:
-        build[u"file-name"] = downloaded_name
-
-        if file_name.endswith(u".gz"):
+        if downloaded_name.endswith(u".gz"):
             build[u"file-name"] = downloaded_name[:-3]
-
-        if downloaded_name.endswith(u".zip"):
+        # TODO: Remove when only .gz is used.
+        elif downloaded_name.endswith(u".zip"):
+            build[u"file-name"] = downloaded_name
             success = _unzip_file(spec, build, pid)
 
     return success
index b6b9301..e1db036 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -572,8 +572,9 @@ class ExecutionChecker(ResultVisitor):
         if msg.message.count(u"return STDOUT Version:") or \
                 msg.message.count(u"VPP Version:") or \
                 msg.message.count(u"VPP version:"):
-            self._version = str(re.search(self.REGEX_VERSION_VPP, msg.message).
-                                group(2))
+            self._version = str(
+                re.search(self.REGEX_VERSION_VPP, msg.message).group(2)
+            )
             self._data[u"metadata"][u"version"] = self._version
             self._msg_type = None
 
@@ -622,10 +623,12 @@ class ExecutionChecker(ResultVisitor):
                 self._data[u"tests"][self._test_id][u"conf-history"] = str()
             else:
                 self._msg_type = None
-            text = re.sub(r"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3} "
-                          r"VAT command history:", u"",
-                          msg.message, count=1).replace(u'\n', u' |br| ').\
-                replace(u'"', u"'")
+            text = re.sub(
+                r"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3} VAT command history:",
+                u"",
+                msg.message,
+                count=1
+            ).replace(u'\n', u' |br| ').replace(u'"', u"'")
 
             self._data[u"tests"][self._test_id][u"conf-history"] += (
                 f" |br| **DUT{str(self._conf_history_lookup_nr)}:** {text}"
@@ -644,10 +647,12 @@ class ExecutionChecker(ResultVisitor):
                 self._data[u"tests"][self._test_id][u"conf-history"] = str()
             else:
                 self._msg_type = None
-            text = re.sub(r"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3} "
-                          r"PAPI command history:", u"",
-                          msg.message, count=1).replace(u'\n', u' |br| ').\
-                replace(u'"', u"'")
+            text = re.sub(
+                r"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3} PAPI command history:",
+                u"",
+                msg.message,
+                count=1
+            ).replace(u'\n', u' |br| ').replace(u'"', u"'")
             self._data[u"tests"][self._test_id][u"conf-history"] += (
                 f" |br| **DUT{str(self._conf_history_lookup_nr)}:** {text}"
             )
@@ -1514,8 +1519,9 @@ class InputData:
                     f"Error occurred while parsing output.xml: {repr(err)}"
                 )
                 return None
-        checker = ExecutionChecker(metadata, self._cfg.mapping,
-                                   self._cfg.ignore)
+        checker = ExecutionChecker(
+            metadata, self._cfg.mapping, self._cfg.ignore
+        )
         result.visit(checker)
 
         return checker.data
@@ -1536,7 +1542,7 @@ class InputData:
         :type repeat: int
         """
 
-        logging.info(f"  Processing the job/build: {job}: {build[u'build']}")
+        logging.info(f"Processing the job/build: {job}: {build[u'build']}")
 
         state = u"failed"
         success = False
@@ -1554,7 +1560,7 @@ class InputData:
                 f"Skipped."
             )
         if success:
-            logging.info(f"    Processing data from build {build[u'build']}")
+            logging.info(f"  Processing data from build {build[u'build']}")
             data = self._parse_tests(job, build)
             if data is None:
                 logging.error(
@@ -1574,7 +1580,7 @@ class InputData:
         # If the time-period is defined in the specification file, remove all
         # files which are outside the time period.
         is_last = False
-        timeperiod = self._cfg.input.get(u"time-period", None)
+        timeperiod = self._cfg.environment.get(u"time-period", None)
         if timeperiod and data:
             now = dt.utcnow()
             timeperiod = timedelta(int(timeperiod))
@@ -1589,11 +1595,9 @@ class InputData:
                         data = None
                         is_last = True
                         logging.info(
-                            f"    The build {job}/{build[u'build']} is "
+                            f"  The build {job}/{build[u'build']} is "
                             f"outdated, will be removed."
                         )
-        logging.info(u"  Done.")
-
         return {
             u"data": data,
             u"state": state,
@@ -1613,7 +1617,7 @@ class InputData:
 
         logging.info(u"Downloading and parsing input files ...")
 
-        for job, builds in self._cfg.builds.items():
+        for job, builds in self._cfg.input.items():
             for build in builds:
 
                 result = self._download_and_parse_build(job, build, repeat)
@@ -1641,10 +1645,9 @@ class InputData:
                     if self._input_data.get(job, None) is None:
                         self._input_data[job] = pd.Series()
                     self._input_data[job][str(build_nr)] = build_data
-
                     self._cfg.set_input_file_name(
-                        job, build_nr, result[u"build"][u"file-name"])
-
+                        job, build_nr, result[u"build"][u"file-name"]
+                    )
                 self._cfg.set_input_state(job, build_nr, result[u"state"])
 
                 mem_alloc = \
@@ -1653,6 +1656,16 @@ class InputData:
 
         logging.info(u"Done.")
 
+        msg = f"Successful downloads from the sources:\n"
+        for source in self._cfg.environment[u"data-sources"]:
+            if source[u"successful-downloads"]:
+                msg += (
+                    f"{source[u'url']}/{source[u'path']}/"
+                    f"{source[u'file-name']}: "
+                    f"{source[u'successful-downloads']}\n"
+                )
+        logging.info(msg)
+
     def process_local_file(self, local_file, job=u"local", build_nr=1,
                            replace=True):
         """Process local XML file given as a command-line parameter.
@@ -1683,7 +1696,7 @@ class InputData:
             u"file-name": local_file
         }
         if replace:
-            self._cfg.builds = dict()
+            self._cfg.input = dict()
         self._cfg.add_build(job, build)
 
         logging.info(f"Processing {job}: {build_nr:2d}: {local_file}")
@@ -1768,7 +1781,7 @@ class InputData:
             )
 
         if replace:
-            self._cfg.builds = dict()
+            self._cfg.input = dict()
 
         for job, files in local_builds.items():
             for idx, local_file in enumerate(files):
diff --git a/resources/tools/presentation/mapping_report.yaml b/resources/tools/presentation/mapping_report.yaml
deleted file mode 100644 (file)
index 90e10dc..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-# Mapping of the old names of test cases to the new (actual) one.
-#
-# Data structure:
-#
-# old-name: new-name
-#
-# All TC names (old and new) are the long names. The mapping table is converted
-# to lowercase when loaded.
-
-# 3n, x710
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc03-64B-4c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc03-64B-4c-avf-ethip4-ip4base-mrr"
-
-# 3n, xxv710
-
-Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc03-64B-4c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc03-64B-4c-avf-ethip4-ip4base-mrr"
-
-# 3n, x553
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-# 3n, x520
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-# 3n, cx556a
-
-Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-# 2n, x710
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-# 2n, xxv710
-
-Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-# 2n, x553
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X553-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-# 2n, x520
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-10Ge2P1X520-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-# 2n, cx556a
-
-Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-ndrpdr:
-  "Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-ndrpdr"
-
-Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc01-64B-1c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc01-64B-1c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc02-64B-2c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
-
-Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Eth-Ip4Base-Ndrpdr.tc03-64B-4c-avf-eth-ip4base-mrr:
-  "Tests.Vpp.Perf.Ip4.2N1l-100Ge2P1Cx556A-Avf-Ethip4-Ip4Base-Ndrpdr.tc02-64B-2c-avf-ethip4-ip4base-mrr"
diff --git a/resources/tools/presentation/mapping_tc_names.yaml b/resources/tools/presentation/mapping_tc_names.yaml
deleted file mode 100644 (file)
index e87e47d..0000000
+++ /dev/null
@@ -1,1578 +0,0 @@
-# Mapping of the old names of test cases to the new (actual) one.
-#
-# Data structure:
-#
-# old-name: new-name
-#
-# All TC names (old and new) are the long names. The mapping table is converted
-# to lowercase when loaded.
-
-
-# MRR Tests
-
-# tests.vpp.perf.l2
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2dbscale10kmaclrn-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2bdscale10kmaclrn-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc05-64B-2t2c-eth-l2dbscale10kmaclrn-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc02-64B-2t2c-eth-l2bdscale10kmaclrn-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc09-64B-4t4c-eth-l2dbscale10kmaclrn-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc03-64B-4t4c-eth-l2bdscale10kmaclrn-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2dbscale10kmaclrn-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2bdscale10kmaclrn-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc05-64B-2t2c-eth-l2dbscale10kmaclrn-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc02-64B-2t2c-eth-l2bdscale10kmaclrn-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc09-64B-4t4c-eth-l2dbscale10kmaclrn-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc03-64B-4t4c-eth-l2bdscale10kmaclrn-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
-
-
-# tests.vpp.perf.ip4
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Nat44-Mrr.tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4base-nat44-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Nat44-Mrr.tc05-64B-2t2c-ethip4-ip4base-snat-1u-1p-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-nat44-mrr.tc02-64B-2t2c-ethip4udp-ip4base-nat44-mrr"
-
-Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Nat44-Mrr.tc09-64B-4t4c-ethip4-ip4base-snat-1u-1p-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-nat44-mrr.tc03-64B-4t4c-ethip4udp-ip4base-nat44-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64b-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc05-64B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc02-64b-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc09-64B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc03-64b-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
-
-Tests.Vpp.Perf.Ip4.10ge2p1x710-Ethip4Udp-Ip4Base-Nat44-Mrr.tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4base-nat44-mrr"
-
-Tests.Vpp.Perf.Ip4.10ge2p1x710-Ethip4Udp-Ip4Base-Nat44-Mrr.tc05-64B-2t2c-ethip4-ip4base-snat-1u-1p-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-nat44-mrr.tc02-64B-2t2c-ethip4udp-ip4base-nat44-mrr"
-
-Tests.Vpp.Perf.Ip4.10ge2p1x710-Ethip4Udp-Ip4Base-Nat44-Mrr.tc09-64B-4t4c-ethip4-ip4base-snat-1u-1p-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-nat44-mrr.tc03-64B-4t4c-ethip4udp-ip4base-nat44-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64b-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc05-64B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc02-64b-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
-
-tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc09-64B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
-  "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc03-64b-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
-
-
-# tests.vpp.perf.ip6
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale2m-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6scale2m-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale2m-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc02-78B-2t2c-ethip6-ip6scale2m-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale2m-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc03-78B-4t4c-ethip6-ip6scale2m-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale20k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6scale20k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale20k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc02-78B-2t2c-ethip6-ip6scale20k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale20k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc03-78B-4t4c-ethip6-ip6scale20k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale200k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6scale200k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale200k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc02-78B-2t2c-ethip6-ip6scale200k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale200k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc03-78B-4t4c-ethip6-ip6scale200k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale2m-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6scale2m-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale2m-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc02-78B-2t2c-ethip6-ip6scale2m-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale2m-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc03-78B-4t4c-ethip6-ip6scale2m-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale20k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6scale20k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale20k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc02-78B-2t2c-ethip6-ip6scale20k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale20k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc03-78B-4t4c-ethip6-ip6scale20k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale200k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6scale200k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale200k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc02-78B-2t2c-ethip6-ip6scale200k-mrr"
-
-tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale200k-mrr:
-  "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc03-78B-4t4c-ethip6-ip6scale200k-mrr"
-
-
-# tests.vpp.perf.vm_vhost
-
-Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc05-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc02-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc09-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc03-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc04-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc10-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc08-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc05-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc02-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc09-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc03-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc04-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc10-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc08-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
-  "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
-
-
-# tests.vpp.perf.crypto base
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-mrr"
-
-
-# tests.vpp.perf.crypto scale
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr. tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-mrr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc01-64B-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc01-64B-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc02-64B-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc02-64B-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc03-64B-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc03-64B-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc04-1518B-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc04-1518B-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc05-1518B-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc05-1518B-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc06-1518B-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc06-1518B-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc07-9000B-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc07-9000B-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc08-9000B-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc08-9000B-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc09-9000B-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc09-9000B-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc10-IMIX-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc10-IMIX-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc11-IMIX-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc11-IMIX-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr.tc12-IMIX-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-mrr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr.tc12-IMIX-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-mrr"
-
-
-# NDRPDR Tests
-
-# tests.vpp.perf.crypto base
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-aes128cbc-hmac256sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-int-aes128gcm-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-int-aes128gcm-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc01-64B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc02-64B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc03-64B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecbasetnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-
-# tests.vpp.perf.crypto scale
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr. tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-int-aes128gcm-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128cbc-hmac256sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnl-ip4base-tnl-aes128gcm-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128cbc-hmac512sha-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc01-64B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc02-64B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc03-64B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc04-1518B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc05-1518B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc06-1518B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc07-9000B-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc08-9000B-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc09-9000B-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc10-IMIX-1c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc11-IMIX-2c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes-gcm-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr.tc12-IMIX-4c-ethip4ipsecscale1000tnlsw-ip4base-tnl-aes128gcm-ndrpdr"
-
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc01-64B-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc01-64B-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc02-64B-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc02-64B-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc03-64B-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc03-64B-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc04-1518B-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc04-1518B-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc05-1518B-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc05-1518B-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc06-1518B-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc06-1518B-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc07-9000B-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc07-9000B-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc08-9000B-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc08-9000B-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc09-9000B-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc09-9000B-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc10-IMIX-1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc10-IMIX-1c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc11-IMIX-2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc11-IMIX-2c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
-
-tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr.tc12-IMIX-4c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdr:
-  "tests.vpp.perf.crypto.10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.tc12-IMIX-4c-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr"
index d06cada..5bbea29 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -11,7 +11,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-"""CSIT Presentation and analytics layer.
+"""CSIT Presentation and Analytics Layer.
 """
 
 import sys
@@ -19,18 +19,21 @@ import argparse
 import logging
 
 from pal_errors import PresentationError
-from environment import Environment, clean_environment
 from specification_parser import Specification
+from environment import Environment, clean_environment
+from static_content import prepare_static_content
 from input_data_parser import InputData
 from generator_tables import generate_tables
 from generator_plots import generate_plots
 from generator_files import generate_files
-from static_content import prepare_static_content
 from generator_report import generate_report
 from generator_cpta import generate_cpta
 from generator_alerts import Alerting, AlertingError
 
 
+OUTPUTS = (u"none", u"report", u"trending", u"convert_to_json")
+
+
 def parse_args():
     """Parse arguments from cmd line.
 
@@ -45,7 +48,7 @@ def parse_args():
     parser.add_argument(
         u"-s", u"--specification",
         required=True,
-        type=argparse.FileType(u'r'),
+        type=str,
         help=u"Specification YAML file."
     )
     parser.add_argument(
@@ -62,7 +65,9 @@ def parse_args():
     )
     parser.add_argument(
         u"-l", u"--logging",
-        choices=[u"DEBUG", u"INFO", u"WARNING", u"ERROR", u"CRITICAL"],
+        choices=[
+            u"NOTSET", u"DEBUG", u"INFO", u"WARNING", u"ERROR", u"CRITICAL"
+        ],
         default=u"ERROR",
         help=u"Logging level."
     )
@@ -103,33 +108,38 @@ def parse_args():
 def main():
     """Main function."""
 
-    log_levels = {u"NOTSET": logging.NOTSET,
-                  u"DEBUG": logging.DEBUG,
-                  u"INFO": logging.INFO,
-                  u"WARNING": logging.WARNING,
-                  u"ERROR": logging.ERROR,
-                  u"CRITICAL": logging.CRITICAL}
+    log_levels = {
+        u"NOTSET": logging.NOTSET,
+        u"DEBUG": logging.DEBUG,
+        u"INFO": logging.INFO,
+        u"WARNING": logging.WARNING,
+        u"ERROR": logging.ERROR,
+        u"CRITICAL": logging.CRITICAL
+    }
 
     args = parse_args()
-    logging.basicConfig(format=u"%(asctime)s: %(levelname)s: %(message)s",
-                        datefmt=u"%Y/%m/%d %H:%M:%S",
-                        level=log_levels[args.logging])
+    logging.basicConfig(
+        format=u"%(asctime)s: %(levelname)s: %(message)s",
+        datefmt=u"%Y/%m/%d %H:%M:%S",
+        level=log_levels[args.logging]
+    )
 
     logging.info(u"Application started.")
+
     try:
         spec = Specification(args.specification)
         spec.read_specification()
-    except PresentationError:
+    except PresentationError as err:
         logging.critical(u"Finished with error.")
         return 1
 
-    if spec.output[u"output"] not in (u"none", u"report", u"trending"):
+    if spec.output[u"output"] not in OUTPUTS:
         logging.critical(
             f"The output {spec.output[u'output']} is not supported."
         )
         return 1
 
-    ret_code = 1
+    return_code = 1
     try:
         env = Environment(spec.environment, args.force)
         env.set_environment()
@@ -164,7 +174,7 @@ def main():
             logging.info("No output will be generated.")
 
         logging.info(u"Successfully finished.")
-        ret_code = 0
+        return_code = 0
 
     except AlertingError as err:
         logging.critical(f"Finished with an alerting error.\n{repr(err)}")
@@ -175,7 +185,7 @@ def main():
     finally:
         if spec is not None:
             clean_environment(spec.environment)
-    return ret_code
+    return return_code
 
 
 if __name__ == u"__main__":
index 649c86c..a584088 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -29,11 +29,13 @@ class PresentationError(Exception):
      - relevant data if there are any collected (optional parameter details).
     """
 
-    log_exception = {u"DEBUG": logging.debug,
-                     u"INFO": logging.info,
-                     u"WARNING": logging.warning,
-                     u"ERROR": logging.error,
-                     u"CRITICAL": logging.critical}
+    log_level = {
+        u"DEBUG": logging.debug,
+        u"INFO": logging.info,
+        u"WARNING": logging.warning,
+        u"ERROR": logging.error,
+        u"CRITICAL": logging.critical
+    }
 
     def __init__(self, msg, details=u'', level=u"CRITICAL"):
         """Sets the exception message and the level.
@@ -55,9 +57,9 @@ class PresentationError(Exception):
         self._level = level
 
         try:
-            self.log_exception[self._level](self._msg)
+            self.log_level[self._level](self._msg)
             if self._details:
-                self.log_exception[self._level](self._details)
+                self.log_level[self._level](self._details)
         except KeyError:
             print(u"Wrong log level.")
             sys.exit(1)
index 86a6679..f546aa4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -227,7 +227,7 @@ def archive_input_data(spec):
 
     logging.info(u"    Archiving the input data files ...")
 
-    extension = spec.input[u"arch-file-format"]
+    extension = spec.output[u"arch-file-format"]
     data_files = list()
     for ext in extension:
         data_files.extend(get_files(
index 14191ff..18b0ec7 100755 (executable)
@@ -23,7 +23,7 @@ pip3 install -r requirements.txt
 export PYTHONPATH=`pwd`:`pwd`/../../../:`pwd`/../../libraries/python
 
 STATUS=$(python pal.py \
-    --specification specification_CPTA.yaml \
+    --specification specifications/trending \
     --logging INFO \
     --force)
 RETURN_STATUS=$?
index 308c625..fd78816 100755 (executable)
@@ -26,9 +26,9 @@ pip3 install -r requirements.txt
 export PYTHONPATH=`pwd`:`pwd`/../../../:`pwd`/../../libraries/python
 
 python pal.py \
-    --specification specification.yaml \
+    --specification specifications/report \
     --release ${RELEASE} \
-    --week "09" \
+    --week "18" \
     --logging INFO \
     --force
 
index 6074f1d..b48d4d2 100755 (executable)
@@ -104,7 +104,7 @@ python pal.py --help
 
 if [[ ${filename} != "" ]]; then
     python pal.py \
-        --specification specification_local.yaml \
+        --specification specifications/report_local \
         --release ${release} \
         --week ${week} \
         --logging INFO \
@@ -114,7 +114,7 @@ fi
 
 if [[ ${directoryname} != "" ]]; then
     python pal.py \
-        --specification specification_local.yaml \
+        --specification specifications/report_local \
         --release ${release} \
         --week ${week} \
         --logging INFO \
diff --git a/resources/tools/presentation/specification_local.yaml b/resources/tools/presentation/specification_local.yaml
deleted file mode 100644 (file)
index f67b0d2..0000000
+++ /dev/null
@@ -1,3388 +0,0 @@
-###############################################################################
-#
-# This specification is an example, but it fully works and can be used as a
-# base.
-#
-###############################################################################
-
-###############################################################################
-# Section: Environment
-#
-# Specifies paths and urls used by PAL and/or elements.
-# In general, you do not need to edit this section.
-#
-- type: "environment"
-
-  paths:
-    # Top level directories:
-    ## Working directory
-    DIR[WORKING]: "_tmp"
-    ## Build directories
-    DIR[BUILD,HTML]: "_build"
-    DIR[BUILD,LATEX]: "_build_latex"
-
-    # Static .rst files in CSIT repo
-    DIR[RST]: "../../../docs/report"
-
-    # Working directories
-    ## Input data files (.zip, .xml)
-    DIR[WORKING,DATA]: "{DIR[WORKING]}/data"
-    ## Static source files from CSIT repo
-    DIR[WORKING,SRC]: "{DIR[WORKING]}/src"
-    DIR[WORKING,SRC,STATIC]: "{DIR[WORKING,SRC]}/_static"
-
-    # Static html content
-    DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
-    DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
-    DIR[STATIC,DPDK]: "{DIR[STATIC]}/dpdk"
-    DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
-
-    # Detailed test results
-    DIR[DTR]: "{DIR[WORKING,SRC]}/detailed_test_results"
-    DIR[DTR,PERF,DPDK,3N,HSW]: "{DIR[DTR]}/dpdk_performance_results_3n_hsw"
-    DIR[DTR,PERF,DPDK,3N,SKX]: "{DIR[DTR]}/dpdk_performance_results_3n_skx"
-    DIR[DTR,PERF,DPDK,2N,SKX]: "{DIR[DTR]}/dpdk_performance_results_2n_skx"
-    DIR[DTR,PERF,DPDK,2N,CLX]: "{DIR[DTR]}/dpdk_performance_results_2n_clx"
-    DIR[DTR,PERF,DPDK,2N,DNV]: "{DIR[DTR]}/dpdk_performance_results_2n_dnv"
-    DIR[DTR,PERF,DPDK,3N,DNV]: "{DIR[DTR]}/dpdk_performance_results_3n_dnv"
-    DIR[DTR,PERF,DPDK,3N,TSH]: "{DIR[DTR]}/dpdk_performance_results_3n_tsh"
-    DIR[DTR,PERF,VPP,ALL]: "{DIR[DTR]}/vpp_performance_results"
-    DIR[DTR,PERF,VPP,3N,HSW]: "{DIR[DTR]}/vpp_performance_results_3n_hsw"
-    DIR[DTR,PERF,VPP,3N,SKX]: "{DIR[DTR]}/vpp_performance_results_3n_skx"
-    DIR[DTR,PERF,VPP,2N,SKX]: "{DIR[DTR]}/vpp_performance_results_2n_skx"
-    DIR[DTR,PERF,VPP,2N,CLX]: "{DIR[DTR]}/vpp_performance_results_2n_clx"
-    DIR[DTR,PERF,VPP,3N,TSH]: "{DIR[DTR]}/vpp_performance_results_3n_tsh"
-    DIR[DTR,PERF,VPP,3N,DNV]: "{DIR[DTR]}/vpp_performance_results_3n_dnv"
-    DIR[DTR,PERF,VPP,2N,DNV]: "{DIR[DTR]}/vpp_performance_results_2n_dnv"
-    DIR[DTR,MRR,VPP,ALL]: "{DIR[DTR]}/vpp_mrr_results"
-    DIR[DTR,MRR,VPP,3N,HSW]: "{DIR[DTR]}/vpp_mrr_results_3n_hsw"
-    DIR[DTR,MRR,VPP,3N,SKX]: "{DIR[DTR]}/vpp_mrr_results_3n_skx"
-    DIR[DTR,MRR,VPP,2N,SKX]: "{DIR[DTR]}/vpp_mrr_results_2n_skx"
-    DIR[DTR,MRR,VPP,2N,CLX]: "{DIR[DTR]}/vpp_mrr_results_2n_clx"
-    DIR[DTR,MRR,VPP,3N,TSH]: "{DIR[DTR]}/vpp_mrr_results_3n_tsh"
-    DIR[DTR,MRR,VPP,3N,DNV]: "{DIR[DTR]}/vpp_mrr_results_3n_dnv"
-    DIR[DTR,MRR,VPP,2N,DNV]: "{DIR[DTR]}/vpp_mrr_results_2n_dnv"
-    DIR[DTR,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTR]}/vpp_device_results_ubuntu"
-
-    # Detailed test configurations
-    DIR[DTC]: "{DIR[WORKING,SRC]}/test_configuration"
-    DIR[DTC,PERF,VPP,ALL]: "{DIR[DTC]}/vpp_performance_configuration"
-    DIR[DTC,PERF,VPP,3N,HSW]: "{DIR[DTC]}/vpp_performance_configuration_3n_hsw"
-    DIR[DTC,PERF,VPP,3N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_3n_skx"
-    DIR[DTC,PERF,VPP,2N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_2n_skx"
-    DIR[DTC,PERF,VPP,2N,CLX]: "{DIR[DTC]}/vpp_performance_configuration_2n_clx"
-    DIR[DTC,PERF,VPP,3N,TSH]: "{DIR[DTC]}/vpp_performance_configuration_3n_tsh"
-    DIR[DTC,PERF,VPP,3N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_3n_dnv"
-    DIR[DTC,PERF,VPP,2N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_2n_dnv"
-    DIR[DTC,MRR,VPP,ALL]: "{DIR[DTC]}/vpp_mrr_configuration"
-    DIR[DTC,MRR,VPP,3N,HSW]: "{DIR[DTC]}/vpp_mrr_configuration_3n_hsw"
-    DIR[DTC,MRR,VPP,3N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_3n_skx"
-    DIR[DTC,MRR,VPP,2N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_skx"
-    DIR[DTC,MRR,VPP,2N,CLX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_clx"
-    DIR[DTC,MRR,VPP,3N,TSH]: "{DIR[DTC]}/vpp_mrr_configuration_3n_tsh"
-    DIR[DTC,MRR,VPP,3N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_3n_dnv"
-    DIR[DTC,MRR,VPP,2N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_2n_dnv"
-    DIR[DTC,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTC]}/vpp_device_configuration_ubuntu"
-
-    # Detailed tests operational data
-    DIR[DTO]: "{DIR[WORKING,SRC]}/test_operational_data"
-    DIR[DTO,PERF,VPP,ALL]: "{DIR[DTO]}/vpp_performance_operational_data"
-    DIR[DTO,PERF,VPP,3N,HSW]: "{DIR[DTO]}/vpp_performance_operational_data_3n_hsw"
-    DIR[DTO,PERF,VPP,3N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_3n_skx"
-    DIR[DTO,PERF,VPP,2N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_skx"
-    DIR[DTO,PERF,VPP,2N,CLX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_clx"
-    DIR[DTO,PERF,VPP,3N,TSH]: "{DIR[DTO]}/vpp_performance_operational_data_3n_tsh"
-    DIR[DTO,PERF,VPP,3N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_3n_dnv"
-    DIR[DTO,PERF,VPP,2N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_2n_dnv"
-
-    # Latencies:
-    DIR[LAT,VPP]: "{DIR[WORKING,SRC]}/vpp_performance_tests/hdrh_packet_latency_by_percentile_graphs"
-    DIR[LAT,DPDK]: "{DIR[WORKING,SRC]}/dpdk_performance_tests/hdrh_packet_latency_by_percentile_graphs"
-
-    # .css patch file to fix tables generated by Sphinx
-    DIR[CSS_PATCH_FILE]: "{DIR[STATIC]}/theme_overrides.css"
-    DIR[CSS_PATCH_FILE2]: "{DIR[WORKING,SRC,STATIC]}/theme_overrides.css"
-
-  urls:
-    # Urls where the input files are downloaded from
-    URL[JENKINS,CSIT]: "https://jenkins.fd.io/view/csit/job"
-    URL[S3_STORAGE,LOG]: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
-    URL[NEXUS,LOG]: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
-    URL[NEXUS,DOC]: "https://docs.fd.io/csit"
-    DIR[NEXUS,DOC]: "report/_static/archive"
-
-  make-dirs:
-    # List the directories which are created while preparing the environment.
-    # All directories MUST be defined in "paths" section.
-    - "DIR[WORKING,DATA]"
-    - "DIR[STATIC,VPP]"
-    - "DIR[STATIC,DPDK]"
-    - "DIR[STATIC,ARCH]"
-    - "DIR[BUILD,LATEX]"
-    - "DIR[WORKING,SRC]"
-    - "DIR[WORKING,SRC,STATIC]"
-
-  remove-dirs:
-  # List the directories which are deleted while cleaning the environment.
-  # All directories MUST be defined in "paths" section.
-  #- "DIR[BUILD,HTML]"
-  - "DIR[WORKING,DATA]"
-
-  build-dirs:
-  # List the directories where the results (build) is stored.
-  # All directories MUST be defined in "paths" section.
-  - "DIR[BUILD,HTML]"
-  - "DIR[BUILD,LATEX]"
-
-###############################################################################
-#
-# Section: Configuration
-#
-# Specifies:
-# - Limits of NICs, links and PCI buses used by CSIT.
-# - Data sets used by elements specified in this file.
-# - Layouts of plots specified in this file.
-#
-- type: "configuration"
-
-  # Limits of NICs, links and PCI buses used by CSIT.
-  limits:
-    # NIC limits [pps] for 64B packets
-    nic:
-      x520: 24460000
-      x553: 29761905
-      x710: 35800000
-      xxv710: 35800000
-      xl710: 35800000
-      cx556a: 60000000
-
-    # Link limits [pps] for 64B packets
-    link:
-      10ge: 14880952.38
-      25ge: 37202380.95
-      40ge: 59523809.52
-      100ge: 148809523.81
-
-    # PCI limits [pps] for 64B packets
-    pci:
-      pci-g3-x8: 74404761.90
-      pci-g3-x16: 148809523.81
-
-  # Data sets used by elements specified in this file
-  #
-  # The structure of a simple data set for a plot is:
-  #
-  #  <name-of-a-data-set>:
-  #    <jenkins-job>:
-  #      - <build_1>
-  #      - <build_2>
-  #      - ...
-  #      - <build_n>
-  #
-  #  For example plot using data from three builds:
-  #
-  #  plot-vpp-throughput-lat-tsa-3n-dnv:
-  #    csit-vpp-perf-verify-2001-3n-dnv:
-  #      - 5   # NDRPDR sel
-  #      - 6   # NDRPDR sel
-  #      - 13  # NDRPDR sel
-  #
-  # Simple table with one data set is similar to the previous example:
-  #
-  #  vpp-perf-results-3n-hsw:
-  #    csit-vpp-perf-verify-2001-3n-hsw:
-  #      - 18  # NDRPDR full
-  #      - 20  # NDRPDR full
-  #      - 28  # NDRPDR full
-  #      - 35  # NDRPDR full
-  #      - 42  # NDRPDR full
-  #      - 46  # NDRPDR full
-  #      - 47  # NDRPDR full
-  #
-  # Tables with more than one data set:
-  #
-  # There are three data sub-sets defined in this example:
-  # - vpp-performance-changes-3n-hsw-h1
-  # - vpp-performance-changes-3n-hsw-ref
-  # - vpp-performance-changes-3n-hsw-cmp
-  # And then a fourth one:
-  # - vpp-performance-changes-3n-hsw
-  # which includes the previous three sub-sets.
-  # These data sets are used for tables which compares performance of current
-  # released version (2001) to the previous one (1908) and adds one old
-  # version (1904).
-  #
-  #  vpp-performance-changes-3n-hsw-h1:
-  #    csit-vpp-perf-verify-1904-3n-hsw:
-  #      - 11  # NDRPDR sel
-  #      - 12  # NDRPDR sel
-  #      - 20  # NDRPDR sel
-  #      - 21  # NDRPDR sel
-  #      - 23  # NDRPDR sel
-  #      - 24  # NDRPDR sel
-  #      - 25  # NDRPDR sel
-  #      - 26  # NDRPDR sel
-  #      - 29  # NDRPDR sel
-  #      - 30  # NDRPDR sel
-  #  vpp-performance-changes-3n-hsw-ref:
-  #    csit-vpp-perf-verify-1908-3n-hsw:
-  #      - 12  # NDRPDR sel
-  #      - 13  # NDRPDR sel
-  #      - 14  # NDRPDR sel
-  #      - 15  # NDRPDR sel
-  #      - 16  # NDRPDR sel
-  #      - 17  # NDRPDR sel
-  #      - 18  # NDRPDR sel
-  #      - 19  # NDRPDR sel
-  #      - 20  # NDRPDR sel
-  #      - 21  # NDRPDR sel
-  #  vpp-performance-changes-3n-hsw-cmp:
-  #    csit-vpp-perf-verify-2001-3n-hsw:
-  #      - 21  # NDRPDR sel
-  #      - 22  # NDRPDR sel
-  #      - 23  # NDRPDR sel
-  #      - 24  # NDRPDR sel
-  #      - 25  # NDRPDR sel
-  #      - 29  # NDRPDR sel
-  #      - 30  # NDRPDR sel
-  #      - 31  # NDRPDR sel
-  #      - 32  # NDRPDR sel
-  #      - 34  # NDRPDR sel
-  #  vpp-performance-changes-3n-hsw:
-  #    - "vpp-performance-changes-3n-hsw-h1"
-  #    - "vpp-performance-changes-3n-hsw-ref"
-  #    - "vpp-performance-changes-3n-hsw-cmp"
-  #
-  data-sets:
-
-  # Data sets used in the examples below:
-    plot-vpp-throughput-lat-tsa-3n-dnv:
-      csit-vpp-perf-verify-2001-3n-dnv:
-        - 1   # NDRPDR sel
-        - 2   # NDRPDR sel
-        - 3   # NDRPDR sel
-
-    vpp-perf-results-3n-dnv:
-      csit-vpp-perf-verify-2001-3n-dnv:
-        - 1   # NDRPDR sel
-
-    plot-vpp-throughput-lat-tsa-2n-clx:
-      csit-vpp-perf-verify-2001-2n-clx:
-        - 1   # NDRPDR sel
-        - 2   # NDRPDR sel
-
-    vpp-perf-results-2n-clx:
-      csit-vpp-perf-verify-2001-2n-clx:
-        - 1   # NDRPDR sel
-
-    plot-vpp-hdrh-lat-2n-clx:
-      csit-vpp-perf-verify-2001-2n-clx:
-        - 1   # NDRPDR sel
-
-  # Layouts of plots specified in this file.
-  #
-  # There are defined layouts fro plots generated by plot.ly
-  # The layouts are created using information from plot.ly reference:
-  # https://plot.ly/python/reference/
-  # These layout are directly used, however, in some cases are changed
-  # or added some of their parts, e.g.:
-  # - titles (graph title, axes,...),
-  # - ranges,
-  # - legends,
-  # - annotations, ...
-  #
-  # For more information see plot.ly web pages.
-  #
-  plot-layouts:
-
-    plot-soak-throughput:
-      titlefont:
-        size: 18
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 16
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 16
-        zeroline: False
-      yaxis:
-        title: "<b>Critical Rate Lower Bound [Mpps]</b>"
-        titlefont:
-          size: 16
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4r"
-        tickformat: ".3r"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 16
-        zeroline: False
-        range: [0,50]
-      autosize: False
-      margin:
-        t: 50
-        b: 0
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 16
-      width: 700
-      height: 900
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-service-density:
-      titlefont:
-        size: 18
-      xaxis:
-        side: "top"
-        autorange: True
-        fixedrange: False
-        showgrid: False
-        showline: False
-        showticklabels: False
-        ticks: ""
-        ticklen: 0
-        tickwidth: 0
-        zeroline: False
-      yaxis:
-        autorange: "reversed"
-        showgrid: False
-        showline: False
-        showticklabels: False
-        ticks: ""
-        ticklen: 0
-        tickwidth: 0
-        zeroline: False
-      showlegend: False
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      width: 700
-      height: 700
-      hoverlabel:
-        namelength: -1
-
-    plot-cps:
-      titlefont:
-        size: 18
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 16
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 16
-        zeroline: False
-      yaxis:
-        title: "<b>Connections Per Second [cps]</b>"
-        titlefont:
-          size: 16
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        rangemode: "tozero"
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickformat: ".3s"
-        tickfont:
-          size: 16
-        zeroline: False
-      boxmode: "group"
-      boxgroupgap: 0.5
-      autosize: False
-      margin:
-        t: 50
-        b: 20
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 16
-      width: 700
-      height: 800
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-rps:
-      titlefont:
-        size: 18
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 16
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 16
-        zeroline: False
-      yaxis:
-        title: "<b>Requests Per Second [rps]</b>"
-        titlefont:
-          size: 16
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        rangemode: "tozero"
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(230, 230, 230)"
-        tickformat: ".3s"
-        tickfont:
-          size: 16
-        zeroline: False
-      boxmode: "group"
-      boxgroupgap: 0.5
-      autosize: False
-      margin:
-        t: 50
-        b: 20
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 16
-      width: 700
-      height: 800
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-throughput:
-      titlefont:
-        size: 18
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 16
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 16
-        zeroline: False
-      yaxis:
-        title: "<b>Packet Throughput [Mpps]</b>"
-        titlefont:
-          size: 16
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4r"
-        tickformat: ".3r"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 16
-        zeroline: False
-        range: [0,50]
-      autosize: False
-      margin:
-        t: 50
-        b: 0
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 16
-      width: 700
-      height: 900
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-throughput-speedup-analysis:
-      titlefont:
-        size: 18
-      xaxis:
-        title: "<b>Number of Cores [Qty]</b>"
-        titlefont:
-          size: 16
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(238, 238, 238)"
-        tickmode: "linear"
-        tickfont:
-          size: 16
-        zeroline: False
-      yaxis:
-        title: "<b>Packet Throughput [Mpps]</b>"
-        titlefont:
-          size: 16
-        type: "linear"
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickformat: ".4s"
-        tickfont:
-          size: 16
-        zeroline: True
-        rangemode: "tozero"
-        range: [0,100]
-      legend:
-        orientation: "h"
-        font:
-          size: 16
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.2
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-      autosize: False
-      margin:
-          't': 50
-          'b': 150
-          'l': 85
-          'r': 10
-      showlegend: True
-      width: 700
-      height: 700
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-      annotations: [
-        {
-          text: "_ _          __          ...",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.13,
-          font: {
-            family: "Consolas, Courier New",
-            size: 15
-          },
-        },
-        {
-          text: "    Perfect     Measured     Limit",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.15,
-          font: {
-            family: "Consolas, Courier New",
-            size: 15
-          },
-        },
-      ]
-
-    plot-latency:
-      titlefont:
-        size: 18
-      xaxis:
-        title: "<b>Direction</b>"
-        titlefont:
-          size: 16
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: False
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 16
-        zeroline: False
-      yaxis:
-        title: "<b>Packet Latency [uSec]</b>"
-        titlefont:
-          size: 16
-        type: "linear"
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickformat: ".4s"
-        tickfont:
-          size: 16
-        zeroline: True
-        rangemode: "tozero"
-      legend:
-        orientation: "h"
-        font:
-          size: 16
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-      autosize: False
-      margin:
-          't': 50
-          'b': 150
-          'l': 80
-          'r': 10
-      showlegend: True
-      width: 700
-      height: 700
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-hdrh-latency:
-      title:
-        text: ""
-        xanchor: "center"
-        x: 0.5
-        font:
-          size: 16
-      width: 700
-      plot_bgcolor: "white"
-      annotations:
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Packet Latency [uSec]</b>"
-          x: 1
-          xanchor: "right"
-          xref: "paper"
-          y: -0.045
-          yanchor: "top"
-          yref: "paper"
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Probability [%]</b>"
-          textangle: 270
-          x: -0.06
-          xanchor: "center"
-          xref: "paper"
-          y: 0.5
-          yanchor: "middle"
-          yref: "paper"
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Direction: E-W</b>"
-          x: 0.24
-          xanchor: "center"
-          xref: "paper"
-          y: 1.05
-          yanchor: "bottom"
-          yref: "paper"
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Direction: W-E</b>"
-          x: 0.74
-          xanchor: "center"
-          xref: "paper"
-          y: 1.05
-          yanchor: "bottom"
-          yref: "paper"
-
-    plot-hdrh-latency-percentile:
-      title:
-        text: ""
-        xanchor: "center"
-        x: 0.5
-        font:
-          size: 18
-      xaxis:
-        type: "log"
-        title: "<b>Percentile [%]</b>"
-        titlefont:
-          size: 16
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickvals: [1, 2, 1e1, 20, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8]
-        ticktext: [0, 50, 90, 95, 99, 99.9, 99.99, 99.999, 99.9999, 99.99999, 99.999999]
-        tickfont:
-          size: 16
-      yaxis:
-        title: "<b>Packet Latency [uSec]</b>"
-        titlefont:
-          size: 16
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 16
-      autosize: False
-      showlegend: True
-      legend:
-        traceorder: "normal"
-        orientation: "h"
-        font:
-          size: 16
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.15
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-      width: 700
-      height: 700
-      paper_bgcolor: "white"
-      plot_bgcolor: "white"
-
-    plot-hdrh-latency-by-percentile:
-      title:
-        text: "<b>Latency by Percentile Distribution</b>"
-        xanchor: "center"
-        x: 0.5
-        font:
-          size: 18
-      showlegend: True
-      legend:
-        traceorder: "normal"
-        orientation: "h"
-        font:
-          size: 16
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.2
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-      xaxis:
-        type: "linear"
-        title: "<b>Percentile [%]</b>"
-        titlefont:
-          size: 14
-        autorange: False
-        fixedrange: False
-        range: [0, 100]
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickvals: [0, 25, 50, 75, 100]
-        ticktext: [0, 25, 50, 75, 100]
-        tickfont:
-          size: 14
-      yaxis:
-        title: "<b>One-Way Latency per Direction [uSec]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-      width: 700
-      height: 700
-      paper_bgcolor: "white"
-      plot_bgcolor: "white"
-
-###############################################################################
-#
-# Section: Static content
-#
-# Specifies the source of the static content. PAL copies it from source
-# directory to the destination directory and then modifies only the copy.
-#
-- type: "static"
-  src-path: "{DIR[RST]}"
-  dst-path: "{DIR[WORKING,SRC]}"
-
-###############################################################################
-#
-# Section: Inputs
-#
-# Specifies the data sources.
-#
-- type: "input"
-  general:
-    # Specifies the primary source - nexus
-    file-name: "output_info.xml.gz"
-    file-format: ".gz"
-    arch-file-format:
-      - ".gz"
-      - ".zip"
-    download-path:
-      - "{job}/{build}/archives/{filename}"
-      - "{job}/{build}/{filename}"
-    extract: "output.xml"
-
-    # Specifies the secondary source - Jenkins, it is used if the source file
-    # is not found in the primary source
-    zip-file-name: "robot-plugin.zip"
-    zip-file-format: ".zip"
-    zip-download-path: "{job}/{build}/robot/report/*zip*/{filename}"
-    zip-extract: "robot-plugin/output.xml"
-
-  builds:
-
-    # Build to be downloaded.
-    #
-    # The structure is:
-    #
-    # jenkins-job-1:
-    #   - build_1
-    #   - build_2
-    #   - ...
-    #   - build_n
-    #
-    # jenkins-job-m:
-    #   - build_1
-    #   - build_2
-    #   - ...
-    #   - build_n
-    #
-    # You can specify as many jobs and builds as needed.
-    # This section is ignored when local sources (files and/or directories)
-    # are specified from the command line.
-
-    csit-vpp-perf-verify-2001-2n-clx:
-      - 1   # NDRPDR sel
-      - 2   # NDRPDR sel
-
-    csit-vpp-perf-verify-2001-3n-dnv:
-      - 1   # NDRPDR sel
-      - 2   # NDRPDR sel
-      - 3   # NDRPDR sel
-
-###############################################################################
-#
-# Section: Outputs
-#
-# Specification of outputs.
-#
-# Possible outputs are:
-# - report - a CSIT Report is generated
-# - trending -a CSIT Trending is generated
-# - none - nothing is generated, only element specified in the following
-#   section.
-#
-# format:
-# - html - html version is generated using sphinx
-# - pdf - pdf version is generated using Latex (only report)
-#
-- type: "output"
-  output: "report"
-  format:
-    html:
-    - full
-#    pdf:
-#    - minimal
-
-###############################################################################
-#
-# Section: Specifications of elements
-#
-# These elements can be specified:
-# - table
-# - file
-# - plot
-#
-# The configuration of elements depends on the ALGORITHM used to generate it.
-# See examples below:
-#
-# Plots
-#
-# - type: "plot"
-      # title: a string used in logs to identify the element, there must be
-      # specified the type of data to be presented at the end: ndr/pdr/mrr
-#   title: "Throughput: 3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-ndr"
-      # algorithm: The algorithm used to generate this element.
-#   algorithm: "plot_perf_box_name"
-      # output-file: The result is written to this file.
-#   output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-ndr"
-      # data: The data set, it must be specified in configuration --> data-sets
-#   data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-      # include: A List of tests to publish in the graph
-      # the number of test (e.g. tc01-) is removed and information about nr of
-      # threads is added (e.g. -1c- --> -1t1c-), see below.
-#   include:
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Dot1Q-Ip4Base-Ndrpdr.64B-1t1c-dot1q-ip4base-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-1t1c-ethip4-ip4base-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale20K-Ndrpdr.64B-1t1c-ethip4-ip4scale20k-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale200K-Ndrpdr.64B-1t1c-ethip4-ip4scale200k-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale2M-Ndrpdr.64B-1t1c-ethip4-ip4scale2m-ndrpdr"
-#   layout:
-        # The title displayed in the generated graph
-#     title: "3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-ndr"
-        # The layout used to generate the plot.ly graph. It must be specified in
-        # configuration --> plot-layouts
-#     layout: "plot-throughput"
-#
-#
-# - type: "plot"
-      # title: a string used in logs to identify the element, there must be
-      # specified the type of data to be presented at the end: ndr/pdr/mrr
-#   title: "Speedup: 3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-ndr-tsa"
-      # algorithm: The algorithm used to generate this element.
-#   algorithm: "plot_tsa_name"
-#   output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-ndr-tsa"
-#   data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-      # include: A List of tests to publish in the graph
-      # As all threads/cores combinations are used, the info about it is
-      # specified this way: -.t.c-
-#   include:
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-dot1q-ip4base-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-ethip4-ip4scale20k-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-ethip4-ip4scale200k-ndrpdr"
-#     - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-ndrpdr"
-#   layout:
-#     title: "3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-ndr-tsa"
-#     layout: "plot-throughput-speedup-analysis"
-#
-#
-# - type: "plot"
-#   title: "Latency by percentile: DPDK 3n-tsh"
-      # algorithm: The algorithm used to generate this element.
-      # This algorithm generates graphs for all tests in the data set specified
-      # by filter.
-#   algorithm: "plot_hdrh_lat_by_percentile"
-#   output-file: "{DIR[STATIC,DPDK]}/hdrh-lat-percentile-3n-tsh"
-      # output-file-links: here are written links to all generated plots
-#   output-file-links: "{DIR[LAT,DPDK]}/3n_tsh.rst"
-      # target-links: the prefix added to links
-#   target-links: "../../_static/dpdk"
-#   data: "plot-dpdk-hdrh-lat-3n-tsh"
-      # The logical expression defining the tests to be used. It consists of
-      # tags enclosed in apostrophes and logical operators.
-#   filter: "'1T1C' and 'NIC_Intel-X520-DA2'"
-#   layout:
-#     layout: "plot-hdrh-latency-by-percentile"
-#
-#
-# - type: "plot"
-#   title: "Packet Throughput: eth-l2bd-{Y}ch-{2XY}vh-{XY}vm-vxlan-vppip4-ndr"
-#   algorithm: "plot_nf_heatmap"
-#   output-file-type: ".html"
-#   output-file: "{DIR[STATIC,VPP]}/l2bd-2n-clx-xxv710-imix-8t4c-base-vsc-vxlan-ndr"
-#   data: "plot-vpp-nfv-2n-clx-ndrpdr"
-#   filter: "'NIC_Intel-XXV710' and
-#            'NF_DENSITY' and
-#            'VHOST' and
-#            'VXLAN' and
-#            'CHAIN' and
-#            'IMIX' and
-#            '8T4C' and
-#            'NDRPDR'"
-#   parameters:
-#     - "throughput"
-#     - "name"
-#     - "tags"
-#   include-tests: "NDR" # "PDR" | "NDR" | "MRR"
-#   x-axis: "X = VNFs per Service Chain"
-#   y-axis: "Y = Number of Service Chains"
-#   z-axis: "IMIX Packet Throughput (mean NDR) [Mpps]"
-#   layout:
-#     title: "<b>Throughput:</b> eth-l2bd-{Y}ch-{2XY}vh-{XY}vm-vxlan-vppip4-ndr"
-#     layout: "plot-service-density"
-#
-#
-# Tables
-#
-# - type: "table"
-#   title: "Detailed Test Results - VPP Performance Results 3n-dnv"
-      # algorithm: The algorithm used to generate this element.
-#   algorithm: "table_merged_details"
-#   output-file: "{DIR[DTR,PERF,VPP,3N,DNV]}/vpp_performance_results_3n_dnv"
-      # columns: Specification of columns
-      # title: column title
-      # data: string with two parts, 'data' means use data from data set, the second
-      # part specifies which data - name: test name, msg - test message,
-      # conf-history - configuration history,
-#   columns:
-#   - title: " |prein| Test Name |preout| "
-#     data: "data name"
-#   - title: " |prein| Throughput: |br| 1. Mpps      Gbps (NDR) |br| 2. Mpps      Gbps (PDR) |br| |br| One-Way Latency Percentiles in uSec at %PDR load, |br| one set per each direction: |br| 3. P50 P90 P99      P50 P90 P99 (10% PDR) |br| 4. P50 P90 P99      P50 P90 P99 (50% PDR) |br| 5. P50 P90 P99      P50 P90 P99 (90% PDR) |preout| "
-#     data: "data msg"
-#   data: "vpp-perf-results-3n-dnv"
-#   filter: "all"
-#     # parameters: test parameters from the source file used to generate this
-      # element.
-#   parameters:
-#   - "name"
-#   - "parent"
-#   - "msg"
-#
-#
-# - type: "table"
-#   title: "Test Operational Data - VPP Performance Operational Data 3n-dnv"
-      # algorithm: The algorithm used to generate this element.
-#   algorithm: "table_oper_data_html"
-#   output-file: "{DIR[DTO,PERF,VPP,3N,DNV]}/vpp_test_operational_3n_dnv"
-#   data: "vpp-perf-results-3n-dnv"
-#   filter: "all"
-#
-#
-# Files
-#
-# VPP Performance Results 3n-dnv
-# - type: "file"
-#   title: "VPP Performance Results 3n-dnv"
-      # algorithm: The algorithm used to generate this element.
-#   algorithm: "file_test_results"
-#   output-file: "{DIR[DTR,PERF,VPP,3N,DNV]}"
-      # dir-tables: The directory where the tables for file(s) are stored.
-#   dir-tables: "{DIR[DTR,PERF,VPP,3N,DNV]}"
-#   data: "vpp-perf-results-3n-dnv"
-#   filter: "all"
-      # data-start-level: The starting level in RF output.xml file.
-      # E.g.: the top level chapter for
-      # Tests.Vpp.Perf.Ip6.10Ge2P1X553-Dot1Q-Ip6Base-Ndrpdr.78B-1t1c-dot1q-ip6base-ndrpdr
-      # is Ip6
-#   data-start-level: 4
-#
-#
-# - type: "file"
-#   title: "VPP Performance Results"
-      # algorithm: The algorithm used to generate this element.
-#   algorithm: "file_details_split"
-#   output-file: "{DIR[DTR,PERF,VPP,ALL]}"
-      # dir-tables: The list of directories where the tables for files are
-      # stored.
-#   dir-tables:
-#     - "{DIR[DTR,PERF,VPP,2N,SKX]}"
-#     - "{DIR[DTR,PERF,VPP,3N,SKX]}"
-#     - "{DIR[DTR,PERF,VPP,2N,CLX]}"
-#     - "{DIR[DTR,PERF,VPP,3N,HSW]}"
-#     - "{DIR[DTR,PERF,VPP,3N,TSH]}"
-#     - "{DIR[DTR,PERF,VPP,2N,DNV]}"
-#     - "{DIR[DTR,PERF,VPP,3N,DNV]}"
-      # data: Data used to generate the files
-      # The order of these data sets must be the same as the order in
-      # 'dir-tables'.
-#   data:
-#     - "vpp-perf-results-2n-skx"
-#     - "vpp-perf-results-3n-skx"
-#     - "vpp-perf-results-2n-clx"
-#     - "vpp-perf-results-3n-hsw"
-#     - "vpp-perf-results-3n-tsh"
-#     - "vpp-perf-results-2n-dnv"
-#     - "vpp-perf-results-3n-dnv"
-#   filter: "all"
-#   data-start-level: 4
-      # order-chapters: The order of chapters in generated file structure.
-      # There are three levels and each has its own order of chapters.
-#   order-chapters:
-#     level-1:
-#       - "l2"
-#       - "ip4"
-#       - "ip6"
-#       - "srv6"
-#       - "ip4_tunnels"
-#       - "ip6_tunnels"
-#       - "vm_vhost"
-#       - "container_memif"
-#       - "crypto"
-#       - "vts"
-#       - "lb"
-#       - "nfv_density"
-#       - "hoststack"
-#     level-2:
-#       - "2n-skx"
-#       - "3n-skx"
-#       - "2n-clx"
-#       - "3n-hsw"
-#       - "3n-tsh"
-#       - "2n-dnv"
-#       - "3n-dnv"
-#     level-3:
-#       - "xl710"
-#       - "x520"
-#       - "xxv710"
-#       - "x710"
-#       - "x553"
-#       - "cx556a"
-#       - "vic1227"
-#       - "vic1385"
-
-###############################################################################
-# Example:
-#
-# We have this directory structure of input XML files:
-#
-# local
-# â”œâ”€â”€ csit-vpp-perf-verify-2001-2n-clx
-# â”‚   â”œâ”€â”€ csit-vpp-perf-verify-2001-2n-clx__28__output_info.xml
-# â”‚   â””── csit-vpp-perf-verify-2001-2n-clx__29__output_info.xml
-# â””── csit-vpp-perf-verify-2001-3n-dnv
-#     â”œâ”€â”€ csit-vpp-perf-verify-2001-3n-dnv__5__output_info.xml
-#     â”œâ”€â”€ csit-vpp-perf-verify-2001-3n-dnv__6__output_info.xml
-#     â””── csit-vpp-perf-verify-2001-3n-dnv__7__output_info.xml
-#
-# We created the data sets which you can find in configuration --> data-sets
-# section.
-#
-# Using models below, we generate tables, files and plots. Then we generate
-# the report. It is specified in the output section.
-#
-# Use this command to run it:
-# ./run_report_local.sh --directory local/
-#
-
-# Tables:
-
-# Detailed Test Results - VPP Performance Results 3n-dnv
-- type: "table"
-  title: "Detailed Test Results - VPP Performance Results 3n-dnv"
-  algorithm: "table_merged_details"
-  output-file: "{DIR[DTR,PERF,VPP,3N,DNV]}/"
-  columns:
-  - title: " |prein| Test Name |preout| "
-    data: "data name"
-  - title: " |prein| Throughput: |br| 1.  Mpps       Gbps (NDR) |br| 2.  Mpps       Gbps (PDR) |br| |br| One-Way Latency Percentiles in uSec at %PDR load, |br| one set per each direction: |br| 3.  P50  P90  P99       P50  P90  P99 (10% PDR) |br| 4.  P50  P90  P99       P50  P90  P99 (50% PDR) |br| 5.  P50  P90  P99       P50  P90  P99 (90% PDR) |preout| "
-    data: "data msg"
-  data: "vpp-perf-results-3n-dnv"
-  filter: "all"
-  parameters:
-  - "name"
-  - "parent"
-  - "msg"
-
-# Test configuration - VPP Performance Test Configs 3n-dnv
-- type: "table"
-  title: "Test configuration - VPP Performance Test Configs 3n-dnv"
-  algorithm: "table_merged_details"
-  output-file: "{DIR[DTC,PERF,VPP,3N,DNV]}/"
-  columns:
-  - title: " |prein| Test Name |preout| "
-    data: "data name"
-  - title: " |prein| VPP API Test Commands History - Commands Used Per Test Case |preout| "
-    data: "data conf-history"
-  data: "vpp-perf-results-3n-dnv"
-  filter: "all"
-  parameters:
-  - "parent"
-  - "name"
-  - "conf-history"
-
-# Test Operational Data - VPP Performance Operational Data 3n-dnv
-- type: "table"
-  title: "Test Operational Data - VPP Performance Operational Data 3n-dnv"
-  algorithm: "table_oper_data_html"
-  output-file: "{DIR[DTO,PERF,VPP,3N,DNV]}/"
-  data: "vpp-perf-results-3n-dnv"
-  filter: "all"
-
-# Detailed Test Results - VPP Performance Results 2n-clx
-- type: "table"
-  title: "Detailed Test Results - VPP Performance Results 2n-clx"
-  algorithm: "table_merged_details"
-  output-file: "{DIR[DTR,PERF,VPP,2N,CLX]}/"
-  columns:
-  - title: " |prein| Test Name |preout| "
-    data: "data name"
-  - title: " |prein| Throughput: |br| 1.  Mpps       Gbps (NDR) |br| 2.  Mpps       Gbps (PDR) |br| |br| One-Way Latency Percentiles in uSec at %PDR load, |br| one set per each direction: |br| 3.  P50  P90  P99       P50  P90  P99 (10% PDR) |br| 4.  P50  P90  P99       P50  P90  P99 (50% PDR) |br| 5.  P50  P90  P99       P50  P90  P99 (90% PDR) |preout| "
-    data: "data msg"
-  data: "vpp-perf-results-2n-clx"
-  filter: "all"
-  parameters:
-  - "name"
-  - "parent"
-  - "msg"
-
-# Test configuration - VPP Performance Test Configs 2n-clx
-- type: "table"
-  title: "Test configuration - VPP Performance Test Configs 2n-clx"
-  algorithm: "table_merged_details"
-  output-file: "{DIR[DTC,PERF,VPP,2N,CLX]}/"
-  columns:
-  - title: " |prein| Test Name |preout| "
-    data: "data name"
-  - title: " |prein| VPP API Test Commands History - Commands Used Per Test Case |preout| "
-    data: "data conf-history"
-  data: "vpp-perf-results-2n-clx"
-  filter: "all"
-  parameters:
-  - "parent"
-  - "name"
-  - "conf-history"
-
-# Test Operational Data - VPP Performance Operational Data 2n-clx
-- type: "table"
-  title: "Test Operational Data - VPP Performance Operational Data 2n-clx"
-  algorithm: "table_oper_data_html"
-  output-file: "{DIR[DTO,PERF,VPP,2N,CLX]}/"
-  data: "vpp-perf-results-2n-clx"
-  filter: "all"
-
-
-# Files:
-
-# VPP Performance Results
-- type: "file"
-  title: "VPP Performance Results"
-  algorithm: "file_details_split"
-  output-file: "{DIR[DTR,PERF,VPP,ALL]}"
-  dir-tables:
-    - "{DIR[DTR,PERF,VPP,2N,CLX]}"
-    - "{DIR[DTR,PERF,VPP,3N,DNV]}"
-  data:
-    - "vpp-perf-results-2n-clx"
-    - "vpp-perf-results-3n-dnv"
-  filter: "all"
-  data-start-level: 4
-  order-chapters:
-    level-1:
-      - "l2"
-      - "ip4"
-      - "ip6"
-      - "srv6"
-      - "ip4_tunnels"
-      - "ip6_tunnels"
-      - "vm_vhost"
-      - "container_memif"
-      - "crypto"
-      - "vts"
-      - "lb"
-      - "nfv_density"
-      - "hoststack"
-    level-2:
-      - "2n-skx"
-      - "3n-skx"
-      - "2n-clx"
-      - "3n-hsw"
-      - "3n-tsh"
-      - "2n-dnv"
-      - "3n-dnv"
-    level-3:
-      - "xl710"
-      - "x520"
-      - "xxv710"
-      - "x710"
-      - "x553"
-      - "cx556a"
-      - "vic1227"
-      - "vic1385"
-
-# VPP Performance Configuration
-- type: "file"
-  title: "VPP Performance Configuration"
-  algorithm: "file_details_split"
-  output-file: "{DIR[DTC,PERF,VPP,ALL]}"
-  dir-tables:
-    - "{DIR[DTC,PERF,VPP,2N,CLX]}"
-    - "{DIR[DTC,PERF,VPP,3N,DNV]}"
-  data:
-    - "vpp-perf-results-2n-clx"
-    - "vpp-perf-results-3n-dnv"
-  filter: "all"
-  data-start-level: 4
-  order-chapters:
-    level-1:
-      - "l2"
-      - "ip4"
-      - "ip6"
-      - "srv6"
-      - "ip4_tunnels"
-      - "ip6_tunnels"
-      - "vm_vhost"
-      - "container_memif"
-      - "crypto"
-      - "vts"
-      - "lb"
-      - "nfv_density"
-      - "hoststack"
-    level-2:
-      - "2n-skx"
-      - "3n-skx"
-      - "2n-clx"
-      - "3n-hsw"
-      - "3n-tsh"
-      - "2n-dnv"
-      - "3n-dnv"
-    level-3:
-      - "xl710"
-      - "x520"
-      - "xxv710"
-      - "x710"
-      - "x553"
-      - "cx556a"
-      - "vic1227"
-      - "vic1385"
-
-# VPP Performance Operational
-- type: "file"
-  title: "VPP Performance Operational"
-  algorithm: "file_details_split_html"
-  output-file: "{DIR[DTO,PERF,VPP,ALL]}"
-  dir-tables:
-    - "{DIR[DTO,PERF,VPP,2N,CLX]}"
-    - "{DIR[DTO,PERF,VPP,3N,DNV]}"
-  data:
-    - "vpp-perf-results-2n-clx"
-    - "vpp-perf-results-3n-dnv"
-  filter: "all"
-  data-start-level: 4
-  order-chapters:
-    level-1:
-      - "l2"
-      - "ip4"
-      - "ip6"
-      - "srv6"
-      - "ip4_tunnels"
-      - "ip6_tunnels"
-      - "vm_vhost"
-      - "container_memif"
-      - "crypto"
-      - "vts"
-      - "lb"
-      - "nfv_density"
-      - "hoststack"
-    level-2:
-      - "2n-skx"
-      - "3n-skx"
-      - "2n-clx"
-      - "3n-hsw"
-      - "3n-tsh"
-      - "2n-dnv"
-      - "3n-dnv"
-    level-3:
-      - "xl710"
-      - "x520"
-      - "xxv710"
-      - "x710"
-      - "x553"
-      - "cx556a"
-      - "vic1227"
-      - "vic1385"
-
-
-# Plots:
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Dot1Q-Ip4Base-Ndrpdr.64B-1t1c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-1t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale20K-Ndrpdr.64B-1t1c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale200K-Ndrpdr.64B-1t1c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale2M-Ndrpdr.64B-1t1c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Dot1Q-Ip4Base-Ndrpdr.64B-1t1c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-1t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale20K-Ndrpdr.64B-1t1c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale200K-Ndrpdr.64B-1t1c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale2M-Ndrpdr.64B-1t1c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-ip4routing-base-scale-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-features-ip4routing-base-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-features-ip4routing-base-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-1t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-1t1c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-features-ip4routing-base-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-features-ip4routing-base-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-features-ip4routing-base-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-1t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-1t1c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-features-ip4routing-base-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-ip4tunnel-base-scale-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-ip4tunnel-base-scale-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Xcbase-Ndrpdr.64B-1t1c-ethip4vxlan-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale1L2Bd1Vlan1Vxlan-Ndrpdr.64B-1t1c-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale100L2Bd100Vlan100Vxlan-Ndrpdr.64B-1t1c-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-ip4tunnel-base-scale-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-ip4tunnel-base-scale-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-ip4tunnel-base-scale-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Xcbase-Ndrpdr.64B-1t1c-ethip4vxlan-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale1L2Bd1Vlan1Vxlan-Ndrpdr.64B-1t1c-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale100L2Bd100Vlan100Vxlan-Ndrpdr.64B-1t1c-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-ip4tunnel-base-scale-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-78b-1t1c-ip6routing-base-scale-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-78b-1t1c-ip6routing-base-scale-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Dot1Q-Ip6Base-Ndrpdr.78B-1t1c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Base-Ndrpdr.78B-1t1c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale20K-Ndrpdr.78B-1t1c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale200K-Ndrpdr.78B-1t1c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale2M-Ndrpdr.78B-1t1c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-78b-1t1c-ip6routing-base-scale-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-78b-1t1c-ip6routing-base-scale-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-78b-1t1c-ip6routing-base-scale-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Dot1Q-Ip6Base-Ndrpdr.78B-1t1c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Base-Ndrpdr.78B-1t1c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale20K-Ndrpdr.78B-1t1c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale200K-Ndrpdr.78B-1t1c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale2M-Ndrpdr.78B-1t1c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-78b-1t1c-ip6routing-base-scale-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-l2switching-base-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-l2switching-base-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Xcbase-Ndrpdr.64B-1t1c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-l2switching-base-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-l2switching-base-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-l2switching-base-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Xcbase-Ndrpdr.64B-1t1c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-l2switching-base-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-l2switching-base-scale-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-l2switching-base-scale-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Patch-Ndrpdr.64B-1t1c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-l2switching-base-scale-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-l2switching-base-scale-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-l2switching-base-scale-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Patch-Ndrpdr.64B-1t1c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-l2switching-base-scale-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-features-l2switching-base-ixgbe-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-features-l2switching-base-ixgbe-ndr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sf-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sf-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Macip-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-features-l2switching-base-ixgbe-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 3n-dnv-x553-64b-1t1c-features-l2switching-base-ixgbe-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-1t1c-features-l2switching-base-ixgbe-pdr"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sf-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sf-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Macip-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-1t1c-features-l2switching-base-ixgbe-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-ip4routing-base-scale-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-features-ip4routing-base-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-features-ip4routing-base-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-.t.c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-features-ip4routing-base-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-features-ip4routing-base-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-features-ip4routing-base-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.10Ge2P1X553-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-.t.c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-features-ip4routing-base-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-ip4tunnel-base-scale-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-ip4tunnel-base-scale-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Xcbase-Ndrpdr.64B-.t.c-ethip4vxlan-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-ethip4vxlan-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale1L2Bd1Vlan1Vxlan-Ndrpdr.64B-.t.c-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale100L2Bd100Vlan100Vxlan-Ndrpdr.64B-.t.c-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-ip4tunnel-base-scale-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-ip4tunnel-base-scale-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-ip4tunnel-base-scale-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Xcbase-Ndrpdr.64B-.t.c-ethip4vxlan-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Ethip4Vxlan-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-ethip4vxlan-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale1L2Bd1Vlan1Vxlan-Ndrpdr.64B-.t.c-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X553-Dot1Q--Ethip4Vxlan-L2Bdscale100L2Bd100Vlan100Vxlan-Ndrpdr.64B-.t.c-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-ip4tunnel-base-scale-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-78b-ip6routing-base-scale-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-78b-ip6routing-base-scale-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale20K-Ndrpdr.78B-.t.c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale200K-Ndrpdr.78B-.t.c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-78b-ip6routing-base-scale-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-78b-ip6routing-base-scale-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-78b-ip6routing-base-scale-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale20K-Ndrpdr.78B-.t.c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale200K-Ndrpdr.78B-.t.c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.10Ge2P1X553-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-78b-ip6routing-base-scale-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-imix-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-imix-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-.t.c-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-.t.c-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-.t.c-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-.t.c-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-.t.c-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-.t.c-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-imix-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-imix-ipsec-ip4routing-base-scale-sw-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-imix-ipsec-ip4routing-base-scale-sw-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-.t.c-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-.t.c-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-.t.c-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-.t.c-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-.t.c-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr"
-    - "Tests.Vpp.Perf.Crypto.10Ge2P1X553-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-.t.c-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-imix-ipsec-ip4routing-base-scale-sw-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-l2switching-base-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-l2switching-base-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Xcbase-Ndrpdr.64B-.t.c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-l2switching-base-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-l2switching-base-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-l2switching-base-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Xcbase-Ndrpdr.64B-.t.c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-l2switching-base-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-l2switching-base-scale-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-l2switching-base-scale-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Patch-Ndrpdr.64B-.t.c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-l2switching-base-scale-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-l2switching-base-scale-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-l2switching-base-scale-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Patch-Ndrpdr.64B-.t.c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-l2switching-base-scale-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-features-l2switching-base-ixgbe-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-features-l2switching-base-ixgbe-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Macip-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-features-l2switching-base-ixgbe-ndr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 3n-dnv-x553-64b-features-l2switching-base-ixgbe-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/3n-dnv-x553-64b-features-l2switching-base-ixgbe-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-3n-dnv"
-  include:
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.L2.10Ge2P1X553-Eth-L2Bdbasemaclrn-Macip-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr"
-  layout:
-    title: "3n-dnv-x553-64b-features-l2switching-base-ixgbe-pdr-tsa"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-memif-base-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-memif-base-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-memif-base-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-memif-base-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-memif-base-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-memif-base-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2-eth-2memif-1dcr-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2-eth-2memif-1dcr-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2-eth-2memif-1dcr-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2-eth-2memif-1dcr-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2-eth-2memif-1dcr-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-2t1c-rdma-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2-eth-2memif-1dcr-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-x710-64b-2t1c-ip4routing-base-scale-[avf,dpdk]-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-2t1c-ip4routing-base-scale-[avf,dpdk]-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Dot1Q-Ip4Base-Ndrpdr.64B-2t1c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-2t1c-ip4routing-base-scale-[avf,dpdk]-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-x710-64b-2t1c-ip4routing-base-scale-[avf,dpdk]-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-2t1c-ip4routing-base-scale-[avf,dpdk]-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Dot1Q-Ip4Base-Ndrpdr.64B-2t1c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-2t1c-ip4routing-base-scale-[avf,dpdk]-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-scale-avf-rnd-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-scale-avf-rnd-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-scale-avf-rnd-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-scale-avf-rnd-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-scale-avf-rnd-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-scale-avf-rnd-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Dot1Q-Ip4Base-Ndrpdr.64B-2t1c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Ndrpdr.64B-2t1c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Ndrpdr.64B-2t1c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Dot1Q-Ip4Base-Ndrpdr.64B-2t1c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Ndrpdr.64B-2t1c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Ndrpdr.64B-2t1c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-scale-dpdk-rnd-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-scale-dpdk-rnd-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-2t1c-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-2t1c-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-scale-dpdk-rnd-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-ip4routing-scale-dpdk-rnd-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-ip4routing-scale-dpdk-rnd-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-2t1c-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-2t1c-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-ip4routing-scale-dpdk-rnd-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-2t1c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-2t1c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-2t1c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-ip4base-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-ip4base-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip4Base-Ndrpdr.64B-2t1c-rdma-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-rdma-ethip4-ip4base-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-ip4base-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-ip4base-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-ip4base-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip4Base-Ndrpdr.64B-2t1c-rdma-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Ndrpdr.64B-2t1c-rdma-ethip4-ip4base-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-ip4base-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-ethip4-ip4scale-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-ethip4-ip4scale-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-ethip4-ip4scale-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-ethip4-ip4scale-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-ethip4-ip4scale-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-2t1c-rdma-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-ethip4-ip4scale-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-ethip4-features-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-ethip4-features-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-nat44-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Scale1000-Udpsrcscale15-Nat44-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-ethip4-features-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-ethip4-features-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-ethip4-features-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4base-nat44-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Scale1000-Udpsrcscale15-Nat44-Ndrpdr.64B-2t1c-rdma-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-ethip4-features-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-x710-78b-2t1c-ip6routing-base-scale-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-78b-2t1c-ip6routing-base-scale-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Dot1Q-Ip6Base-Ndrpdr.78B-2t1c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Base-Ndrpdr.78B-2t1c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Scale2M-Ndrpdr.78B-2t1c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-78b-2t1c-ip6routing-base-scale-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-x710-78b-2t1c-ip6routing-base-scale-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-78b-2t1c-ip6routing-base-scale-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Dot1Q-Ip6Base-Ndrpdr.78B-2t1c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Base-Ndrpdr.78B-2t1c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Scale2M-Ndrpdr.78B-2t1c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-78b-2t1c-ip6routing-base-scale-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Dot1Q-Ip6Base-Ndrpdr.78B-2t1c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Base-Ndrpdr.78B-2t1c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale20K-Ndrpdr.78B-2t1c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale200K-Ndrpdr.78B-2t1c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale2M-Ndrpdr.78B-2t1c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Dot1Q-Ip6Base-Ndrpdr.78B-2t1c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Base-Ndrpdr.78B-2t1c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale20K-Ndrpdr.78B-2t1c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale200K-Ndrpdr.78B-2t1c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale2M-Ndrpdr.78B-2t1c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-78b-2t1c-rdma-ip6routing-base-scale-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-78b-2t1c-rdma-ip6routing-base-scale-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip6Base-Ndrpdr.78B-2t1c-rdma-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Base-Ndrpdr.78B-2t1c-rdma-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale20K-Ndrpdr.78B-2t1c-rdma-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale200K-Ndrpdr.78B-2t1c-rdma-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale2M-Ndrpdr.78B-2t1c-rdma-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-78b-2t1c-rdma-ip6routing-base-scale-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-78b-2t1c-rdma-ip6routing-base-scale-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-78b-2t1c-rdma-ip6routing-base-scale-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip6Base-Ndrpdr.78B-2t1c-rdma-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Base-Ndrpdr.78B-2t1c-rdma-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale20K-Ndrpdr.78B-2t1c-rdma-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale200K-Ndrpdr.78B-2t1c-rdma-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale2M-Ndrpdr.78B-2t1c-rdma-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-78b-2t1c-rdma-ip6routing-base-scale-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-x710-64b-2t1c-l2switching-base-scale-[avf,dpdk]-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-2t1c-l2switching-base-scale-[avf,dpdk]-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Xcbase-Ndrpdr.64B-2t1c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-2t1c-l2switching-base-scale-[avf,dpdk]-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-x710-64b-2t1c-l2switching-base-scale-[avf,dpdk]-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-2t1c-l2switching-base-scale-[avf,dpdk]-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Xcbase-Ndrpdr.64B-2t1c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-2t1c-l2switching-base-scale-[avf,dpdk]-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-avf-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-avf-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Patch-Ndrpdr.64B-2t1c-avf-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Xcbase-Ndrpdr.64B-2t1c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-avf-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-avf-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-avf-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Patch-Ndrpdr.64B-2t1c-avf-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Xcbase-Ndrpdr.64B-2t1c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-avf-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-scale-avf-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-scale-avf-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-scale-avf-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-scale-avf-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-scale-avf-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-avf-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-scale-avf-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Patch-Ndrpdr.64B-2t1c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Xcbase-Ndrpdr.64B-2t1c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Ndrpdr.64B-2t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Patch-Ndrpdr.64B-2t1c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Xcbase-Ndrpdr.64B-2t1c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Ndrpdr.64B-2t1c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-scale-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-scale-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-scale-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-l2switching-base-scale-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-l2switching-base-scale-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-l2switching-base-scale-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2switching-base-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2switching-base-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Ndrpdr.64B-2t1c-rdma-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Gbp-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-gbp-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Patch-Ndrpdr.64B-2t1c-rdma-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2switching-base-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2switching-base-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2switching-base-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Ndrpdr.64B-2t1c-rdma-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Gbp-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-gbp-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Patch-Ndrpdr.64B-2t1c-rdma-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2switching-base-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2switching-scale-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2switching-scale-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2switching-scale-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2switching-scale-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2switching-scale-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-2t1c-rdma-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2switching-scale-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-vpp-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-vpp-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-vpp-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-vpp-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-vpp-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-2t1c-vhost-base-dpdk-vpp-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-base-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-base-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-base-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-base-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-base-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-base-pdr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-vppl2xc-base-ndr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-vppl2xc-base-ndr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-vppl2xc-base-ndr"
-    layout: "plot-throughput"
-
-- type: "plot"
-  title: "Throughput: 2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-vppl2xc-base-pdr"
-  algorithm: "plot_perf_box_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-vppl2xc-base-pdr"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-rdma-l2-vhost-vppl2xc-base-pdr"
-    layout: "plot-throughput"
-
-################################################################################
-
-# Packet Speedup
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-memif-base-dpdk-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-memif-base-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-memif-base-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-memif-base-dpdk-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-memif-base-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-memif-base-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2-eth-2memif-1dcr-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2-eth-2memif-1dcr-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2-eth-2memif-1dcr-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2-eth-2memif-1dcr-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2-eth-2memif-1dcr-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-eth-2memif-1dcr-ndrpdr"
-    - "Tests.Vpp.Perf.Container Memif.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-.t.c-rdma-ethip4-ip4base-eth-2memif-1dcr-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2-eth-2memif-1dcr-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-x710-64b-ip4routing-base-scale-[avf,dpdk]-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-ip4routing-base-scale-[avf,dpdk]-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-ip4routing-base-scale-[avf,dpdk]-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-x710-64b-ip4routing-base-scale-[avf,dpdk]-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-ip4routing-base-scale-[avf,dpdk]-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-10Ge2P1X710-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-ip4routing-base-scale-[avf,dpdk]-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-base-scale-avf-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-base-scale-avf-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-base-scale-avf-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-base-scale-avf-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-base-scale-avf-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-avf-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-base-scale-avf-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-scale-avf-rnd-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-scale-avf-rnd-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-scale-avf-rnd-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-scale-avf-rnd-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-scale-avf-rnd-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Avf-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-avf-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-scale-avf-rnd-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-base-scale-dpdk-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-base-scale-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-base-scale-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-base-scale-dpdk-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-base-scale-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-base-scale-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-scale-dpdk-rnd-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-scale-dpdk-rnd-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-.t.c-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-.t.c-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-scale-dpdk-rnd-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-ip4routing-scale-dpdk-rnd-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-ip4routing-scale-dpdk-rnd-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-.t.c-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-.t.c-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-ip4routing-scale-dpdk-rnd-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-features-ip4routing-base-dpdk-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-features-ip4routing-base-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-.t.c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-features-ip4routing-base-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-features-ip4routing-base-dpdk-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-features-ip4routing-base-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-ethip4-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-25Ge2P1Xxv710-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-.t.c-ethip4udp-ip4base-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-features-ip4routing-base-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-ip4base-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-ip4base-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-rdma-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-rdma-ethip4-ip4base-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-ip4base-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-ip4base-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-ip4base-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip4Base-Ndrpdr.64B-.t.c-rdma-dot1q-ip4base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Base-Ndrpdr.64B-.t.c-rdma-ethip4-ip4base-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-ip4base-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-ethip4-ip4scale-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-ethip4-ip4scale-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-ethip4-ip4scale-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-ethip4-ip4scale-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-ethip4-ip4scale-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale20K-Rnd-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale20k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale200K-Rnd-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale200k-rnd-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale2m-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4-Ip4Scale2M-Rnd-Ndrpdr.64B-.t.c-rdma-ethip4-ip4scale2m-rnd-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-ethip4-ip4scale-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-ethip4-features-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-ethip4-features-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-nat44-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Scale1000-Udpsrcscale15-Nat44-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-ethip4-features-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-ethip4-features-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-ethip4-features-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4base-nat44-ndrpdr"
-    - "Tests.Vpp.Perf.Ip4.2N1L-100Ge2P1Cx556A-Rdma-Ethip4Udp-Ip4Scale1000-Udpsrcscale15-Nat44-Ndrpdr.64B-.t.c-rdma-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-ethip4-features-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-x710-78b-ip6routing-base-scale-dpdk-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-78b-ip6routing-base-scale-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-78b-ip6routing-base-scale-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-x710-78b-ip6routing-base-scale-dpdk-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-78b-ip6routing-base-scale-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-10Ge2P1X710-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-x710-78b-ip6routing-base-scale-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-78b-ip6routing-base-scale-dpdk-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-78b-ip6routing-base-scale-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale20K-Ndrpdr.78B-.t.c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale200K-Ndrpdr.78B-.t.c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-78b-ip6routing-base-scale-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-78b-ip6routing-base-scale-dpdk-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-78b-ip6routing-base-scale-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale20K-Ndrpdr.78B-.t.c-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale200K-Ndrpdr.78B-.t.c-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-25Ge2P1Xxv710-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-78b-ip6routing-base-scale-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-78b-rdma-ip6routing-base-scale-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-78b-rdma-ip6routing-base-scale-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-rdma-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-rdma-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale20K-Ndrpdr.78B-.t.c-rdma-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale200K-Ndrpdr.78B-.t.c-rdma-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-rdma-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-78b-rdma-ip6routing-base-scale-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-78b-rdma-ip6routing-base-scale-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-78b-rdma-ip6routing-base-scale-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-Ip6Base-Ndrpdr.78B-.t.c-rdma-dot1q-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Base-Ndrpdr.78B-.t.c-rdma-ethip6-ip6base-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale20K-Ndrpdr.78B-.t.c-rdma-ethip6-ip6scale20k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale200K-Ndrpdr.78B-.t.c-rdma-ethip6-ip6scale200k-ndrpdr"
-    - "Tests.Vpp.Perf.Ip6.2N1L-100Ge2P1Cx556A-Rdma-Ethip6-Ip6Scale2M-Ndrpdr.78B-.t.c-rdma-ethip6-ip6scale2m-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-78b-rdma-ip6routing-base-scale-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-x710-64b-l2switching-base-scale-[avf,dpdk]-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-l2switching-base-scale-[avf,dpdk]-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Xcbase-Ndrpdr.64B-.t.c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-l2switching-base-scale-[avf,dpdk]-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-x710-64b-l2switching-base-scale-[avf,dpdk]-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-x710-64b-l2switching-base-scale-[avf,dpdk]-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Xcbase-Ndrpdr.64B-.t.c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-10Ge2P1X710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-x710-64b-l2switching-base-scale-[avf,dpdk]-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-avf-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-avf-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Patch-Ndrpdr.64B-.t.c-avf-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Xcbase-Ndrpdr.64B-.t.c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-avf-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-avf-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-avf-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Patch-Ndrpdr.64B-.t.c-avf-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Xcbase-Ndrpdr.64B-.t.c-avf-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-avf-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-scale-avf-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-scale-avf-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-scale-avf-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-scale-avf-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-scale-avf-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Avf-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-avf-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-scale-avf-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-dpdk-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Patch-Ndrpdr.64B-.t.c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Xcbase-Ndrpdr.64B-.t.c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-dpdk-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Patch-Ndrpdr.64B-.t.c-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Xcbase-Ndrpdr.64B-.t.c-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Ndrpdr.64B-.t.c-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-scale-dpdk-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-scale-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-scale-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-l2switching-base-scale-dpdk-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-l2switching-base-scale-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-25Ge2P1Xxv710-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-l2switching-base-scale-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2switching-base-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2switching-base-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Ndrpdr.64B-.t.c-rdma-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Gbp-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-gbp-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Patch-Ndrpdr.64B-.t.c-rdma-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2switching-base-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2switching-base-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2switching-base-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Ndrpdr.64B-.t.c-rdma-dot1q-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Gbp-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-gbp-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Patch-Ndrpdr.64B-.t.c-rdma-eth-l2patch-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2switching-base-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2switching-scale-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2switching-scale-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2switching-scale-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2switching-scale-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2switching-scale-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdscale10kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdscale100kmaclrn-ndrpdr"
-    - "Tests.Vpp.Perf.L2.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-.t.c-rdma-eth-l2bdscale1mmaclrn-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2switching-scale-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-vhost-base-dpdk-ndr"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-vhost-base-dpdk-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-vhost-base-dpdk-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-vhost-base-dpdk-pdr"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-vhost-base-dpdk-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-vhost-base-dpdk-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-vhost-base-dpdk-vpp-ndr"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-vhost-base-dpdk-vpp-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-.t.c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-vhost-base-dpdk-vpp-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-xxv710-64b-vhost-base-dpdk-vpp-pdr"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-xxv710-64b-vhost-base-dpdk-vpp-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-.t.c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr"
-  layout:
-    title: "2n-clx-xxv710-64b-vhost-base-dpdk-vpp-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2-vhost-base-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2-vhost-base-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2-vhost-base-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2-vhost-base-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2-vhost-base-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-rdma-l2-vhost-base-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-rdma-l2-vhost-vppl2xc-base-ndr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-rdma-l2-vhost-vppl2xc-base-ndr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-2t1c-l2-vhost-vppl2xc-base-ndr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Speedup: 2n-clx-cx556a-64b-l2-vhost-vppl2xc-base-pdr-tsa"
-  algorithm: "plot_tsa_name"
-  output-file: "{DIR[STATIC,VPP]}/2n-clx-cx556a-64b-l2-vhost-vppl2xc-base-pdr-tsa"
-  data: "plot-vpp-throughput-lat-tsa-2n-clx"
-  include:
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-    - "Tests.Vpp.Perf.Vm Vhost.2N1L-100Ge2P1Cx556A-Rdma-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-.t.c-rdma-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr"
-  layout:
-    title: "2n-clx-cx556a-64b-l2-vhost-vppl2xc-base-pdr"
-    layout: "plot-throughput-speedup-analysis"
-
-- type: "plot"
-  title: "Latency by percentile: 2n-clx"
-  algorithm: "plot_hdrh_lat_by_percentile"
-  output-file: "{DIR[STATIC,VPP]}/hdrh-lat-percentile-2n-clx"
-  output-file-links: "{DIR[LAT,VPP]}/2n_clx.rst"
-  target-links: "../../_static/vpp"
-  data: "plot-vpp-hdrh-lat-2n-clx"
-  filter: "'2T1C' and 'NIC_Intel-XXV710'"
-  layout:
-    layout: "plot-hdrh-latency-by-percentile"
index 5a88a7b..4110bff 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -17,6 +17,8 @@ Parsing of the specification YAML file.
 """
 
 
+from os.path import join, exists
+
 import logging
 from pprint import pformat
 
@@ -31,7 +33,7 @@ from pal_utils import (
 class Specification:
     """Specification of Presentation and analytics layer.
 
-    - based on specification specified in the specification YAML file
+    - based on specification specified in the specification YAML files
     - presentation and analytics layer is model driven
     """
 
@@ -40,18 +42,19 @@ class Specification:
     TAG_OPENER = u"{"
     TAG_CLOSER = u"}"
 
-    def __init__(self, cfg_file):
+    def __init__(self, cfg_dir):
         """Initialization.
 
-        :param cfg_file: File handler for the specification YAML file.
-        :type cfg_file: BinaryIO
+        :param cfg_dir: Directory with the specification files.
+        :type cfg_dir: str
         """
-        self._cfg_file = cfg_file
+        self._cfg_dir = cfg_dir
         self._cfg_yaml = None
 
         self._specification = {
             u"environment": dict(),
-            u"configuration": dict(),
+            u"data_sets": dict(),
+            u"layouts": dict(),
             u"static": dict(),
             u"input": dict(),
             u"output": dict(),
@@ -80,13 +83,22 @@ class Specification:
         return self._specification[u"environment"]
 
     @property
-    def configuration(self):
-        """Getter - configuration.
+    def data_sets(self):
+        """Getter - data_sets.
+
+        :returns: Data sets.
+        :rtype: dict
+        """
+        return self._specification[u"data_sets"]
+
+    @property
+    def layouts(self):
+        """Getter - layouts.
 
-        :returns: Configuration of PAL.
+        :returns: Layouts.
         :rtype: dict
         """
-        return self._specification[u"configuration"]
+        return self._specification[u"layouts"]
 
     @property
     def static(self):
@@ -105,7 +117,7 @@ class Specification:
             one.
         :rtype: dict
         """
-        return self._specification[u"configuration"][u"mapping"]
+        return self.environment[u"mapping"]
 
     @property
     def ignore(self):
@@ -114,16 +126,18 @@ class Specification:
         :returns: List of ignored test cases.
         :rtype: list
         """
-        return self._specification[u"configuration"][u"ignore"]
+        return self.environment[u"ignore"]
 
     @property
     def alerting(self):
         """Getter - Alerting.
 
+        # TODO
+
         :returns: Specification of alerts.
         :rtype: dict
         """
-        return self._specification[u"configuration"][u"alerting"]
+        return self.environment[u"alerting"]
 
     @property
     def input(self):
@@ -144,35 +158,21 @@ class Specification:
         """
         self._specification[u"input"] = new_value
 
-    @property
-    def builds(self):
-        """Getter - builds defined in specification.
-
-        :returns: Builds defined in the specification.
-        :rtype: dict
-        """
-        return self.input[u"builds"]
-
-    @builds.setter
-    def builds(self, new_value):
-        """Setter - builds defined in specification.
-
-        :param new_value: New value to be set.
-        :type new_value: dict
-        """
-        self.input[u"builds"] = new_value
-
     def add_build(self, job, build):
-        """Add a build to the specification.
+        """Add a build to the list of builds if it does not exist there.
 
         :param job: The job which run the build.
         :param build: The build to be added.
         :type job: str
         :type build: dict
         """
-        if self._specification[u"input"][u"builds"].get(job, None) is None:
-            self._specification[u"input"][u"builds"][job] = list()
-        self._specification[u"input"][u"builds"][job].append(build)
+        if self.input.get(job, None) is None:
+            self.input[job] = list()
+        for existing_build in self.input[job]:
+            if existing_build[u"build"] == build[u"build"]:
+                break
+        else:
+            self.input[job].append(build)
 
     @property
     def output(self):
@@ -224,7 +224,7 @@ class Specification:
         return self._specification[u"cpta"]
 
     def set_input_state(self, job, build_nr, state):
-        """Set the state of input
+        """Set the state of the input.
 
         :param job: Job name.
         :param build_nr: Build number.
@@ -236,7 +236,7 @@ class Specification:
         """
 
         try:
-            for build in self._specification[u"input"][u"builds"][job]:
+            for build in self.input[job]:
                 if build[u"build"] == build_nr:
                     build[u"status"] = state
                     break
@@ -252,7 +252,7 @@ class Specification:
             )
 
     def set_input_file_name(self, job, build_nr, file_name):
-        """Set the state of input
+        """Set the file name for the input.
 
         :param job: Job name.
         :param build_nr: Build number.
@@ -264,7 +264,7 @@ class Specification:
         """
 
         try:
-            for build in self._specification[u"input"][u"builds"][job]:
+            for build in self.input[job]:
                 if build[u"build"] == build_nr:
                     build[u"file-name"] = file_name
                     break
@@ -405,17 +405,14 @@ class Specification:
         """Parse environment specification in the specification YAML file.
         """
 
-        logging.info(u"Parsing specification file: environment ...")
+        logging.info(u"Parsing specification: ENVIRONMENT")
 
         idx = self._get_type_index(u"environment")
         if idx is None:
             return
 
-        try:
-            self._specification[u"environment"][u"configuration"] = \
-                self._cfg_yaml[idx][u"configuration"]
-        except KeyError:
-            self._specification[u"environment"][u"configuration"] = None
+        self._specification[u"environment"][u"spec-files"] = \
+            self._cfg_yaml[idx].get(u"spec-files", None)
 
         try:
             self._specification[u"environment"][u"paths"] = \
@@ -423,105 +420,86 @@ class Specification:
         except KeyError:
             self._specification[u"environment"][u"paths"] = None
 
-        try:
-            self._specification[u"environment"][u"urls"] = \
-                self._cfg_yaml[idx][u"urls"]
-        except KeyError:
-            self._specification[u"environment"][u"urls"] = None
+        self._specification[u"environment"][u"data-sources"] = \
+            self._cfg_yaml[idx].get(u"data-sources", tuple())
+        # Add statistics:
+        for source in self._specification[u"environment"][u"data-sources"]:
+            source[u"successful-downloads"] = 0
 
-        try:
-            self._specification[u"environment"][u"make-dirs"] = \
-                self._cfg_yaml[idx][u"make-dirs"]
-        except KeyError:
-            self._specification[u"environment"][u"make-dirs"] = None
+        self._specification[u"environment"][u"make-dirs"] = \
+            self._cfg_yaml[idx].get(u"make-dirs", None)
 
-        try:
-            self._specification[u"environment"][u"remove-dirs"] = \
-                self._cfg_yaml[idx][u"remove-dirs"]
-        except KeyError:
-            self._specification[u"environment"][u"remove-dirs"] = None
+        self._specification[u"environment"][u"remove-dirs"] = \
+            self._cfg_yaml[idx].get(u"remove-dirs", None)
 
-        try:
-            self._specification[u"environment"][u"build-dirs"] = \
-                self._cfg_yaml[idx][u"build-dirs"]
-        except KeyError:
-            self._specification[u"environment"][u"build-dirs"] = None
+        self._specification[u"environment"][u"build-dirs"] = \
+            self._cfg_yaml[idx].get(u"build-dirs", None)
 
-        try:
-            self._specification[u"environment"][u"testbeds"] = \
-                self._cfg_yaml[idx][u"testbeds"]
-        except KeyError:
-            self._specification[u"environment"][u"testbeds"] = None
+        self._specification[u"environment"][u"testbeds"] = \
+            self._cfg_yaml[idx].get(u"testbeds", None)
 
-        logging.info(u"Done.")
+        self._specification[u"environment"][u"limits"] = \
+            self._cfg_yaml[idx].get(u"limits", None)
 
-    def _load_mapping_table(self):
-        """Load a mapping table if it is specified. If not, use empty list.
-        """
+        self._specification[u"environment"][u"urls"] = \
+            self._cfg_yaml[idx].get(u"urls", None)
 
-        mapping_file_name = self._specification[u"configuration"].\
-            get(u"mapping-file", None)
-        if mapping_file_name:
-            try:
-                with open(mapping_file_name, u'r') as mfile:
-                    mapping = load(mfile, Loader=FullLoader)
-                    # Make sure everything is lowercase
-                    self._specification[u"configuration"][u"mapping"] = \
-                        {key.lower(): val.lower() for key, val in
-                         mapping.items()}
-                logging.debug(f"Loaded mapping table:\n{mapping}")
-            except (YAMLError, IOError) as err:
-                raise PresentationError(
-                    msg=f"An error occurred while parsing the mapping file "
-                        f"{mapping_file_name}",
-                    details=repr(err)
-                )
-        else:
-            self._specification[u"configuration"][u"mapping"] = dict()
+        self._specification[u"environment"][u"archive-inputs"] = \
+            self._cfg_yaml[idx].get(u"archive-inputs", False)
 
-    def _load_ignore_list(self):
-        """Load an ignore list if it is specified. If not, use empty list.
+        self._specification[u"environment"][u"reverse-input"] = \
+            self._cfg_yaml[idx].get(u"reverse-input", False)
+
+        self._specification[u"environment"][u"time-period"] = \
+            self._cfg_yaml[idx].get(u"time-period", None)
+
+        self._specification[u"environment"][u"alerting"] = \
+            self._cfg_yaml[idx].get(u"alerting", None)
+
+        self._specification[u"environment"][u"mapping-file"] = \
+            self._cfg_yaml[idx].get(u"mapping-file", None)
+
+        self._specification[u"environment"][u"ignore-list"] = \
+            self._cfg_yaml[idx].get(u"ignore-list", None)
+
+        # Mapping table:
+        self._load_mapping_table()
+
+        # Ignore list:
+        self._load_ignore_list()
+
+    def _parse_layouts(self):
+        """Parse layouts specification in the specification YAML file.
         """
 
-        ignore_list_name = self._specification[u"configuration"].\
-            get(u"ignore-list", None)
-        if ignore_list_name:
-            try:
-                with open(ignore_list_name, u'r') as ifile:
-                    ignore = load(ifile, Loader=FullLoader)
-                    # Make sure everything is lowercase
-                    self._specification[u"configuration"][u"ignore"] = \
-                        [item.lower() for item in ignore]
-                logging.debug(f"Loaded ignore list:\n{ignore}")
-            except (YAMLError, IOError) as err:
-                raise PresentationError(
-                    msg=f"An error occurred while parsing the ignore list file "
-                        f"{ignore_list_name}.",
-                    details=repr(err)
-                )
-        else:
-            self._specification[u"configuration"][u"ignore"] = list()
+        logging.info(u"Parsing specification: LAYOUTS")
+
+        idx = self._get_type_index(u"layouts")
+        if idx is None:
+            return
 
-    def _parse_configuration(self):
-        """Parse configuration of PAL in the specification YAML file.
+        try:
+            self._specification[u"layouts"] = self._cfg_yaml[idx]
+        except KeyError:
+            raise PresentationError(u"No layouts defined.")
+
+    def _parse_data_sets(self):
+        """Parse data sets specification in the specification YAML file.
         """
 
-        logging.info(u"Parsing specification file: configuration ...")
+        logging.info(u"Parsing specification: DATA SETS")
 
-        idx = self._get_type_index("configuration")
+        idx = self._get_type_index(u"data-sets")
         if idx is None:
-            logging.warning(
-                u"No configuration information in the specification file."
-            )
             return
 
         try:
-            self._specification[u"configuration"] = self._cfg_yaml[idx]
+            self._specification[u"data_sets"] = self._cfg_yaml[idx]
         except KeyError:
-            raise PresentationError(u"No configuration defined.")
+            raise PresentationError(u"No Data sets defined.")
 
-        # Data sets: Replace ranges by lists
-        for set_name, data_set in self.configuration[u"data-sets"].items():
+        # Replace ranges by lists
+        for set_name, data_set in self.data_sets.items():
             if not isinstance(data_set, dict):
                 continue
             for job, builds in data_set.items():
@@ -541,7 +519,7 @@ class Specification:
                         builds = builds[-max_builds:]
                     if reverse:
                         builds.reverse()
-                    self.configuration[u"data-sets"][set_name][job] = builds
+                    self.data_sets[set_name][job] = builds
                 elif isinstance(builds, list):
                     for idx, item in enumerate(builds):
                         try:
@@ -550,83 +528,64 @@ class Specification:
                             # defined as a range <build_type>
                             builds[idx] = self._get_build_number(job, item)
 
-        # Data sets: add sub-sets to sets (only one level):
-        for set_name, data_set in self.configuration[u"data-sets"].items():
+        # Add sub-sets to sets (only one level):
+        for set_name, data_set in self.data_sets.items():
             if isinstance(data_set, list):
                 new_set = dict()
                 for item in data_set:
                     try:
-                        for key, val in self.configuration[u"data-sets"][item].\
-                                items():
+                        for key, val in self.data_sets[item].items():
                             new_set[key] = val
                     except KeyError:
                         raise PresentationError(
-                            f"Data set {item} is not defined in "
-                            f"the configuration section."
+                            f"Data set {item} is not defined."
                         )
-                self.configuration[u"data-sets"][set_name] = new_set
-
-        # Mapping table:
-        self._load_mapping_table()
-
-        # Ignore list:
-        self._load_ignore_list()
+                self.data_sets[set_name] = new_set
 
-        logging.info(u"Done.")
-
-    def _parse_input(self):
-        """Parse input specification in the specification YAML file.
-
-        :raises: PresentationError if there are no data to process.
+    def _load_mapping_table(self):
+        """Load a mapping table if it is specified. If not, use empty dict.
         """
 
-        logging.info(u"Parsing specification file: input ...")
-
-        idx = self._get_type_index(u"input")
-        if idx is None:
-            raise PresentationError(u"No data to process.")
-
-        try:
-            for key, value in self._cfg_yaml[idx][u"general"].items():
-                self._specification[u"input"][key] = value
-            self._specification[u"input"][u"builds"] = dict()
-
-            for job, builds in self._cfg_yaml[idx][u"builds"].items():
-                if builds:
-                    if isinstance(builds, dict):
-                        build_end = builds.get(u"end", None)
-                        max_builds = builds.get(u"max-builds", None)
-                        reverse = bool(builds.get(u"reverse", False))
-                        try:
-                            build_end = int(build_end)
-                        except ValueError:
-                            # defined as a range <start, build_type>
-                            if build_end in (u"lastCompletedBuild",
-                                             u"lastSuccessfulBuild"):
-                                reverse = True
-                            build_end = self._get_build_number(job, build_end)
-                        builds = [x for x in range(builds[u"start"],
-                                                   build_end + 1)
-                                  if x not in builds.get(u"skip", list())]
-                        if reverse:
-                            builds.reverse()
-                        if max_builds and max_builds < len(builds):
-                            builds = builds[:max_builds]
-                    self._specification[u"input"][u"builds"][job] = list()
-                    for build in builds:
-                        self._specification[u"input"][u"builds"][job]. \
-                            append({u"build": build, u"status": None})
-
-                else:
-                    logging.warning(
-                        f"No build is defined for the job {job}. Trying to "
-                        f"continue without it."
-                    )
+        mapping_file_name = self.environment.get(u"mapping-file", None)
+        if mapping_file_name:
+            try:
+                with open(mapping_file_name, u'r') as mfile:
+                    mapping = load(mfile, Loader=FullLoader)
+                    # Make sure everything is lowercase
+                    self.environment[u"mapping"] = \
+                        {key.lower(): val.lower() for key, val in
+                         mapping.items()}
+                logging.debug(f"Loaded mapping table:\n{mapping}")
+            except (YAMLError, IOError) as err:
+                raise PresentationError(
+                    msg=f"An error occurred while parsing the mapping file "
+                    f"{mapping_file_name}",
+                    details=repr(err)
+                )
+        else:
+            self.environment[u"mapping"] = dict()
 
-        except KeyError:
-            raise PresentationError(u"No data to process.")
+    def _load_ignore_list(self):
+        """Load an ignore list if it is specified. If not, use empty list.
+        """
 
-        logging.info(u"Done.")
+        ignore_list_name = self.environment.get(u"ignore-list", None)
+        if ignore_list_name:
+            try:
+                with open(ignore_list_name, u'r') as ifile:
+                    ignore = load(ifile, Loader=FullLoader)
+                    # Make sure everything is lowercase
+                    self.environment[u"ignore"] = \
+                        [item.lower() for item in ignore]
+                logging.debug(f"Loaded ignore list:\n{ignore}")
+            except (YAMLError, IOError) as err:
+                raise PresentationError(
+                    msg=f"An error occurred while parsing the ignore list file "
+                    f"{ignore_list_name}.",
+                    details=repr(err)
+                )
+        else:
+            self.environment[u"ignore"] = list()
 
     def _parse_output(self):
         """Parse output specification in the specification YAML file.
@@ -634,7 +593,7 @@ class Specification:
         :raises: PresentationError if there is no output defined.
         """
 
-        logging.info(u"Parsing specification file: output ...")
+        logging.info(u"Parsing specification: OUTPUT")
 
         idx = self._get_type_index(u"output")
         if idx is None:
@@ -645,14 +604,12 @@ class Specification:
         except (KeyError, IndexError):
             raise PresentationError(u"No output defined.")
 
-        logging.info(u"Done.")
-
     def _parse_static(self):
         """Parse specification of the static content in the specification YAML
         file.
         """
 
-        logging.info(u"Parsing specification file: static content ...")
+        logging.info(u"Parsing specification: STATIC CONTENT")
 
         idx = self._get_type_index(u"static")
         if idx is None:
@@ -668,8 +625,6 @@ class Specification:
 
         self._specification[u"static"] = self._cfg_yaml[idx]
 
-        logging.info(u"Done.")
-
     def _parse_elements_tables(self, table):
         """Parse tables from the specification YAML file.
 
@@ -691,36 +646,23 @@ class Specification:
                 if table.get(item, None):
                     data_set = table[item].get(u"data", None)
                     if isinstance(data_set, str):
-                        table[item][u"data"] = \
-                            self.configuration[u"data-sets"][data_set]
+                        table[item][u"data"] = self.data_sets[data_set]
                     data_set = table[item].get(u"data-replacement", None)
                     if isinstance(data_set, str):
                         table[item][u"data-replacement"] = \
-                            self.configuration[u"data-sets"][data_set]
-
-            if table.get(u"history", None):
-                for i in range(len(table[u"history"])):
-                    data_set = table[u"history"][i].get(u"data", None)
-                    if isinstance(data_set, str):
-                        table[u"history"][i][u"data"] = \
-                            self.configuration[u"data-sets"][data_set]
-                    data_set = table[u"history"][i].get(
-                        u"data-replacement", None)
-                    if isinstance(data_set, str):
-                        table[u"history"][i][u"data-replacement"] = \
-                            self.configuration[u"data-sets"][data_set]
+                            self.data_sets[data_set]
 
             if table.get(u"columns", None):
                 for i in range(len(table[u"columns"])):
                     data_set = table[u"columns"][i].get(u"data-set", None)
                     if isinstance(data_set, str):
                         table[u"columns"][i][u"data-set"] = \
-                            self.configuration[u"data-sets"][data_set]
+                            self.data_sets[data_set]
                     data_set = table[u"columns"][i].get(
                         u"data-replacement", None)
                     if isinstance(data_set, str):
                         table[u"columns"][i][u"data-replacement"] = \
-                            self.configuration[u"data-sets"][data_set]
+                            self.data_sets[data_set]
 
         except KeyError:
             raise PresentationError(
@@ -742,14 +684,10 @@ class Specification:
         if layout is not None:
             plot[u"layout"].pop(u"layout")
             try:
-                for key, val in (self.configuration[u"plot-layouts"]
-                                 [layout].items()):
+                for key, val in self.layouts[layout].items():
                     plot[u"layout"][key] = val
             except KeyError:
-                raise PresentationError(
-                    f"Layout {layout} is not defined in the "
-                    f"configuration section."
-                )
+                raise PresentationError(f"Layout {layout} is not defined.")
         self._specification[u"plots"].append(plot)
 
     def _parse_elements_files(self, file):
@@ -781,23 +719,17 @@ class Specification:
             layout = plot.get(u"layout", None)
             if layout is not None:
                 try:
-                    plot[u"layout"] = \
-                        self.configuration[u"plot-layouts"][layout]
+                    plot[u"layout"] = self.layouts[layout]
                 except KeyError:
-                    raise PresentationError(
-                        f"Layout {layout} is not defined in the "
-                        f"configuration section."
-                    )
+                    raise PresentationError(f"Layout {layout} is not defined.")
             # Add data sets:
             if isinstance(plot.get(u"data", None), str):
                 data_set = plot[u"data"]
                 try:
-                    plot[u"data"] = \
-                        self.configuration[u"data-sets"][data_set]
+                    plot[u"data"] = self.data_sets[data_set]
                 except KeyError:
                     raise PresentationError(
-                        f"Data set {data_set} is not defined in "
-                        f"the configuration section."
+                        f"Data set {data_set} is not defined."
                     )
         self._specification[u"cpta"] = cpta
 
@@ -806,7 +738,7 @@ class Specification:
         YAML file.
         """
 
-        logging.info(u"Parsing specification file: elements ...")
+        logging.info(u"Parsing specification: ELEMENTS")
 
         count = 1
         for element in self._cfg_yaml:
@@ -815,21 +747,24 @@ class Specification:
             try:
                 element[u"output-file"] = self._replace_tags(
                     element[u"output-file"],
-                    self._specification[u"environment"][u"paths"])
+                    self.environment[u"paths"]
+                )
             except KeyError:
                 pass
 
             try:
                 element[u"input-file"] = self._replace_tags(
                     element[u"input-file"],
-                    self._specification[u"environment"][u"paths"])
+                    self.environment[u"paths"]
+                )
             except KeyError:
                 pass
 
             try:
                 element[u"output-file-links"] = self._replace_tags(
                     element[u"output-file-links"],
-                    self._specification[u"environment"][u"paths"])
+                    self.environment[u"paths"]
+                )
             except KeyError:
                 pass
 
@@ -837,48 +772,36 @@ class Specification:
             if isinstance(element.get(u"data", None), str):
                 data_set = element[u"data"]
                 try:
-                    element[u"data"] = \
-                        self.configuration[u"data-sets"][data_set]
+                    element[u"data"] = self.data_sets[data_set]
                 except KeyError:
                     raise PresentationError(
-                        f"Data set {data_set} is not defined in the "
-                        f"configuration section."
+                        f"Data set {data_set} is not defined."
                     )
             elif isinstance(element.get(u"data", None), list):
                 new_list = list()
                 for item in element[u"data"]:
                     try:
-                        new_list.append(
-                            self.configuration[u"data-sets"][item]
-                        )
+                        new_list.append(self.data_sets[item])
                     except KeyError:
                         raise PresentationError(
-                            f"Data set {item} is not defined in the "
-                            f"configuration section."
+                            f"Data set {item} is not defined."
                         )
                 element[u"data"] = new_list
 
             # Parse elements:
             if element[u"type"] == u"table":
-
                 logging.info(f"  {count:3d} Processing a table ...")
                 self._parse_elements_tables(element)
                 count += 1
-
             elif element[u"type"] == u"plot":
-
                 logging.info(f"  {count:3d} Processing a plot ...")
                 self._parse_elements_plots(element)
                 count += 1
-
             elif element[u"type"] == u"file":
-
                 logging.info(f"  {count:3d} Processing a file ...")
                 self._parse_elements_files(element)
                 count += 1
-
             elif element[u"type"] == u"cpta":
-
                 logging.info(
                     f"  {count:3d} Processing Continuous Performance Trending "
                     f"and Analysis ..."
@@ -886,26 +809,84 @@ class Specification:
                 self._parse_elements_cpta(element)
                 count += 1
 
-        logging.info(u"Done.")
+    def _prepare_input(self):
+        """Use information from data sets and generate list of jobs and builds
+        to download.
+        """
+
+        logging.info(u"Parsing specification: INPUT")
+
+        for data_set in self.data_sets.values():
+            if data_set == "data-sets":
+                continue
+            for job, builds in data_set.items():
+                for build in builds:
+                    self.add_build(
+                        job,
+                        {
+                            u"build": build,
+                            u"status": None,
+                            u"file-name": None,
+                            u"source": None
+                        }
+                    )
+
+        if self.environment[u"reverse-input"]:
+            for builds in self.input.values():
+                builds.sort(key=lambda k: k[u"build"], reverse=True)
 
     def read_specification(self):
-        """Parse specification in the specification YAML file.
+        """Parse specification in the specification YAML files.
 
         :raises: PresentationError if an error occurred while parsing the
             specification file.
         """
-        try:
-            self._cfg_yaml = load(self._cfg_file, Loader=FullLoader)
-        except YAMLError as err:
-            raise PresentationError(msg=u"An error occurred while parsing the "
-                                        u"specification file.",
-                                    details=repr(err))
+
+        # It always starts with environment.yaml file, it must be present.
+        spec_file = join(self._cfg_dir, u"environment.yaml")
+        logging.info(f"Reading {spec_file}")
+        if not exists(spec_file):
+            raise PresentationError(f"The file {spec_file} does not exist.")
+
+        with open(spec_file, u"r") as file_read:
+            try:
+                self._cfg_yaml = load(file_read, Loader=FullLoader)
+            except YAMLError as err:
+                raise PresentationError(
+                    f"An error occurred while parsing the specification file "
+                    f"{spec_file}",
+                    details=repr(err)
+                )
+
+        # Load the other specification files specified in the environment.yaml
+        idx = self._get_type_index(u"environment")
+        if idx is None:
+            raise PresentationError(
+                f"No environment defined in the file {spec_file}"
+            )
+        for spec_file in self._cfg_yaml[idx].get(u"spec-files", tuple()):
+            logging.info(f"Reading {spec_file}")
+            if not exists(spec_file):
+                raise PresentationError(f"The file {spec_file} does not exist.")
+            spec = None
+            with open(spec_file, u"r") as file_read:
+                try:
+                    spec = load(file_read, Loader=FullLoader)
+                except YAMLError as err:
+                    raise PresentationError(
+                        f"An error occurred while parsing the specification "
+                        f"file {spec_file}",
+                        details=repr(err)
+                    )
+            if spec:
+                self._cfg_yaml.extend(spec)
 
         self._parse_env()
-        self._parse_configuration()
-        self._parse_input()
+        self._parse_layouts()
+        self._parse_data_sets()
         self._parse_output()
         self._parse_static()
         self._parse_elements()
+        self._prepare_input()
 
-        logging.debug(f"Specification: \n{pformat(self._specification)}")
+        logging.debug(f"Specification: \n{pformat(self.specification)}")
diff --git a/resources/tools/presentation/specifications/report/data_sets.yaml b/resources/tools/presentation/specifications/report/data_sets.yaml
new file mode 100644 (file)
index 0000000..6cec776
--- /dev/null
@@ -0,0 +1,2157 @@
+################################################################################
+###                            D A T A   S E T S                             ###
+################################################################################
+
+- type: "data-sets"
+
+################################################################################
+# Plots:
+
+  # 3n-hsw
+
+  plot-vpp-throughput-lat-tsa-3n-hsw:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 64  # rls2101.rel NDRPDR iter env 6
+      - 71  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 74  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter env 6
+      - 81  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 83  # rls2101.rel NDRPDR iter env 6
+      - 88  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter env 6
+      - 128 # rls2101.rel NDRPDR iter RND env 6
+      - 129 # rls2101.rel NDRPDR iter RND env 6
+      - 130 # rls2101.rel NDRPDR iter RND env 6
+      - 131 # rls2101.rel NDRPDR iter RND env 6
+      - 132 # rls2101.rel NDRPDR iter RND env 6
+      - 133 # rls2101.rel NDRPDR iter RND env 6
+      - 134 # rls2101.rel NDRPDR iter RND env 6
+      - 135 # rls2101.rel NDRPDR iter RND env 6
+      - 136 # rls2101.rel NDRPDR iter RND env 6
+      - 137 # rls2101.rel NDRPDR iter RND env 6
+
+  plot-vpp-hdrh-lat-3n-hsw:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 89  # rls2101.rel NDRPDR iter env 6
+
+  plot-vpp-hdrh-lat-3n-hsw-rnd:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 128 # rls2101.rel NDRPDR iter RND env 6
+
+  plot-vpp-ipsec-reconf-3n-hsw:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 65  # rls2101.rel NDRPDR reconf iter env 6
+      - 68  # rls2101.rel NDRPDR reconf iter env 6
+      - 77  # rls2101.rel NDRPDR reconf iter env 6
+      - 84  # rls2101.rel NDRPDR reconf iter env 6
+      - 90  # rls2101.rel NDRPDR reconf iter env 6
+      - 96  # rls2101.rel NDRPDR reconf iter env 6
+      - 101 # rls2101.rel NDRPDR reconf iter env 6
+      - 104 # rls2101.rel NDRPDR reconf iter env 6
+      - 105 # rls2101.rel NDRPDR reconf iter env 6
+      - 106 # rls2101.rel NDRPDR reconf iter env 6
+      - 107 # rls2101.rel NDRPDR reconf iter env 6
+      - 108 # rls2101.rel NDRPDR reconf iter env 6
+      - 110 # rls2101.rel NDRPDR reconf iter env 6
+      - 111 # rls2101.rel NDRPDR reconf iter env 6
+      - 112 # rls2101.rel NDRPDR reconf iter env 6
+      - 113 # rls2101.rel NDRPDR reconf iter env 6
+      - 114 # rls2101.rel NDRPDR reconf iter env 6
+      - 115 # rls2101.rel NDRPDR reconf iter env 6
+      - 116 # rls2101.rel NDRPDR reconf iter env 6
+      - 117 # rls2101.rel NDRPDR reconf iter env 6
+
+  plot-vpp-hoststack-3n-hsw:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 69  # rls2101.rel Hoststack iter env 6
+      - 70  # rls2101.rel Hoststack iter env 6
+      - 75  # rls2101.rel Hoststack iter env 6
+      - 76  # rls2101.rel Hoststack iter env 6
+      - 78  # rls2101.rel Hoststack iter env 6
+      - 79  # rls2101.rel Hoststack iter env 6
+      - 85  # rls2101.rel Hoststack iter env 6
+      - 86  # rls2101.rel Hoststack iter env 6
+      - 87  # rls2101.rel Hoststack iter env 6
+      - 91  # rls2101.rel Hoststack iter env 6
+      - 92  # rls2101.rel Hoststack iter env 6
+      - 93  # rls2101.rel Hoststack iter env 6
+      - 94  # rls2101.rel Hoststack iter env 6
+      - 95  # rls2101.rel Hoststack iter env 6
+      - 97  # rls2101.rel Hoststack iter env 6
+      - 98  # rls2101.rel Hoststack iter env 6
+      - 99  # rls2101.rel Hoststack iter env 6
+      - 100 # rls2101.rel Hoststack iter env 6
+      - 102 # rls2101.rel Hoststack iter env 6
+      - 103 # rls2101.rel Hoststack iter env 6
+
+  plot-dpdk-throughput-latency-3n-hsw:
+    csit-dpdk-perf-report-iterative-2101-3n-hsw:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 16  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  plot-dpdk-hdrh-lat-3n-hsw:
+    csit-dpdk-perf-report-iterative-2101-3n-hsw:
+      - 11  # rls2101 NDRPDR iter env 6
+
+  # 3n-skx
+
+  plot-vpp-throughput-lat-tsa-3n-skx:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 40  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 47  # rls2101.rel NDRPDR iter env 6
+      - 48  # rls2101.rel NDRPDR iter env 6
+      - 50  # rls2101.rel NDRPDR iter env 6
+
+  plot-vpp-hdrh-lat-3n-skx:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 36  # rls2101.rel NDRPDR iter env 6
+
+  #  plot-vpp-nfv-3n-skx-ndrpdr:
+  #    # No data
+  #    csit-vpp-perf-report-iterative-2101-3n-skx:
+
+  #  plot-vpp-nfv-3n-skx-mrr:
+  #    # No data
+  #    csit-vpp-perf-report-iterative-2101-3n-skx:
+
+  plot-dpdk-throughput-latency-3n-skx:
+    csit-dpdk-perf-report-iterative-2101-3n-skx:
+      - 12  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+      - 22  # rls2101 NDRPDR iter env 6
+      - 25  # rls2101 NDRPDR iter env 6
+      - 26  # rls2101 NDRPDR iter env 6
+
+  plot-dpdk-hdrh-lat-3n-skx:
+    csit-dpdk-perf-report-iterative-2101-3n-skx:
+      - 12  # rls2101 NDRPDR iter env 6
+
+  # 2n-skx
+
+  plot-vpp-throughput-lat-tsa-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 69  # rls2101.rel NDRPDR iter env 6
+      - 70  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 76  # rls2101.rel NDRPDR iter env 6
+      - 77  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 85  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 94  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter RND env 6
+      - 90  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 96  # rls2101.rel NDRPDR iter RND env 6
+      - 98  # rls2101.rel NDRPDR iter RND env 6
+      - 99  # rls2101.rel NDRPDR iter RND env 6
+      - 101 # rls2101.rel NDRPDR iter RND env 6
+      - 102 # rls2101.rel NDRPDR iter RND env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter NAT env 6
+      - 123 # rls2101.rel NDRPDR iter NAT env 6
+      - 124 # rls2101.rel NDRPDR iter NAT env 6
+      - 125 # rls2101.rel NDRPDR iter NAT env 6
+
+  plot-vpp-hdrh-lat-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 94  # rls2101.rel NDRPDR iter env 6
+
+  plot-vpp-hdrh-lat-2n-skx-rnd:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 89  # rls2101.rel NDRPDR iter RND env 6
+
+  plot-vpp-hdrh-lat-2n-skx-nat:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+
+  plot-vpp-soak-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 68  # rls2101.rel soak env 6
+      - 73  # rls2101.rel soak env 6
+
+  plot-vpp-nfv-2n-skx-ndrpdr:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 67  # rls2101.rel NDRPDR nf-density iter env 6
+      - 72  # rls2101.rel NDRPDR nf-density iter env 6
+      - 79  # rls2101.rel NDRPDR nf-density iter env 6
+      - 83  # rls2101.rel NDRPDR nf-density iter env 6
+      - 88  # rls2101.rel NDRPDR nf-density iter env 6
+      - 97  # rls2101.rel NDRPDR nf-density iter env 6
+      - 103 # rls2101.rel NDRPDR nf-density iter env 6
+      - 108 # rls2101.rel NDRPDR nf-density iter env 6
+      - 109 # rls2101.rel NDRPDR nf-density iter env 6
+      - 110 # rls2101.rel NDRPDR nf-density iter env 6
+
+  plot-vpp-nfv-2n-skx-mrr:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 65  # rls2101.rel MRR nf-density iter env 6
+
+  plot-vpp-nfv-reconf-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 64  # rls2101.rel NDRPDR reconf iter env 6
+      - 66  # rls2101.rel NDRPDR reconf iter env 6
+      - 71  # rls2101.rel NDRPDR reconf iter env 6
+      - 74  # rls2101.rel NDRPDR reconf iter env 6
+      - 78  # rls2101.rel NDRPDR reconf iter env 6
+      - 87  # rls2101.rel NDRPDR reconf iter env 6
+      - 95  # rls2101.rel NDRPDR reconf iter env 6
+      - 100 # rls2101.rel NDRPDR reconf iter env 6
+      - 104 # rls2101.rel NDRPDR reconf iter env 6
+      - 106 # rls2101.rel NDRPDR reconf iter env 6
+
+  plot-vpp-gso-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 129 # rls2101.rel MRR GSO iter env 6
+
+  plot-dpdk-throughput-latency-2n-skx:
+    csit-dpdk-perf-report-iterative-2101-2n-skx:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  plot-dpdk-hdrh-lat-2n-skx:
+    csit-dpdk-perf-report-iterative-2101-2n-skx:
+      - 11  # rls2101 NDRPDR iter env 6
+
+  # 2n-zn2
+
+  plot-vpp-throughput-lat-tsa-2n-zn2:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 31  # rls2101.rel NDRPDR iter env 6
+      - 32  # rls2101.rel NDRPDR iter env 6
+      - 33  # rls2101.rel NDRPDR iter env 6
+      - 34  # rls2101.rel NDRPDR iter env 6
+      - 35  # rls2101.rel NDRPDR iter env 6
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 44  # rls2101.rel NDRPDR iter env 6
+      - 49  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter RND env 6
+      - 40  # rls2101.rel NDRPDR iter RND env 6
+      - 41  # rls2101.rel NDRPDR iter RND env 6
+      - 42  # rls2101.rel NDRPDR iter RND env 6
+      - 43  # rls2101.rel NDRPDR iter RND env 6
+      - 45  # rls2101.rel NDRPDR iter RND env 6
+      - 48  # rls2101.rel NDRPDR iter RND env 6
+      - 50  # rls2101.rel NDRPDR iter RND env 6
+      - 51  # rls2101.rel NDRPDR iter RND env 6
+      - 52  # rls2101.rel NDRPDR iter RND env 6
+
+  plot-vpp-hdrh-lat-2n-zn2:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 31  # rls2101.rel NDRPDR iter env 6
+
+  plot-vpp-hdrh-lat-2n-zn2-rnd:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 40  # rls2101.rel NDRPDR iter RND env 6
+
+  plot-vpp-gso-2n-zn2:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 56  # rls2101.rel MRR GSO iter env 6
+
+  plot-dpdk-throughput-latency-2n-zn2:
+    csit-dpdk-perf-report-iterative-2101-2n-zn2:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 16  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  plot-dpdk-hdrh-lat-2n-zn2:
+    csit-dpdk-perf-report-iterative-2101-2n-zn2:
+      - 11  # rls2101 NDRPDR iter env 6
+
+  # 2n-clx
+
+  plot-vpp-throughput-lat-tsa-2n-clx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 54  # rls2101.rel NDRPDR iter env 6
+      - 59  # rls2101.rel NDRPDR iter env 6
+      - 60  # rls2101.rel NDRPDR iter env 6
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 66  # rls2101.rel NDRPDR iter env 6
+      - 68  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 90  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter RND env 6
+      - 87  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 94  # rls2101.rel NDRPDR iter RND env 6
+      - 95  # rls2101.rel NDRPDR iter RND env 6
+      - 100 # rls2101.rel NDRPDR iter RND env 6
+      - 106 # rls2101.rel NDRPDR iter RND env 6
+      - 108 # rls2101.rel NDRPDR iter RND env 6
+      - 112 # rls2101.rel NDRPDR iter NAT env 6
+      - 113 # rls2101.rel NDRPDR iter NAT env 6
+      - 114 # rls2101.rel NDRPDR iter NAT env 6
+      - 115 # rls2101.rel NDRPDR iter NAT env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter MLX env 6
+      - 123 # rls2101.rel NDRPDR iter MLX env 6
+      - 124 # rls2101.rel NDRPDR iter MLX env 6
+      - 126 # rls2101.rel NDRPDR iter MLX env 6
+      - 127 # rls2101.rel NDRPDR iter MLX env 6
+      - 128 # rls2101.rel NDRPDR iter MLX env 6
+      - 129 # rls2101.rel NDRPDR iter MLX env 6
+      - 130 # rls2101.rel NDRPDR iter MLX env 6
+      - 131 # rls2101.rel NDRPDR iter MLX env 6
+      - 132 # rls2101.rel NDRPDR iter MLX env 6
+
+  plot-vpp-hdrh-lat-2n-clx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 75  # rls2101.rel NDRPDR iter env 6
+
+  plot-vpp-hdrh-lat-2n-clx-rnd:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 87  # rls2101.rel NDRPDR iter RND env 6
+
+  plot-vpp-hdrh-lat-2n-clx-nat:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+
+  plot-vpp-hdrh-lat-2n-clx-mlx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 127 # rls2101.rel NDRPDR iter MLX env 6
+
+  plot-vpp-nfv-2n-clx-ndrpdr:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 57  # rls2101.rel NDRPDR nf-density iter env 6
+      - 62  # rls2101.rel NDRPDR nf-density iter env 6
+      - 70  # rls2101.rel NDRPDR nf-density iter env 6
+      - 71  # rls2101.rel NDRPDR nf-density iter env 6
+      - 82  # rls2101.rel NDRPDR nf-density iter env 6
+      - 88  # rls2101.rel NDRPDR nf-density iter env 6
+      - 89  # rls2101.rel NDRPDR nf-density iter env 6
+      - 96  # rls2101.rel NDRPDR nf-density iter env 6
+      - 97  # rls2101.rel NDRPDR nf-density iter env 6
+      - 98  # rls2101.rel NDRPDR nf-density iter env 6
+
+  plot-vpp-nfv-2n-clx-mrr:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 72  # rls2101.rel MRR nf-density iter env 6
+
+  plot-vpp-nfv-reconf-2n-clx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 55  # rls2101.rel NDRPDR reconf iter env 6
+      - 64  # rls2101.rel NDRPDR reconf iter env 6
+      - 76  # rls2101.rel NDRPDR reconf iter env 6
+      - 83  # rls2101.rel NDRPDR reconf iter env 6
+      - 99  # rls2101.rel NDRPDR reconf iter env 6
+      - 101 # rls2101.rel NDRPDR reconf iter env 6
+      - 102 # rls2101.rel NDRPDR reconf iter env 6
+      - 107 # rls2101.rel NDRPDR reconf iter env 6
+      - 109 # rls2101.rel NDRPDR reconf iter env 6
+      - 110 # rls2101.rel NDRPDR reconf iter env 6
+
+  plot-vpp-soak-2n-clx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 58  # rls2101.rel soak env 6
+      - 61  # rls2101.rel soak env 6
+
+  plot-vpp-gso-2n-clx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 159 # rls2101.rel MRR GSO iter env 6
+
+  plot-dpdk-throughput-latency-2n-clx:
+    csit-dpdk-perf-report-iterative-2101-2n-clx:
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 22  # rls2101 NDRPDR iter env 6
+
+  plot-dpdk-hdrh-lat-2n-clx:
+    csit-dpdk-perf-report-iterative-2101-2n-clx:
+      - 12  # rls2101 NDRPDR iter env 6
+
+  #   # 2n-icx
+  #
+  #   plot-vpp-throughput-lat-tsa-2n-icx:
+  #     intel-csit-vpp-perf-report-iterative-2101-2n-icx:
+  #       - 1   # master NDRPDR iter env 6
+  #
+  #   plot-vpp-hdrh-lat-2n-icx:
+  #     intel-csit-vpp-perf-report-iterative-2101-2n-icx:
+  #       - 1   # master NDRPDR iter env 6
+
+  # 3n-tsh
+
+  plot-vpp-throughput-lat-tsa-3n-tsh:
+    csit-vpp-perf-report-iterative-2101-3n-tsh:
+      - 23  # rls2101.rel NDRPDR iter env 6
+      - 24  # rls2101.rel NDRPDR iter env 6
+      - 25  # rls2101.rel NDRPDR iter env 6
+      - 26  # rls2101.rel NDRPDR iter env 6
+      - 27  # rls2101.rel NDRPDR iter env 6
+      - 28  # rls2101.rel NDRPDR iter env 6
+      - 29  # rls2101.rel NDRPDR iter env 6
+      - 30  # rls2101.rel NDRPDR iter env 6
+      - 31  # rls2101.rel NDRPDR iter env 6
+      - 32  # rls2101.rel NDRPDR iter env 6
+
+  plot-vpp-hdrh-lat-3n-tsh:
+    csit-vpp-perf-report-iterative-2101-3n-tsh:
+      - 23  # rls2101.rel NDRPDR iter env 6
+
+  plot-dpdk-throughput-latency-3n-tsh:
+    csit-dpdk-perf-report-iterative-2101-3n-tsh:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 16  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  plot-dpdk-hdrh-lat-3n-tsh:
+    csit-dpdk-perf-report-iterative-2101-3n-tsh:
+      - 21  # rls2101 NDRPDR iter env 6
+
+  # 2n-tx2
+
+  plot-vpp-throughput-lat-tsa-2n-tx2:
+    csit-vpp-perf-report-iterative-2101-2n-tx2:
+      - 22  # rls2101.rel NDRPDR iter env 6
+      - 23  # rls2101.rel NDRPDR iter env 6
+      - 24  # rls2101.rel NDRPDR iter env 6
+      - 25  # rls2101.rel NDRPDR iter env 6
+      - 26  # rls2101.rel NDRPDR iter env 6
+      - 27  # rls2101.rel NDRPDR iter env 6
+      - 28  # rls2101.rel NDRPDR iter env 6
+      - 29  # rls2101.rel NDRPDR iter env 6
+      - 30  # rls2101.rel NDRPDR iter env 6
+      - 31  # rls2101.rel NDRPDR iter env 6
+
+  plot-vpp-hdrh-lat-2n-tx2:
+    csit-vpp-perf-report-iterative-2101-2n-tx2:
+      - 29  # rls2101.rel NDRPDR iter env 6
+
+  plot-dpdk-throughput-latency-2n-tx2:
+    csit-dpdk-perf-report-iterative-2101-2n-tx2:
+      - 4   # rls2101 NDRPDR iter env 6
+      - 6   # rls2101 NDRPDR iter env 6
+      - 7   # rls2101 NDRPDR iter env 6
+      - 8   # rls2101 NDRPDR iter env 6
+      - 9   # rls2101 NDRPDR iter env 6
+      - 10  # rls2101 NDRPDR iter env 6
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+
+  plot-dpdk-hdrh-lat-2n-tx2:
+    csit-dpdk-perf-report-iterative-2101-2n-tx2:
+      - 4   # rls2101 NDRPDR iter env 6
+
+  # 3n-dnv
+
+  plot-vpp-throughput-lat-tsa-3n-dnv:
+    csit-vpp-perf-report-iterative-2101-3n-dnv:
+      - 33  # rls2101.rel NDRPDR iter env 6
+      - 34  # rls2101.rel NDRPDR iter env 6
+      - 35  # rls2101.rel NDRPDR iter env 6
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 40  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 43  # rls2101.rel NDRPDR iter RND env 6
+      - 44  # rls2101.rel NDRPDR iter RND env 6
+      - 45  # rls2101.rel NDRPDR iter RND env 6
+      - 46  # rls2101.rel NDRPDR iter RND env 6
+      - 47  # rls2101.rel NDRPDR iter RND env 6
+      - 48  # rls2101.rel NDRPDR iter RND env 6
+      - 49  # rls2101.rel NDRPDR iter RND env 6
+      - 50  # rls2101.rel NDRPDR iter RND env 6
+      - 51  # rls2101.rel NDRPDR iter RND env 6
+      - 52  # rls2101.rel NDRPDR iter RND env 6
+
+  #  plot-dpdk-throughput-latency-3n-dnv:
+  #    # No data
+  #    csit-dpdk-perf-report-iterative-2009-3n-dnv:
+
+  # 2n-dnv
+
+  plot-vpp-throughput-lat-tsa-2n-dnv:
+    csit-vpp-perf-report-iterative-2101-2n-dnv:
+      - 32  # rls2101.rel NDRPDR iter env 6
+      - 33  # rls2101.rel NDRPDR iter env 6
+      - 34  # rls2101.rel NDRPDR iter env 6
+      - 35  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 43  # rls2101.rel NDRPDR iter env 6
+      - 44  # rls2101.rel NDRPDR iter env 6
+      - 45  # rls2101.rel NDRPDR iter env 6
+      - 46  # rls2101.rel NDRPDR iter RND env 6
+      - 47  # rls2101.rel NDRPDR iter RND env 6
+      - 48  # rls2101.rel NDRPDR iter RND env 6
+      - 49  # rls2101.rel NDRPDR iter RND env 6
+      - 50  # rls2101.rel NDRPDR iter RND env 6
+      - 51  # rls2101.rel NDRPDR iter RND env 6
+      - 52  # rls2101.rel NDRPDR iter RND env 6
+      - 53  # rls2101.rel NDRPDR iter RND env 6
+      - 54  # rls2101.rel NDRPDR iter RND env 6
+      - 55  # rls2101.rel NDRPDR iter RND env 6
+
+  #  plot-dpdk-throughput-latency-2n-dnv:
+  #    # No data
+  #    csit-dpdk-perf-report-iterative-2009-2n-dnv:
+
+################################################################################
+# Simple tables (only one data set):
+
+  # NIC Comparisons
+
+  vpp-nic-comparison-3n-skx:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 40  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 47  # rls2101.rel NDRPDR iter env 6
+      - 48  # rls2101.rel NDRPDR iter env 6
+      - 50  # rls2101.rel NDRPDR iter env 6
+
+  vpp-nic-comparison-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 69  # rls2101.rel NDRPDR iter env 6
+      - 70  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 76  # rls2101.rel NDRPDR iter env 6
+      - 77  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 85  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 94  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter RND env 6
+      - 90  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 96  # rls2101.rel NDRPDR iter RND env 6
+      - 98  # rls2101.rel NDRPDR iter RND env 6
+      - 99  # rls2101.rel NDRPDR iter RND env 6
+      - 101 # rls2101.rel NDRPDR iter RND env 6
+      - 102 # rls2101.rel NDRPDR iter RND env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter NAT env 6
+      - 123 # rls2101.rel NDRPDR iter NAT env 6
+      - 124 # rls2101.rel NDRPDR iter NAT env 6
+      - 125 # rls2101.rel NDRPDR iter NAT env 6
+
+  vpp-nic-comparison-3n-skx-mrr:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 35  # rls2101.rel MRR iter env 6
+
+  vpp-nic-comparison-2n-skx-mrr:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 62  # rls2101.rel MRR iter env 6
+
+  # Results
+
+  vpp-perf-results-3n-hsw:
+    csit-vpp-perf-report-coverage-2101-3n-hsw:
+      - 1   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-00
+      - 2   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-01
+      - 3   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-02
+      - 4   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-03
+      - 5   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-00
+      - 6   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-01
+      - 7   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-02
+      - 8   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-03
+      - 9   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-04
+      - 10  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-05
+      - 11  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-06
+      - 12  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-07
+      - 13  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-00
+      - 14  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-01
+      - 15  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-02
+      - 16  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6-00
+      - 18  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6-01
+      - 19  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-00
+      - 20  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-01
+      - 21  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-02
+      - 22  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-03
+      - 23  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-04
+      - 24  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6tun-00
+      - 25  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-05
+      - 26  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-06
+      - 27  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-07
+      - 28  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-08
+      - 29  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-09
+      - 30  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-10
+      - 31  # rls2101.rel NDRPDR cov env 6 3n-hsw-memif-00
+      - 32  # rls2101.rel NDRPDR cov env 6 3n-hsw-srv6-00
+      - 33  # rls2101.rel NDRPDR cov env 6 3n-hsw-srv6-01
+      - 34  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-00
+      - 35  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-01
+      - 36  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-02
+
+  vpp-perf-results-3n-skx:
+    csit-vpp-perf-report-coverage-2101-3n-skx:
+      - 1   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-00
+      - 2   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-01
+      - 3   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-02
+      - 4   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-03
+      - 5   # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-00
+      - 16  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-01
+      - 7   # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-02
+      - 17  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-03
+      - 18  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-04
+      - 19  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-05
+      - 20  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-06
+      - 12  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-06
+      - 13  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-00
+      - 26  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-01
+      - 15  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-02
+      - 21  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6-00
+      - 22  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6-01
+      - 23  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6tun-00
+      - 24  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-00
+      - 30  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-01
+      - 27  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-02
+      - 28  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-03
+      - 29  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-04
+      - 31  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-05
+      - 32  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-06
+      - 33  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-07
+      - 34  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-08
+      - 35  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-09
+      - 36  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-10
+      - 37  # rls2101.rel NDRPDR cov env 6 3n-skx-memif-00
+      - 38  # rls2101.rel NDRPDR cov env 6 3n-skx-srv6-00
+      - 39  # rls2101.rel NDRPDR cov env 6 3n-skx-srv6-01
+      - 40  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-00
+      - 41  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-01
+      - 42  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-02
+      - 43  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-03
+
+  vpp-perf-results-2n-skx:
+    csit-vpp-perf-report-coverage-2101-2n-skx:
+      - 1   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-00
+      - 2   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-01
+      - 3   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-02
+      - 4   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-03
+      - 5   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-04
+      - 6   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-05
+      - 7   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-06
+      - 8   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-07
+      - 21  # rls2101.rel NDRPDR cov env 6 2n-skx-ip4tun-00
+      - 22  # rls2101.rel NDRPDR cov env 6 2n-skx-ip4tun-00
+      - 10  # rls2101.rel NDRPDR cov env 6 2n-skx-ip6-00
+      - 11  # rls2101.rel NDRPDR cov env 6 2n-skx-ip6-01
+      - 12  # rls2101.rel NDRPDR cov env 6 2n-skx-l2-00
+      - 13  # rls2101.rel NDRPDR cov env 6 2n-skx-l2-01
+      - 14  # rls2101.rel NDRPDR cov env 6 2n-skx-lb-00
+      - 15  # rls2101.rel NDRPDR cov env 6 2n-skx-memif-00
+      - 16  # rls2101.rel NDRPDR cov env 6 2n-skx-vhost-00
+      - 17  # rls2101.rel NDRPDR cov env 6 2n-skx-vhost-01
+      - 19  # rls2101.rel NDRPDR cov env 6 2n-skx-vts-00
+
+  vpp-perf-results-2n-zn2:
+    csit-vpp-perf-report-coverage-2101-2n-zn2:
+      - 1   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-00
+      - 2   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-01
+      - 3   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-02
+      - 4   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-03
+      - 5   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-04
+      - 6   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-05
+      - 17  # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4tun-00
+      - 18  # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4tun-01
+      - 8   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip6-00
+      - 9   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip6-01
+      - 10  # rls2101.rel NDRPDR cov env 6 2n-zn2-l2-00
+      - 11  # rls2101.rel NDRPDR cov env 6 2n-zn2-l2-01
+      - 12  # rls2101.rel NDRPDR cov env 6 2n-zn2-lb-00
+      - 13  # rls2101.rel NDRPDR cov env 6 2n-zn2-memif-00
+      - 14  # rls2101.rel NDRPDR cov env 6 2n-zn2-vhost-00
+      - 15  # rls2101.rel NDRPDR cov env 6 2n-zn2-vhost-00
+      - 16  # rls2101.rel NDRPDR cov env 6 2n-zn2-vts-00
+
+  vpp-perf-results-2n-clx:
+    csit-vpp-perf-report-coverage-2101-2n-clx:
+      - 1   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-00
+      - 2   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-01
+      - 3   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-02
+      - 4   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-03
+      - 5   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-04
+      - 6   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-05
+      - 7   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-06
+      - 8   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-07
+      - 19  # rls2101.rel NDRPDR cov env 6 2n-clx-ip4tun-00
+      - 20  # rls2101.rel NDRPDR cov env 6 2n-clx-ip4tun-00
+      - 10  # rls2101.rel NDRPDR cov env 6 2n-clx-ip6-00
+      - 11  # rls2101.rel NDRPDR cov env 6 2n-clx-ip6-01
+      - 12  # rls2101.rel NDRPDR cov env 6 2n-clx-l2-00
+      - 13  # rls2101.rel NDRPDR cov env 6 2n-clx-l2-01
+      - 14  # rls2101.rel NDRPDR cov env 6 2n-clx-lb-00
+      - 15  # rls2101.rel NDRPDR cov env 6 2n-clx-memif-00
+      - 16  # rls2101.rel NDRPDR cov env 6 2n-clx-vhost-00
+      - 17  # rls2101.rel NDRPDR cov env 6 2n-clx-vhost-01
+      - 18  # rls2101.rel NDRPDR cov env 6 2n-clx-vts-00
+
+  #   vpp-perf-results-2n-icx:
+  #     intel-csit-vpp-perf-report-iterative-2101-2n-icx:
+  #       - 1   # master NDRPDR iter env 6
+
+  vpp-perf-results-3n-tsh:
+    csit-vpp-perf-report-coverage-2101-3n-tsh:
+      - 1   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-00
+      - 2   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-01
+      - 3   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-02
+      - 4   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-03
+      - 5   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4tun-00
+      - 6   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4tun-01
+      - 7   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip6-00
+      - 8   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip6-01
+      - 9   # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-00
+      - 10  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-01
+      - 11  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-02
+      - 12  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-03
+      - 13  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-04
+      - 19  # rls2101.rel NDRPDR cov env 6 3n-tsh-memif-00
+      - 15  # rls2101.rel NDRPDR cov env 6 3n-tsh-srv6-00
+      - 16  # rls2101.rel NDRPDR cov env 6 3n-tsh-srv6-01
+      - 17  # rls2101.rel NDRPDR cov env 6 3n-tsh-vhost-00
+      - 18  # rls2101.rel NDRPDR cov env 6 3n-tsh-vhost-01
+
+  vpp-perf-results-2n-tx2:
+    csit-vpp-perf-report-coverage-2101-2n-tx2:
+      - 1   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-00
+      - 2   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-01
+      - 3   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-02
+      - 4   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-03
+      - 5   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-04
+      - 6   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-05
+      - 7   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-06
+      - 8   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip6-00
+      - 9   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip6-01
+      - 10  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-00
+      - 11  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-01
+      - 12  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-02
+      - 13  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-03
+      - 15  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-04
+
+  vpp-perf-results-3n-dnv:
+    csit-vpp-perf-report-coverage-2101-3n-dnv:
+      - 1   # rls2101.rel NDRPDR cov env 6 3n-dnv-crypto-00
+      - 2   # rls2101.rel NDRPDR cov env 6 3n-dnv-crypto-01
+      - 3   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-00
+      - 4   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-01
+      - 5   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4tun-00
+      - 6   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip6-00
+      - 7   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip6-01
+      - 8   # rls2101.rel NDRPDR cov env 6 3n-dnv-l2-00
+      - 9   # rls2101.rel NDRPDR cov env 6 3n-dnv-l2-01
+
+  vpp-perf-results-2n-dnv:
+    csit-vpp-perf-report-coverage-2101-2n-dnv:
+      - 1   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-00
+      - 2   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-01
+      - 3   # rls2101.rel NDRPDR cov env 6 2n-dnv-ip6-00
+      - 4   # rls2101.rel NDRPDR cov env 6 2n-dnv-ip6-01
+      - 5   # rls2101.rel NDRPDR cov env 6 2n-dnv-l2-00
+      - 6   # rls2101.rel NDRPDR cov env 6 2n-dnv-l2-01
+
+  vpp-mrr-results-3n-hsw:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 63  # rls2101.rel MRR iter env 6
+
+  vpp-mrr-results-3n-skx:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 35  # rls2101.rel MRR iter env 6
+
+  vpp-mrr-results-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 62  # rls2101.rel MRR iter env 6
+
+  vpp-mrr-results-2n-zn2:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 30  # rls2101.rel MRR iter env 6
+
+  vpp-mrr-results-2n-clx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 53  # rls2101.rel MRR iter env 6
+
+  #   vpp-mrr-results-2n-icx:
+  #     intel-csit-vpp-perf-report-iterative-2101-2n-icx:
+  #       - 1   # master NDRPDR iter env 6
+
+  vpp-mrr-results-3n-tsh:
+    csit-vpp-perf-report-iterative-2101-3n-tsh:
+      - 22  # rls2101.rel MRR iter env 6
+
+  vpp-mrr-results-2n-tx2:
+    csit-vpp-perf-report-iterative-2101-2n-tx2:
+      - 21  # rls2101.rel MRR iter env 6
+
+  vpp-mrr-results-3n-dnv:
+    csit-vpp-perf-report-iterative-2101-3n-dnv:
+      - 32  # rls2101.rel MRR iter env 6
+
+  vpp-mrr-results-2n-dnv:
+    csit-vpp-perf-report-iterative-2101-2n-dnv:
+      - 31  # rls2101.rel MRR iter env 6
+
+  vpp-device-results-ubuntu:
+    csit-vpp-device-2101-ubuntu1804-1n-skx:
+      - 358  # rls2101.rel VPP DEV env 6
+
+  dpdk-perf-results-3n-hsw:
+    csit-dpdk-perf-report-iterative-2101-3n-hsw:
+      - 11  # rls2101 NDRPDR iter env 6
+
+  dpdk-perf-results-3n-skx:
+    csit-dpdk-perf-report-iterative-2101-3n-skx:
+      - 12  # rls2101 NDRPDR iter env 6
+
+  dpdk-perf-results-2n-skx:
+    csit-dpdk-perf-report-iterative-2101-2n-skx:
+      - 11  # rls2101 NDRPDR iter env 6
+
+  dpdk-perf-results-2n-zn2:
+    csit-dpdk-perf-report-iterative-2101-2n-zn2:
+      - 11  # rls2101 NDRPDR iter env 6
+
+  dpdk-perf-results-2n-clx:
+    csit-dpdk-perf-report-iterative-2101-2n-clx:
+      - 12  # rls2101 NDRPDR iter env 6
+
+  #  dpdk-perf-results-2n-dnv:
+  #    # No data
+  #    csit-dpdk-perf-report-iterative-2009-2n-dnv:
+
+  #  dpdk-perf-results-3n-dnv:
+  #    # No data
+  #    csit-dpdk-perf-report-iterative-2009-3n-dnv:
+
+  dpdk-perf-results-3n-tsh:
+    csit-dpdk-perf-report-iterative-2101-3n-tsh:
+      - 21  # rls2101 NDRPDR iter env 6
+
+  dpdk-perf-results-2n-tx2:
+    csit-dpdk-perf-report-iterative-2101-2n-tx2:
+      - 4   # rls2101 NDRPDR iter env 6
+
+################################################################################
+# Tables (more than one data set)
+
+  # Performance changes
+
+  vpp-performance-changes-3n-hsw-h1:
+    csit-vpp-perf-report-iterative-2009-3n-hsw:
+      - 9   # rls2005 NDRPDR iter env 5
+      - 10  # rls2005 NDRPDR iter env 5
+      - 11  # rls2005 NDRPDR iter env 5
+      - 12  # rls2005 NDRPDR iter env 5
+      - 13  # rls2005 NDRPDR iter env 5
+      - 14  # rls2005 NDRPDR iter env 5
+      - 15  # rls2005 NDRPDR iter env 5
+      - 16  # rls2005 NDRPDR iter env 5
+      - 17  # rls2005 NDRPDR iter env 5
+      - 19  # rls2005 NDRPDR iter env 5
+  vpp-performance-changes-3n-hsw-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-hsw:
+      - 21  # rls2009 NDRPDR iter env 5
+      - 22  # rls2009 NDRPDR iter env 5
+      - 24  # rls2009 NDRPDR iter env 5
+      - 25  # rls2009 NDRPDR iter env 5
+      - 26  # rls2009 NDRPDR iter env 5
+      - 27  # rls2009 NDRPDR iter env 5
+      - 28  # rls2009 NDRPDR iter env 5
+      - 29  # rls2009 NDRPDR iter env 5
+      - 30  # rls2009 NDRPDR iter env 5
+      - 31  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-3n-hsw-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 19  # rls2009 NDRPDR iter env 6
+      - 20  # rls2009 NDRPDR iter env 6
+      - 21  # rls2009 NDRPDR iter env 6
+      - 22  # rls2009 NDRPDR iter env 6
+      - 23  # rls2009 NDRPDR iter env 6
+      - 24  # rls2009 NDRPDR iter env 6
+      - 25  # rls2009 NDRPDR iter env 6
+      - 26  # rls2009 NDRPDR iter env 6
+      - 27  # rls2009 NDRPDR iter env 6
+      - 28  # rls2009 NDRPDR iter env 6
+  vpp-performance-changes-3n-hsw-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 64  # rls2101.rel NDRPDR iter env 6
+      - 71  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 74  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter env 6
+      - 81  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 83  # rls2101.rel NDRPDR iter env 6
+      - 88  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter env 6
+      - 128 # rls2101.rel NDRPDR iter RND env 6
+      - 129 # rls2101.rel NDRPDR iter RND env 6
+      - 130 # rls2101.rel NDRPDR iter RND env 6
+      - 131 # rls2101.rel NDRPDR iter RND env 6
+      - 132 # rls2101.rel NDRPDR iter RND env 6
+      - 133 # rls2101.rel NDRPDR iter RND env 6
+      - 134 # rls2101.rel NDRPDR iter RND env 6
+      - 135 # rls2101.rel NDRPDR iter RND env 6
+      - 136 # rls2101.rel NDRPDR iter RND env 6
+      - 137 # rls2101.rel NDRPDR iter RND env 6
+
+  vpp-performance-changes-3n-skx-h1:
+    csit-vpp-perf-report-iterative-2009-3n-skx:
+      - 13  # rls2005 NDRPDR iter env 5
+      - 18  # rls2005 NDRPDR iter env 5
+      - 19  # rls2005 NDRPDR iter env 5
+      - 41  # rls2005 NDRPDR iter env 5
+      - 43  # rls2005 NDRPDR iter env 5
+      - 44  # rls2005 NDRPDR iter env 5
+      - 45  # rls2005 NDRPDR iter env 5
+      - 46  # rls2005 NDRPDR iter env 5
+      - 48  # rls2005 NDRPDR iter env 5
+      - 49  # rls2005 NDRPDR iter env 5
+  vpp-performance-changes-3n-skx-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-skx:
+      - 26  # rls2009 NDRPDR iter env 5
+      - 27  # rls2009 NDRPDR iter env 5
+      - 28  # rls2009 NDRPDR iter env 5
+      - 29  # rls2009 NDRPDR iter env 5
+      - 35  # rls2009 NDRPDR iter env 5
+      - 36  # rls2009 NDRPDR iter env 5
+      - 37  # rls2009 NDRPDR iter env 5
+      - 38  # rls2009 NDRPDR iter env 5
+      - 39  # rls2009 NDRPDR iter env 5
+      - 40  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-3n-skx-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 14  # rls2009 NDRPDR iter env 6
+      - 15  # rls2009 NDRPDR iter env 6
+      - 16  # rls2009 NDRPDR iter env 6
+      - 17  # rls2009 NDRPDR iter env 6
+      - 18  # rls2009 NDRPDR iter env 6
+      - 25  # rls2009 NDRPDR iter env 6
+      - 26  # rls2009 NDRPDR iter env 6
+      - 27  # rls2009 NDRPDR iter env 6
+      - 29  # rls2009 NDRPDR iter env 6
+      - 31  # rls2009 NDRPDR iter env 6
+  vpp-performance-changes-3n-skx-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 40  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 47  # rls2101.rel NDRPDR iter env 6
+      - 48  # rls2101.rel NDRPDR iter env 6
+      - 50  # rls2101.rel NDRPDR iter env 6
+
+  vpp-performance-changes-2n-skx-h1:
+    csit-vpp-perf-report-iterative-2009-2n-skx:
+      - 13  # rls2005 NDRPDR iter env 5
+      - 16  # rls2005 NDRPDR iter env 5
+      - 17  # rls2005 NDRPDR iter env 5
+      - 18  # rls2005 NDRPDR iter env 5
+      - 19  # rls2005 NDRPDR iter env 5
+      - 21  # rls2005 NDRPDR iter env 5
+      - 22  # rls2005 NDRPDR iter env 5
+      - 23  # rls2005 NDRPDR iter env 5
+      - 24  # rls2005 NDRPDR iter env 5
+      - 25  # rls2005 NDRPDR iter env 5
+  vpp-performance-changes-2n-skx-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-skx:
+      - 35  # rls2009 NDRPDR iter env 5
+      - 36  # rls2009 NDRPDR iter env 5
+      - 37  # rls2009 NDRPDR iter env 5
+      - 39  # rls2009 NDRPDR iter env 5
+      - 40  # rls2009 NDRPDR iter env 5
+      - 42  # rls2009 NDRPDR iter env 5
+      - 43  # rls2009 NDRPDR iter env 5
+      - 44  # rls2009 NDRPDR iter env 5
+      - 46  # rls2009 NDRPDR iter env 5
+      - 48  # rls2009 NDRPDR iter env 5
+      - 110 # rls2009 NDRPDR iter NAT44 env 5
+      - 111 # rls2009 NDRPDR iter NAT44 env 5
+      - 112 # rls2009 NDRPDR iter NAT44 env 5
+      - 113 # rls2009 NDRPDR iter NAT44 env 5
+      - 114 # rls2009 NDRPDR iter NAT44 env 5
+      - 115 # rls2009 NDRPDR iter NAT44 env 5
+      - 116 # rls2009 NDRPDR iter NAT44 env 5
+      - 118 # rls2009 NDRPDR iter NAT44 env 5
+      - 119 # rls2009 NDRPDR iter NAT44 env 5
+      - 121 # rls2009 NDRPDR iter NAT44 env 5
+  vpp-performance-changes-2n-skx-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 22  # rls2009 NDRPDR iter env 6
+      - 23  # rls2009 NDRPDR iter env 6
+      - 24  # rls2009 NDRPDR iter env 6
+      - 25  # rls2009 NDRPDR iter env 6
+      - 26  # rls2009 NDRPDR iter env 6
+      - 28  # rls2009 NDRPDR iter env 6
+      - 39  # rls2009 NDRPDR iter env 6
+      - 40  # rls2009 NDRPDR iter env 6
+      - 41  # rls2009 NDRPDR iter env 6
+      - 44  # rls2009 NDRPDR iter env 6
+  vpp-performance-changes-2n-skx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 69  # rls2101.rel NDRPDR iter env 6
+      - 70  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 76  # rls2101.rel NDRPDR iter env 6
+      - 77  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 85  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 94  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter RND env 6
+      - 90  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 96  # rls2101.rel NDRPDR iter RND env 6
+      - 98  # rls2101.rel NDRPDR iter RND env 6
+      - 99  # rls2101.rel NDRPDR iter RND env 6
+      - 101 # rls2101.rel NDRPDR iter RND env 6
+      - 102 # rls2101.rel NDRPDR iter RND env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter NAT env 6
+      - 123 # rls2101.rel NDRPDR iter NAT env 6
+      - 124 # rls2101.rel NDRPDR iter NAT env 6
+      - 125 # rls2101.rel NDRPDR iter NAT env 6
+
+  vpp-performance-changes-2n-clx-h1:
+    csit-vpp-perf-report-iterative-2009-2n-clx:
+      - 13  # rls2005 NDRPDR iter env 5
+      - 15  # rls2005 NDRPDR iter env 5
+      - 17  # rls2005 NDRPDR iter env 5
+      - 18  # rls2005 NDRPDR iter env 5
+      - 19  # rls2005 NDRPDR iter env 5
+      - 20  # rls2005 NDRPDR iter env 5
+      - 21  # rls2005 NDRPDR iter env 5
+      - 22  # rls2005 NDRPDR iter env 5
+      - 23  # rls2005 NDRPDR iter env 5
+      - 24  # rls2005 NDRPDR iter env 5
+  vpp-performance-changes-2n-clx-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-clx:
+      - 36  # rls2009 NDRPDR iter env 5
+      - 39  # rls2009 NDRPDR iter env 5
+      - 40  # rls2009 NDRPDR iter env 5
+      - 65  # rls2009 NDRPDR iter env 5
+      - 66  # rls2009 NDRPDR iter env 5
+      - 79  # rls2009 NDRPDR iter env 5
+      - 82  # rls2009 NDRPDR iter env 5
+      - 88  # rls2009 NDRPDR iter env 5
+      - 89  # rls2009 NDRPDR iter env 5
+      - 90  # rls2009 NDRPDR iter env 5
+      - 114 # rls2009 NDRPDR iter NAT44 env 5
+      - 115 # rls2009 NDRPDR iter NAT44 env 5
+      - 116 # rls2009 NDRPDR iter NAT44 env 5
+      - 117 # rls2009 NDRPDR iter NAT44 env 5
+      - 118 # rls2009 NDRPDR iter NAT44 env 5
+      - 119 # rls2009 NDRPDR iter NAT44 env 5
+      - 121 # rls2009 NDRPDR iter NAT44 env 5
+      - 122 # rls2009 NDRPDR iter NAT44 env 5
+      - 123 # rls2009 NDRPDR iter NAT44 env 5
+      - 126 # rls2009 NDRPDR iter NAT44 env 5
+  vpp-performance-changes-2n-clx-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 16  # rls2009 NDRPDR iter env 6
+      - 17  # rls2009 NDRPDR iter env 6
+      - 18  # rls2009 NDRPDR iter env 6
+      - 19  # rls2009 NDRPDR iter env 6
+      - 20  # rls2009 NDRPDR iter env 6
+      - 21  # rls2009 NDRPDR iter env 6
+      - 32  # rls2009 NDRPDR iter env 6
+      - 33  # rls2009 NDRPDR iter env 6
+      - 34  # rls2009 NDRPDR iter env 6
+      - 35  # rls2009 NDRPDR iter env 6
+      - 146 # rls2009 NDRPDR MLX iter env 6
+      - 147 # rls2009 NDRPDR MLX iter env 6
+      - 148 # rls2009 NDRPDR MLX iter env 6
+      - 149 # rls2009 NDRPDR MLX iter env 6
+      - 150 # rls2009 NDRPDR MLX iter env 6
+      - 151 # rls2009 NDRPDR MLX iter env 6
+      - 152 # rls2009 NDRPDR MLX iter env 6
+      - 153 # rls2009 NDRPDR MLX iter env 6
+      - 154 # rls2009 NDRPDR MLX iter env 6
+      - 155 # rls2009 NDRPDR MLX iter env 6
+  vpp-performance-changes-2n-clx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 54  # rls2101.rel NDRPDR iter env 6
+      - 59  # rls2101.rel NDRPDR iter env 6
+      - 60  # rls2101.rel NDRPDR iter env 6
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 66  # rls2101.rel NDRPDR iter env 6
+      - 68  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 90  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter RND env 6
+      - 87  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 94  # rls2101.rel NDRPDR iter RND env 6
+      - 95  # rls2101.rel NDRPDR iter RND env 6
+      - 100 # rls2101.rel NDRPDR iter RND env 6
+      - 106 # rls2101.rel NDRPDR iter RND env 6
+      - 108 # rls2101.rel NDRPDR iter RND env 6
+      - 112 # rls2101.rel NDRPDR iter NAT env 6
+      - 113 # rls2101.rel NDRPDR iter NAT env 6
+      - 114 # rls2101.rel NDRPDR iter NAT env 6
+      - 115 # rls2101.rel NDRPDR iter NAT env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter MLX env 6
+      - 123 # rls2101.rel NDRPDR iter MLX env 6
+      - 124 # rls2101.rel NDRPDR iter MLX env 6
+      - 126 # rls2101.rel NDRPDR iter MLX env 6
+      - 127 # rls2101.rel NDRPDR iter MLX env 6
+      - 128 # rls2101.rel NDRPDR iter MLX env 6
+      - 129 # rls2101.rel NDRPDR iter MLX env 6
+      - 130 # rls2101.rel NDRPDR iter MLX env 6
+      - 131 # rls2101.rel NDRPDR iter MLX env 6
+      - 132 # rls2101.rel NDRPDR iter MLX env 6
+
+  vpp-performance-changes-2n-zn2-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-zn2:
+      - 17  # rls2009 NDRPDR iter env 5
+      - 18  # rls2009 NDRPDR iter env 5
+      - 31  # rls2009 NDRPDR iter env 5
+      - 33  # rls2009 NDRPDR iter env 5
+      - 34  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-2n-zn2-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 9   # rls2009 NDRPDR iter env 6
+      - 10  # rls2009 NDRPDR iter env 6
+      - 11  # rls2009 NDRPDR iter env 6
+      - 12  # rls2009 NDRPDR iter env 6
+      - 13  # rls2009 NDRPDR iter env 6
+      - 20  # rls2009 NDRPDR iter env 6
+      - 21  # rls2009 NDRPDR iter env 6
+      - 22  # rls2009 NDRPDR iter env 6
+      - 25  # rls2009 NDRPDR iter env 6
+      - 26  # rls2009 NDRPDR iter env 6
+  vpp-performance-changes-2n-zn2-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 31  # rls2101.rel NDRPDR iter env 6
+      - 32  # rls2101.rel NDRPDR iter env 6
+      - 33  # rls2101.rel NDRPDR iter env 6
+      - 34  # rls2101.rel NDRPDR iter env 6
+      - 35  # rls2101.rel NDRPDR iter env 6
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 44  # rls2101.rel NDRPDR iter env 6
+      - 49  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter RND env 6
+      - 40  # rls2101.rel NDRPDR iter RND env 6
+      - 41  # rls2101.rel NDRPDR iter RND env 6
+      - 42  # rls2101.rel NDRPDR iter RND env 6
+      - 43  # rls2101.rel NDRPDR iter RND env 6
+      - 45  # rls2101.rel NDRPDR iter RND env 6
+      - 48  # rls2101.rel NDRPDR iter RND env 6
+      - 50  # rls2101.rel NDRPDR iter RND env 6
+      - 51  # rls2101.rel NDRPDR iter RND env 6
+      - 52  # rls2101.rel NDRPDR iter RND env 6
+
+  vpp-performance-changes-2n-dnv-h1:
+    csit-vpp-perf-report-iterative-2009-2n-dnv:
+      - 16  # rls2005 NDRPDR iter env 5
+      - 17  # rls2005 NDRPDR iter env 5
+      - 18  # rls2005 NDRPDR iter env 5
+      - 19  # rls2005 NDRPDR iter env 5
+      - 21  # rls2005 NDRPDR iter env 5
+      - 24  # rls2005 NDRPDR iter env 5
+      - 27  # rls2005 NDRPDR iter env 5
+      - 28  # rls2005 NDRPDR iter env 5
+      - 29  # rls2005 NDRPDR iter env 5
+      - 30  # rls2005 NDRPDR iter env 5
+  vpp-performance-changes-2n-dnv-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-dnv:
+      - 3   # rls2009 NDRPDR iter env 5
+      - 5   # rls2009 NDRPDR iter env 5
+      - 6   # rls2009 NDRPDR iter env 5
+      - 7   # rls2009 NDRPDR iter env 5
+      - 9   # rls2009 NDRPDR iter env 5
+      - 10  # rls2009 NDRPDR iter env 5
+      - 11  # rls2009 NDRPDR iter env 5
+      - 12  # rls2009 NDRPDR iter env 5
+      - 14  # rls2009 NDRPDR iter env 5
+      - 15  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-2n-dnv-ref-env-new:
+    # TODO: Re-test in new env
+    csit-vpp-perf-report-iterative-2009-2n-dnv:
+      - 3   # rls2009 NDRPDR iter env 5
+      - 5   # rls2009 NDRPDR iter env 5
+      - 6   # rls2009 NDRPDR iter env 5
+      - 7   # rls2009 NDRPDR iter env 5
+      - 9   # rls2009 NDRPDR iter env 5
+      - 10  # rls2009 NDRPDR iter env 5
+      - 11  # rls2009 NDRPDR iter env 5
+      - 12  # rls2009 NDRPDR iter env 5
+      - 14  # rls2009 NDRPDR iter env 5
+      - 15  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-2n-dnv-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-dnv:
+      - 32  # rls2101.rel NDRPDR iter env 6
+      - 33  # rls2101.rel NDRPDR iter env 6
+      - 34  # rls2101.rel NDRPDR iter env 6
+      - 35  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 43  # rls2101.rel NDRPDR iter env 6
+      - 44  # rls2101.rel NDRPDR iter env 6
+      - 45  # rls2101.rel NDRPDR iter env 6
+      - 46  # rls2101.rel NDRPDR iter RND env 6
+      - 47  # rls2101.rel NDRPDR iter RND env 6
+      - 48  # rls2101.rel NDRPDR iter RND env 6
+      - 49  # rls2101.rel NDRPDR iter RND env 6
+      - 50  # rls2101.rel NDRPDR iter RND env 6
+      - 51  # rls2101.rel NDRPDR iter RND env 6
+      - 52  # rls2101.rel NDRPDR iter RND env 6
+      - 53  # rls2101.rel NDRPDR iter RND env 6
+      - 54  # rls2101.rel NDRPDR iter RND env 6
+      - 55  # rls2101.rel NDRPDR iter RND env 6
+
+  vpp-performance-changes-3n-dnv-h1:
+    csit-vpp-perf-report-iterative-2009-3n-dnv:
+      - 16  # rls2005 NDRPDR iter env 5
+      - 23  # rls2005 NDRPDR iter env 5
+      - 25  # rls2005 NDRPDR iter env 5
+      - 26  # rls2005 NDRPDR iter env 5
+      - 27  # rls2005 NDRPDR iter env 5
+      - 28  # rls2005 NDRPDR iter env 5
+      - 29  # rls2005 NDRPDR iter env 5
+      - 30  # rls2005 NDRPDR iter env 5
+      - 31  # rls2005 NDRPDR iter env 5
+      - 32  # rls2005 NDRPDR iter env 5
+  vpp-performance-changes-3n-dnv-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-dnv:
+      - 3   # rls2009 NDRPDR iter env 5
+      - 6   # rls2009 NDRPDR iter env 5
+      - 7   # rls2009 NDRPDR iter env 5
+      - 8   # rls2009 NDRPDR iter env 5
+      - 10  # rls2009 NDRPDR iter env 5
+      - 11  # rls2009 NDRPDR iter env 5
+      - 12  # rls2009 NDRPDR iter env 5
+      - 14  # rls2009 NDRPDR iter env 5
+      - 15  # rls2009 NDRPDR iter env 5
+      - 24  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-3n-dnv-ref-env-new:
+    # TODO: Re-test in new env
+    csit-vpp-perf-report-iterative-2009-3n-dnv:
+      - 3   # rls2009 NDRPDR iter env 5
+      - 6   # rls2009 NDRPDR iter env 5
+      - 7   # rls2009 NDRPDR iter env 5
+      - 8   # rls2009 NDRPDR iter env 5
+      - 10  # rls2009 NDRPDR iter env 5
+      - 11  # rls2009 NDRPDR iter env 5
+      - 12  # rls2009 NDRPDR iter env 5
+      - 14  # rls2009 NDRPDR iter env 5
+      - 15  # rls2009 NDRPDR iter env 5
+      - 24  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-3n-dnv-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-dnv:
+      - 33  # rls2101.rel NDRPDR iter env 6
+      - 34  # rls2101.rel NDRPDR iter env 6
+      - 35  # rls2101.rel NDRPDR iter env 6
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 40  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 43  # rls2101.rel NDRPDR iter RND env 6
+      - 44  # rls2101.rel NDRPDR iter RND env 6
+      - 45  # rls2101.rel NDRPDR iter RND env 6
+      - 46  # rls2101.rel NDRPDR iter RND env 6
+      - 47  # rls2101.rel NDRPDR iter RND env 6
+      - 48  # rls2101.rel NDRPDR iter RND env 6
+      - 49  # rls2101.rel NDRPDR iter RND env 6
+      - 50  # rls2101.rel NDRPDR iter RND env 6
+      - 51  # rls2101.rel NDRPDR iter RND env 6
+      - 52  # rls2101.rel NDRPDR iter RND env 6
+
+  vpp-performance-changes-3n-tsh-h1:
+    csit-vpp-perf-report-iterative-2009-3n-tsh:
+      - 8   # rls2005 NDRPDR iter env 5
+      - 11  # rls2005 NDRPDR iter env 5
+      - 12  # rls2005 NDRPDR iter env 5
+      - 24  # rls2005 NDRPDR iter env 5
+      - 27  # rls2005 NDRPDR iter env 5
+      - 29  # rls2005 NDRPDR iter env 5
+      - 31  # rls2005 NDRPDR iter env 5
+      - 39  # rls2005 NDRPDR iter env 5
+      - 40  # rls2005 NDRPDR iter env 5
+      - 42  # rls2005 NDRPDR iter env 5
+  vpp-performance-changes-3n-tsh-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-tsh:
+      - 14  # rls2009 NDRPDR iter env 5
+      - 20  # rls2009 NDRPDR iter env 5
+      - 21  # rls2009 NDRPDR iter env 5
+      - 22  # rls2009 NDRPDR iter env 5
+      - 23  # rls2009 NDRPDR iter env 5
+      - 28  # rls2009 NDRPDR iter env 5
+      - 30  # rls2009 NDRPDR iter env 5
+      - 33  # rls2009 NDRPDR iter env 5
+      - 38  # rls2009 NDRPDR iter env 5
+      - 41  # rls2009 NDRPDR iter env 5
+  vpp-performance-changes-3n-tsh-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-3n-tsh:
+      - 8   # rls2009 NDRPDR iter env 6
+      - 13  # rls2009 NDRPDR iter env 6
+      - 14  # rls2009 NDRPDR iter env 6
+      - 15  # rls2009 NDRPDR iter env 6
+      - 16  # rls2009 NDRPDR iter env 6
+      - 17  # rls2009 NDRPDR iter env 6
+      - 18  # rls2009 NDRPDR iter env 6
+      - 19  # rls2009 NDRPDR iter env 6
+      - 21  # rls2009 NDRPDR iter env 6
+  vpp-performance-changes-3n-tsh-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-tsh:
+      - 23  # rls2101.rel NDRPDR iter env 6
+      - 24  # rls2101.rel NDRPDR iter env 6
+      - 25  # rls2101.rel NDRPDR iter env 6
+      - 26  # rls2101.rel NDRPDR iter env 6
+      - 27  # rls2101.rel NDRPDR iter env 6
+      - 28  # rls2101.rel NDRPDR iter env 6
+      - 29  # rls2101.rel NDRPDR iter env 6
+      - 30  # rls2101.rel NDRPDR iter env 6
+      - 31  # rls2101.rel NDRPDR iter env 6
+      - 32  # rls2101.rel NDRPDR iter env 6
+
+  #   vpp-performance-changes-2n-tx2-h1:
+  #     csit-vpp-perf-report-iterative-2009-2n-tx2:
+  #       -
+  #   vpp-performance-changes-2n-tx2-ref-env-old:
+  #     csit-vpp-perf-report-iterative-2009-2n-tx2:
+  #       -
+  vpp-performance-changes-2n-tx2-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-tx2:
+      - 6   # rls2009 NDRPDR iter env 6
+      - 7   # rls2009 NDRPDR iter env 6
+      - 11  # rls2009 NDRPDR iter env 6
+      - 12  # rls2009 NDRPDR iter env 6
+      - 13  # rls2009 NDRPDR iter env 6
+      - 16  # rls2009 NDRPDR iter env 6
+      - 17  # rls2009 NDRPDR iter env 6
+      - 18  # rls2009 NDRPDR iter env 6
+      - 19  # rls2009 NDRPDR iter env 6
+      - 20  # rls2009 NDRPDR iter env 6
+  vpp-performance-changes-2n-tx2-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-tx2:
+      - 22  # rls2101.rel NDRPDR iter env 6
+      - 23  # rls2101.rel NDRPDR iter env 6
+      - 24  # rls2101.rel NDRPDR iter env 6
+      - 25  # rls2101.rel NDRPDR iter env 6
+      - 26  # rls2101.rel NDRPDR iter env 6
+      - 27  # rls2101.rel NDRPDR iter env 6
+      - 28  # rls2101.rel NDRPDR iter env 6
+      - 29  # rls2101.rel NDRPDR iter env 6
+      - 30  # rls2101.rel NDRPDR iter env 6
+      - 31  # rls2101.rel NDRPDR iter env 6
+
+  vpp-soak-vs-ndr-2n-skx-ref:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 69  # rls2101.rel NDRPDR iter env 6
+      - 70  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 76  # rls2101.rel NDRPDR iter env 6
+      - 77  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 85  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 94  # rls2101.rel NDRPDR iter env 6
+  vpp-soak-vs-ndr-2n-skx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 68  # rls2101.rel soak env 6
+      - 73  # rls2101.rel soak env 6
+  vpp-soak-vs-ndr-2n-skx:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 69  # rls2101.rel NDRPDR iter env 6
+      - 70  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 76  # rls2101.rel NDRPDR iter env 6
+      - 77  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 85  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 94  # rls2101.rel NDRPDR iter env 6
+      - 68  # rls2101.rel soak env 6
+      - 73  # rls2101.rel soak env 6
+
+  vpp-soak-vs-ndr-2n-clx-ref:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 54  # rls2101.rel NDRPDR iter env 6
+      - 59  # rls2101.rel NDRPDR iter env 6
+      - 60  # rls2101.rel NDRPDR iter env 6
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 66  # rls2101.rel NDRPDR iter env 6
+      - 68  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 90  # rls2101.rel NDRPDR iter env 6
+  vpp-soak-vs-ndr-2n-clx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 58  # rls2101.rel soak env 6
+      - 61  # rls2101.rel soak env 6
+  vpp-soak-vs-ndr-2n-clx:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 54  # rls2101.rel NDRPDR iter env 6
+      - 59  # rls2101.rel NDRPDR iter env 6
+      - 60  # rls2101.rel NDRPDR iter env 6
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 66  # rls2101.rel NDRPDR iter env 6
+      - 68  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 90  # rls2101.rel NDRPDR iter env 6
+      - 58  # rls2101.rel soak env 6
+      - 61  # rls2101.rel soak env 6
+
+  vpp-performance-changes-3n-hsw-mrr-h1:
+    csit-vpp-perf-report-iterative-2009-3n-hsw:
+      - 18  # rls2005 MRR iter env 5
+  vpp-performance-changes-3n-hsw-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-hsw:
+      - 23  # rls2009 MRR iter env 5
+  vpp-performance-changes-3n-hsw-mrr-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 17  # rls2009 MRR iter env 6
+  vpp-performance-changes-3n-hsw-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 63  # rls2101.rel MRR iter env 6
+
+  vpp-performance-changes-3n-skx-mrr-h1:
+    csit-vpp-perf-report-iterative-2009-3n-skx:
+      - 17  # rls2005 MRR iter env 5
+  vpp-performance-changes-3n-skx-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-skx:
+      - 24  # rls2009 MRR iter env 5
+  vpp-performance-changes-3n-skx-mrr-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 34  # rls2009 MRR iter env 6
+  vpp-performance-changes-3n-skx-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 35  # rls2101.rel MRR iter env 6
+
+  vpp-performance-changes-2n-skx-mrr-h1:
+    csit-vpp-perf-report-iterative-2009-2n-skx:
+      - 20  # rls2005 MRR iter env 5
+  vpp-performance-changes-2n-skx-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-skx:
+      - 120 # rls2009 MRR iter env 5
+  vpp-performance-changes-2n-skx-mrr-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 21  # rls2009 MRR iter env 6
+  vpp-performance-changes-2n-skx-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 62  # rls2101.rel MRR iter env 6
+
+  vpp-performance-changes-2n-clx-mrr-h1:
+    csit-vpp-perf-report-iterative-2009-2n-clx:
+      - 77  # rls2005 MRR iter env 5
+  vpp-performance-changes-2n-clx-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-clx:
+      - 125 # rls2009 MRR iter env 5
+  vpp-performance-changes-2n-clx-mrr-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 15  # rls2009 MRR iter env 6
+      - 142 # rls2009 MRR MLX iter env 6
+  vpp-performance-changes-2n-clx-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 53  # rls2101.rel MRR iter env 6
+      - 133 # rls2101.rel MRR MLX iter env 6
+
+  vpp-performance-changes-2n-zn2-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-zn2:
+      - 15  # rls2009 MRR iter env 5
+  vpp-performance-changes-2n-zn2-mrr-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 8   # rls2009 MRR iter env6
+  vpp-performance-changes-2n-zn2-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-zn2:
+      - 30  # rls2101.rel MRR iter env 6
+
+  vpp-performance-changes-2n-dnv-mrr-h1:
+    csit-vpp-perf-report-iterative-2009-2n-dnv:
+      - 23  # rls2005 MRR iter env 5
+  vpp-performance-changes-2n-dnv-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-2n-dnv:
+      - 13  # rls2009 MRR iter env 5
+  vpp-performance-changes-2n-dnv-mrr-ref-env-new:
+    # TODO: Re-test in new env
+    csit-vpp-perf-report-iterative-2009-2n-dnv:
+      - 13  # rls2009 MRR iter env 5
+  vpp-performance-changes-2n-dnv-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-dnv:
+      - 31  # rls2101.rel MRR iter env 6
+
+  vpp-performance-changes-3n-dnv-mrr-h1:
+    csit-vpp-perf-report-iterative-2009-3n-dnv:
+      - 19  # rls2005 MRR iter env 5
+  vpp-performance-changes-3n-dnv-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-dnv:
+      - 22  # rls2009 MRR iter env 5
+  vpp-performance-changes-3n-dnv-mrr-ref-env-new:
+    # TODO: Re-test in new env
+    csit-vpp-perf-report-iterative-2009-3n-dnv:
+      - 22  # rls2009 MRR iter env 5
+  vpp-performance-changes-3n-dnv-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-dnv:
+      - 32  # rls2101.rel MRR iter env 6
+
+  vpp-performance-changes-3n-tsh-mrr-h1:
+    csit-vpp-perf-report-iterative-2009-3n-tsh:
+      - 13  # rls2005 MRR iter env 5
+  vpp-performance-changes-3n-tsh-mrr-ref-env-old:
+    csit-vpp-perf-report-iterative-2009-3n-tsh:
+      - 15  # rls2009 MRR iter env 5
+  vpp-performance-changes-3n-tsh-mrr-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-3n-tsh:
+      - 7   # rls2009 MRR iter env 6
+  vpp-performance-changes-3n-tsh-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-tsh:
+      - 22  # rls2101.rel MRR iter env 6
+
+  #   vpp-performance-changes-2n-tx2-mrr-h1:
+  #     csit-vpp-perf-report-iterative-2009-2n-tx2:
+  #       -
+  #   vpp-performance-changes-2n-tx2-mrr-ref-env-old:
+  #     csit-vpp-perf-report-iterative-2009-2n-tx2:
+  #       -
+  vpp-performance-changes-2n-tx2-mrr-ref-env-new:
+    csit-vpp-perf-report-iterative-2101-2n-tx2:
+      - 5   # rls2009 MRR iter env 6
+  vpp-performance-changes-2n-tx2-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-tx2:
+      - 21  # rls2101.rel MRR iter env 6
+
+  dpdk-performance-changes-3n-hsw-h1:
+    csit-dpdk-perf-report-iterative-2005-3n-hsw:
+      - 25  # NDRPDR iter
+      - 26  # NDRPDR iter
+      - 27  # NDRPDR iter
+      - 28  # NDRPDR iter
+      - 29  # NDRPDR iter
+      - 30  # NDRPDR iter
+      - 31  # NDRPDR iter
+      - 32  # NDRPDR iter
+      - 33  # NDRPDR iter
+      - 34  # NDRPDR iter
+  dpdk-performance-changes-3n-hsw-ref:
+    csit-dpdk-perf-report-iterative-2009-3n-hsw:
+      - 6   # NDRPDR iter env5
+      - 7   # NDRPDR iter env5
+      - 8   # NDRPDR iter env5
+      - 9   # NDRPDR iter env5
+      - 10  # NDRPDR iter env5
+      - 11  # NDRPDR iter env5
+      - 12  # NDRPDR iter env5
+      - 13  # NDRPDR iter env5
+      - 14  # NDRPDR iter env5
+      - 15  # NDRPDR iter env5
+  dpdk-performance-changes-3n-hsw-cmp:
+    csit-dpdk-perf-report-iterative-2101-3n-hsw:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 16  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  dpdk-performance-changes-3n-skx-h1:
+    csit-dpdk-perf-report-iterative-2005-3n-skx:
+      - 28  # NDRPDR iter
+      - 29  # NDRPDR iter
+      - 30  # NDRPDR iter
+      - 31  # NDRPDR iter
+      - 32  # NDRPDR iter
+      - 33  # NDRPDR iter
+      - 34  # NDRPDR iter
+      - 35  # NDRPDR iter
+      - 36  # NDRPDR iter
+      - 37  # NDRPDR iter
+  dpdk-performance-changes-3n-skx-ref:
+    csit-dpdk-perf-report-iterative-2009-3n-skx:
+      - 4   # NDRPDR sel env5
+      - 5   # NDRPDR sel env5
+      - 6   # NDRPDR sel env5
+      - 7   # NDRPDR sel env5
+      - 8   # NDRPDR sel env5
+      - 9   # NDRPDR sel env5
+      - 14  # NDRPDR sel env5
+      - 11  # NDRPDR sel env5
+      - 12  # NDRPDR sel env5
+      - 13  # NDRPDR sel env5
+  dpdk-performance-changes-3n-skx-cmp:
+    csit-dpdk-perf-report-iterative-2101-3n-skx:
+      - 12  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+      - 22  # rls2101 NDRPDR iter env 6
+      - 25  # rls2101 NDRPDR iter env 6
+      - 26  # rls2101 NDRPDR iter env 6
+
+  dpdk-performance-changes-2n-skx-h1:
+    csit-dpdk-perf-report-iterative-2005-2n-skx:
+      - 20  # NDRPDR iter
+      - 21  # NDRPDR iter
+      - 22  # NDRPDR iter
+      - 23  # NDRPDR iter
+      - 24  # NDRPDR iter
+      - 25  # NDRPDR iter
+      - 26  # NDRPDR iter
+      - 27  # NDRPDR iter
+      - 28  # NDRPDR iter
+      - 29  # NDRPDR iter
+  dpdk-performance-changes-2n-skx-ref:
+    csit-dpdk-perf-report-iterative-2009-2n-skx:
+      - 4   # NDRPDR iter env5
+      - 5   # NDRPDR iter env5
+      - 6   # NDRPDR iter env5
+      - 7   # NDRPDR iter env5
+      - 8   # NDRPDR iter env5
+      - 9   # NDRPDR iter env5
+      - 10  # NDRPDR iter env5
+      - 11  # NDRPDR iter env5
+      - 12  # NDRPDR iter env5
+      - 13  # NDRPDR iter env5
+  dpdk-performance-changes-2n-skx-cmp:
+    csit-dpdk-perf-report-iterative-2101-2n-skx:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  dpdk-performance-changes-2n-clx-h1:
+    csit-dpdk-perf-report-iterative-2005-2n-clx:
+      - 20  # NDRPDR iter
+      - 21  # NDRPDR iter
+      - 22  # NDRPDR iter
+      - 23  # NDRPDR iter
+      - 24  # NDRPDR iter
+      - 25  # NDRPDR iter
+      - 26  # NDRPDR iter
+      - 27  # NDRPDR iter
+      - 28  # NDRPDR iter
+      - 29  # NDRPDR iter
+  dpdk-performance-changes-2n-clx-ref:
+    csit-dpdk-perf-report-iterative-2009-2n-clx:
+      - 4   # NDRPDR iter env5
+      - 5   # NDRPDR iter env5
+      - 6   # NDRPDR iter env5
+      - 7   # NDRPDR iter env5
+      - 8   # NDRPDR iter env5
+      - 9   # NDRPDR iter env5
+      - 10  # NDRPDR iter env5
+      - 11  # NDRPDR iter env5
+      - 12  # NDRPDR iter env5
+      - 13  # NDRPDR iter env5
+  dpdk-performance-changes-2n-clx-cmp:
+    csit-dpdk-perf-report-iterative-2101-2n-clx:
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 22  # rls2101 NDRPDR iter env 6
+
+  dpdk-performance-changes-2n-zn2-ref:
+    csit-dpdk-perf-report-iterative-2009-2n-zn2:
+      - 16  # NDRPDR iter env5
+      - 21  # NDRPDR iter env5
+      - 22  # NDRPDR iter env5
+      - 23  # NDRPDR iter env5
+      - 24  # NDRPDR iter env5
+      - 25  # NDRPDR iter env5
+      - 29  # NDRPDR iter env5
+  dpdk-performance-changes-2n-zn2-cmp:
+    csit-dpdk-perf-report-iterative-2101-2n-zn2:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 16  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  #  dpdk-performance-changes-2n-dnv-h1:
+  #    csit-dpdk-perf-verify-2101-2n-dnv:
+  #      - 9   # NDRPDR sel
+  #      - 10  # NDRPDR sel
+  #      - 11  # NDRPDR sel
+  #      - 12  # NDRPDR sel
+  #      - 13  # NDRPDR sel
+  #      - 14  # NDRPDR sel
+  #      - 15  # NDRPDR sel
+  #      - 16  # NDRPDR sel
+  #      - 17  # NDRPDR sel
+  #      - 18  # NDRPDR sel
+  #  dpdk-performance-changes-2n-dnv-ref:
+  #    # No data
+  #  dpdk-performance-changes-2n-dnv-cmp:
+  #    # No data
+  #    csit-dpdk-perf-report-iterative-2009-2n-dnv:
+
+  #  dpdk-performance-changes-3n-dnv-h1:
+  #    csit-dpdk-perf-verify-2101-3n-dnv:
+  #      - 12  # NDRPDR sel
+  #      - 13  # NDRPDR sel
+  #      - 14  # NDRPDR sel
+  #      - 15  # NDRPDR sel
+  #      - 16  # NDRPDR sel
+  #      - 17  # NDRPDR sel
+  #      - 18  # NDRPDR sel
+  #      - 19  # NDRPDR sel
+  #      - 20  # NDRPDR sel
+  #      - 22  # NDRPDR sel
+  #  dpdk-performance-changes-3n-dnv-ref:
+  #    # No data
+  #  dpdk-performance-changes-3n-dnv-cmp:
+  #    # No data
+  #    csit-dpdk-perf-report-iterative-2009-3n-dnv:
+
+  dpdk-performance-changes-3n-tsh-h1:
+    csit-dpdk-perf-report-iterative-2005-3n-tsh:
+      - 5   # NDRPDR sel
+  dpdk-performance-changes-3n-tsh-ref:
+    csit-dpdk-perf-report-iterative-2009-3n-tsh:
+      - 1   # NDRPDR iter env5
+      - 2   # NDRPDR iter env5
+      - 3   # NDRPDR iter env5
+      - 4   # NDRPDR iter env5
+      - 5   # NDRPDR iter env5
+      - 6   # NDRPDR iter env5
+      - 7   # NDRPDR iter env5
+      - 9   # NDRPDR iter env5
+      - 10  # NDRPDR iter env5
+      - 11  # NDRPDR iter env5
+  dpdk-performance-changes-3n-tsh-cmp:
+    csit-dpdk-perf-report-iterative-2101-3n-tsh:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 16  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+
+  # Compare testbeds
+
+  vpp-compare-testbeds-ref:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 64  # rls2101.rel NDRPDR iter env 6
+      - 71  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 74  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter env 6
+      - 81  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 83  # rls2101.rel NDRPDR iter env 6
+      - 88  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter env 6
+  vpp-compare-testbeds-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 40  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 47  # rls2101.rel NDRPDR iter env 6
+      - 48  # rls2101.rel NDRPDR iter env 6
+      - 50  # rls2101.rel NDRPDR iter env 6
+
+  vpp-compare-testbeds-skx-clx-ref:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 69  # rls2101.rel NDRPDR iter env 6
+      - 70  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 76  # rls2101.rel NDRPDR iter env 6
+      - 77  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 85  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 94  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter RND env 6
+      - 90  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 96  # rls2101.rel NDRPDR iter RND env 6
+      - 98  # rls2101.rel NDRPDR iter RND env 6
+      - 99  # rls2101.rel NDRPDR iter RND env 6
+      - 101 # rls2101.rel NDRPDR iter RND env 6
+      - 102 # rls2101.rel NDRPDR iter RND env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter NAT env 6
+      - 123 # rls2101.rel NDRPDR iter NAT env 6
+      - 124 # rls2101.rel NDRPDR iter NAT env 6
+      - 125 # rls2101.rel NDRPDR iter NAT env 6
+  vpp-compare-testbeds-skx-clx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 54  # rls2101.rel NDRPDR iter env 6
+      - 59  # rls2101.rel NDRPDR iter env 6
+      - 60  # rls2101.rel NDRPDR iter env 6
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 66  # rls2101.rel NDRPDR iter env 6
+      - 68  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 90  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter RND env 6
+      - 87  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 94  # rls2101.rel NDRPDR iter RND env 6
+      - 95  # rls2101.rel NDRPDR iter RND env 6
+      - 100 # rls2101.rel NDRPDR iter RND env 6
+      - 106 # rls2101.rel NDRPDR iter RND env 6
+      - 108 # rls2101.rel NDRPDR iter RND env 6
+      - 112 # rls2101.rel NDRPDR iter NAT env 6
+      - 113 # rls2101.rel NDRPDR iter NAT env 6
+      - 114 # rls2101.rel NDRPDR iter NAT env 6
+      - 115 # rls2101.rel NDRPDR iter NAT env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter MLX env 6
+      - 123 # rls2101.rel NDRPDR iter MLX env 6
+      - 124 # rls2101.rel NDRPDR iter MLX env 6
+      - 126 # rls2101.rel NDRPDR iter MLX env 6
+      - 127 # rls2101.rel NDRPDR iter MLX env 6
+      - 128 # rls2101.rel NDRPDR iter MLX env 6
+      - 129 # rls2101.rel NDRPDR iter MLX env 6
+      - 130 # rls2101.rel NDRPDR iter MLX env 6
+      - 131 # rls2101.rel NDRPDR iter MLX env 6
+      - 132 # rls2101.rel NDRPDR iter MLX env 6
+
+  #   vpp-compare-testbeds-clx-icx-ref:
+  #     csit-vpp-perf-report-iterative-2101-2n-clx:
+  #       - 54  # rls2101.rel NDRPDR iter env 6
+  #       - 59  # rls2101.rel NDRPDR iter env 6
+  #       - 60  # rls2101.rel NDRPDR iter env 6
+  #       - 63  # rls2101.rel NDRPDR iter env 6
+  #       - 66  # rls2101.rel NDRPDR iter env 6
+  #       - 68  # rls2101.rel NDRPDR iter env 6
+  #       - 73  # rls2101.rel NDRPDR iter env 6
+  #       - 75  # rls2101.rel NDRPDR iter env 6
+  #       - 86  # rls2101.rel NDRPDR iter env 6
+  #       - 90  # rls2101.rel NDRPDR iter env 6
+  #   vpp-compare-testbeds-clx-icx-cmp:
+  #     intel-csit-vpp-perf-report-iterative-2101-2n-icx:
+  #       - 1   # master NDRPDR iter env 6
+
+  vpp-compare-testbeds-hsw-clx-ref:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 64  # rls2101.rel NDRPDR iter env 6
+      - 71  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 74  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter env 6
+      - 81  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 83  # rls2101.rel NDRPDR iter env 6
+      - 88  # rls2101.rel NDRPDR iter env 6
+      - 89  # rls2101.rel NDRPDR iter env 6
+      - 128 # rls2101.rel NDRPDR iter RND env 6
+      - 129 # rls2101.rel NDRPDR iter RND env 6
+      - 130 # rls2101.rel NDRPDR iter RND env 6
+      - 131 # rls2101.rel NDRPDR iter RND env 6
+      - 132 # rls2101.rel NDRPDR iter RND env 6
+      - 133 # rls2101.rel NDRPDR iter RND env 6
+      - 134 # rls2101.rel NDRPDR iter RND env 6
+      - 135 # rls2101.rel NDRPDR iter RND env 6
+      - 136 # rls2101.rel NDRPDR iter RND env 6
+      - 137 # rls2101.rel NDRPDR iter RND env 6
+  vpp-compare-testbeds-hsw-clx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 54  # rls2101.rel NDRPDR iter env 6
+      - 59  # rls2101.rel NDRPDR iter env 6
+      - 60  # rls2101.rel NDRPDR iter env 6
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 66  # rls2101.rel NDRPDR iter env 6
+      - 68  # rls2101.rel NDRPDR iter env 6
+      - 73  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 90  # rls2101.rel NDRPDR iter env 6
+      - 80  # rls2101.rel NDRPDR iter RND env 6
+      - 87  # rls2101.rel NDRPDR iter RND env 6
+      - 91  # rls2101.rel NDRPDR iter RND env 6
+      - 92  # rls2101.rel NDRPDR iter RND env 6
+      - 93  # rls2101.rel NDRPDR iter RND env 6
+      - 94  # rls2101.rel NDRPDR iter RND env 6
+      - 95  # rls2101.rel NDRPDR iter RND env 6
+      - 100 # rls2101.rel NDRPDR iter RND env 6
+      - 106 # rls2101.rel NDRPDR iter RND env 6
+      - 108 # rls2101.rel NDRPDR iter RND env 6
+      - 112 # rls2101.rel NDRPDR iter NAT env 6
+      - 113 # rls2101.rel NDRPDR iter NAT env 6
+      - 114 # rls2101.rel NDRPDR iter NAT env 6
+      - 115 # rls2101.rel NDRPDR iter NAT env 6
+      - 116 # rls2101.rel NDRPDR iter NAT env 6
+      - 117 # rls2101.rel NDRPDR iter NAT env 6
+      - 118 # rls2101.rel NDRPDR iter NAT env 6
+      - 119 # rls2101.rel NDRPDR iter NAT env 6
+      - 120 # rls2101.rel NDRPDR iter NAT env 6
+      - 121 # rls2101.rel NDRPDR iter NAT env 6
+      - 122 # rls2101.rel NDRPDR iter MLX env 6
+      - 123 # rls2101.rel NDRPDR iter MLX env 6
+      - 124 # rls2101.rel NDRPDR iter MLX env 6
+      - 126 # rls2101.rel NDRPDR iter MLX env 6
+      - 127 # rls2101.rel NDRPDR iter MLX env 6
+      - 128 # rls2101.rel NDRPDR iter MLX env 6
+      - 129 # rls2101.rel NDRPDR iter MLX env 6
+      - 130 # rls2101.rel NDRPDR iter MLX env 6
+      - 131 # rls2101.rel NDRPDR iter MLX env 6
+      - 132 # rls2101.rel NDRPDR iter MLX env 6
+
+  vpp-compare-testbeds-mrr-ref:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 63  # rls2101.rel MRR iter env 6
+  vpp-compare-testbeds-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 35  # rls2101.rel MRR iter env 6
+
+  vpp-compare-testbeds-mrr-skx-clx-ref:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 62  # rls2101.rel MRR iter env 6
+  vpp-compare-testbeds-mrr-skx-clx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 53  # rls2101.rel MRR iter env 6
+
+  vpp-compare-testbeds-mrr-hsw-clx-ref:
+    csit-vpp-perf-report-iterative-2101-3n-hsw:
+      - 63  # rls2101.rel MRR iter env 6
+  vpp-compare-testbeds-mrr-hsw-clx-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-clx:
+      - 53  # rls2101.rel MRR iter env 6
+
+  #   vpp-compare-testbeds-mrr-clx-icx-ref:
+  #     csit-vpp-perf-report-iterative-2101-2n-clx:
+  #       - 53  # rls2101.rel MRR iter env 6
+  #   vpp-compare-testbeds-mrr-clx-icx-cmp:
+  #     intel-csit-vpp-perf-report-iterative-2101-2n-icx:
+  #       - 1   # master NDRPDR iter env 6
+
+  dpdk-compare-testbeds-ref:
+    csit-dpdk-perf-report-iterative-2101-3n-hsw:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 16  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+  dpdk-compare-testbeds-cmp:
+    csit-dpdk-perf-report-iterative-2101-3n-skx:
+      - 12  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+      - 22  # rls2101 NDRPDR iter env 6
+      - 25  # rls2101 NDRPDR iter env 6
+      - 26  # rls2101 NDRPDR iter env 6
+
+  dpdk-compare-testbeds-skx-clx-ref:
+    csit-dpdk-perf-report-iterative-2101-2n-skx:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+  dpdk-compare-testbeds-skx-clx-cmp:
+    csit-dpdk-perf-report-iterative-2101-2n-clx:
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 22  # rls2101 NDRPDR iter env 6
+
+  # Compare topologies
+
+  vpp-compare-topologies-ref:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 36  # rls2101.rel NDRPDR iter env 6
+      - 37  # rls2101.rel NDRPDR iter env 6
+      - 38  # rls2101.rel NDRPDR iter env 6
+      - 39  # rls2101.rel NDRPDR iter env 6
+      - 40  # rls2101.rel NDRPDR iter env 6
+      - 41  # rls2101.rel NDRPDR iter env 6
+      - 42  # rls2101.rel NDRPDR iter env 6
+      - 47  # rls2101.rel NDRPDR iter env 6
+      - 48  # rls2101.rel NDRPDR iter env 6
+      - 50  # rls2101.rel NDRPDR iter env 6
+  vpp-compare-topologies-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 63  # rls2101.rel NDRPDR iter env 6
+      - 69  # rls2101.rel NDRPDR iter env 6
+      - 70  # rls2101.rel NDRPDR iter env 6
+      - 75  # rls2101.rel NDRPDR iter env 6
+      - 76  # rls2101.rel NDRPDR iter env 6
+      - 77  # rls2101.rel NDRPDR iter env 6
+      - 82  # rls2101.rel NDRPDR iter env 6
+      - 85  # rls2101.rel NDRPDR iter env 6
+      - 86  # rls2101.rel NDRPDR iter env 6
+      - 94  # rls2101.rel NDRPDR iter env 6
+
+  vpp-compare-topologies-mrr-ref:
+    csit-vpp-perf-report-iterative-2101-3n-skx:
+      - 35  # rls2101.rel MRR iter env 6
+  vpp-compare-topologies-mrr-cmp:
+    csit-vpp-perf-report-iterative-2101-2n-skx:
+      - 62  # rls2101.rel MRR iter env 6
+
+  dpdk-compare-topologies-ref:
+    csit-dpdk-perf-report-iterative-2101-3n-skx:
+      - 12  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
+      - 22  # rls2101 NDRPDR iter env 6
+      - 25  # rls2101 NDRPDR iter env 6
+      - 26  # rls2101 NDRPDR iter env 6
+  dpdk-compare-topologies-cmp:
+    csit-dpdk-perf-report-iterative-2101-2n-skx:
+      - 11  # rls2101 NDRPDR iter env 6
+      - 12  # rls2101 NDRPDR iter env 6
+      - 13  # rls2101 NDRPDR iter env 6
+      - 14  # rls2101 NDRPDR iter env 6
+      - 15  # rls2101 NDRPDR iter env 6
+      - 17  # rls2101 NDRPDR iter env 6
+      - 18  # rls2101 NDRPDR iter env 6
+      - 19  # rls2101 NDRPDR iter env 6
+      - 20  # rls2101 NDRPDR iter env 6
+      - 21  # rls2101 NDRPDR iter env 6
-- type: "environment"
-
-  paths:
-    # Top level directories:
-    ## Working directory
-    DIR[WORKING]: "_tmp"
-    ## Build directories
-    DIR[BUILD,HTML]: "_build"
-    DIR[BUILD,LATEX]: "_build_latex"
-
-    # Static .rst files
-    DIR[RST]: "../../../docs/report"
-
-    # Working directories
-    ## Input data files (.zip, .xml)
-    DIR[WORKING,DATA]: "{DIR[WORKING]}/data"
-    ## Static source files from git
-    DIR[WORKING,SRC]: "{DIR[WORKING]}/src"
-    DIR[WORKING,SRC,STATIC]: "{DIR[WORKING,SRC]}/_static"
-
-    # Static html content
-    DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
-    DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
-    DIR[STATIC,DPDK]: "{DIR[STATIC]}/dpdk"
-    DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
-
-    # Detailed test results
-    DIR[DTR]: "{DIR[WORKING,SRC]}/detailed_test_results"
-    DIR[DTR,PERF,DPDK,3N,HSW]: "{DIR[DTR]}/dpdk_performance_results_3n_hsw"
-    DIR[DTR,PERF,DPDK,3N,SKX]: "{DIR[DTR]}/dpdk_performance_results_3n_skx"
-    DIR[DTR,PERF,DPDK,2N,SKX]: "{DIR[DTR]}/dpdk_performance_results_2n_skx"
-    DIR[DTR,PERF,DPDK,2N,ZN2]: "{DIR[DTR]}/dpdk_performance_results_2n_zn2"
-    DIR[DTR,PERF,DPDK,2N,CLX]: "{DIR[DTR]}/dpdk_performance_results_2n_clx"
-    DIR[DTR,PERF,DPDK,2N,DNV]: "{DIR[DTR]}/dpdk_performance_results_2n_dnv"
-    DIR[DTR,PERF,DPDK,3N,DNV]: "{DIR[DTR]}/dpdk_performance_results_3n_dnv"
-    DIR[DTR,PERF,DPDK,3N,TSH]: "{DIR[DTR]}/dpdk_performance_results_3n_tsh"
-    DIR[DTR,PERF,DPDK,2N,TX2]: "{DIR[DTR]}/dpdk_performance_results_2n_tx2"
-    DIR[DTR,PERF,VPP,ALL]: "{DIR[DTR]}/vpp_performance_results"
-    DIR[DTR,PERF,VPP,3N,HSW]: "{DIR[DTR]}/vpp_performance_results_3n_hsw"
-    DIR[DTR,PERF,VPP,3N,SKX]: "{DIR[DTR]}/vpp_performance_results_3n_skx"
-    DIR[DTR,PERF,VPP,2N,SKX]: "{DIR[DTR]}/vpp_performance_results_2n_skx"
-    DIR[DTR,PERF,VPP,2N,ZN2]: "{DIR[DTR]}/vpp_performance_results_2n_zn2"
-    DIR[DTR,PERF,VPP,2N,CLX]: "{DIR[DTR]}/vpp_performance_results_2n_clx"
-    DIR[DTR,PERF,VPP,2N,ICX]: "{DIR[DTR]}/vpp_performance_results_2n_icx"
-    DIR[DTR,PERF,VPP,3N,TSH]: "{DIR[DTR]}/vpp_performance_results_3n_tsh"
-    DIR[DTR,PERF,VPP,2N,TX2]: "{DIR[DTR]}/vpp_performance_results_2n_tx2"
-    DIR[DTR,PERF,VPP,3N,DNV]: "{DIR[DTR]}/vpp_performance_results_3n_dnv"
-    DIR[DTR,PERF,VPP,2N,DNV]: "{DIR[DTR]}/vpp_performance_results_2n_dnv"
-    DIR[DTR,MRR,VPP,ALL]: "{DIR[DTR]}/vpp_mrr_results"
-    DIR[DTR,MRR,VPP,3N,HSW]: "{DIR[DTR]}/vpp_mrr_results_3n_hsw"
-    DIR[DTR,MRR,VPP,3N,SKX]: "{DIR[DTR]}/vpp_mrr_results_3n_skx"
-    DIR[DTR,MRR,VPP,2N,SKX]: "{DIR[DTR]}/vpp_mrr_results_2n_skx"
-    DIR[DTR,MRR,VPP,2N,ZN2]: "{DIR[DTR]}/vpp_mrr_results_2n_zn2"
-    DIR[DTR,MRR,VPP,2N,CLX]: "{DIR[DTR]}/vpp_mrr_results_2n_clx"
-    DIR[DTR,MRR,VPP,2N,ICX]: "{DIR[DTR]}/vpp_mrr_results_2n_icx"
-    DIR[DTR,MRR,VPP,3N,TSH]: "{DIR[DTR]}/vpp_mrr_results_3n_tsh"
-    DIR[DTR,MRR,VPP,2N,TX2]: "{DIR[DTR]}/vpp_mrr_results_2n_tx2"
-    DIR[DTR,MRR,VPP,3N,DNV]: "{DIR[DTR]}/vpp_mrr_results_3n_dnv"
-    DIR[DTR,MRR,VPP,2N,DNV]: "{DIR[DTR]}/vpp_mrr_results_2n_dnv"
-    DIR[DTR,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTR]}/vpp_device_results_ubuntu"
-
-    # Detailed test configurations
-    DIR[DTC]: "{DIR[WORKING,SRC]}/test_configuration"
-    DIR[DTC,PERF,VPP,ALL]: "{DIR[DTC]}/vpp_performance_configuration"
-    DIR[DTC,PERF,VPP,3N,HSW]: "{DIR[DTC]}/vpp_performance_configuration_3n_hsw"
-    DIR[DTC,PERF,VPP,3N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_3n_skx"
-    DIR[DTC,PERF,VPP,2N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_2n_skx"
-    DIR[DTC,PERF,VPP,2N,ZN2]: "{DIR[DTC]}/vpp_performance_configuration_2n_zn2"
-    DIR[DTC,PERF,VPP,2N,CLX]: "{DIR[DTC]}/vpp_performance_configuration_2n_clx"
-    DIR[DTC,PERF,VPP,2N,ICX]: "{DIR[DTC]}/vpp_performance_configuration_2n_icx"
-    DIR[DTC,PERF,VPP,3N,TSH]: "{DIR[DTC]}/vpp_performance_configuration_3n_tsh"
-    DIR[DTC,PERF,VPP,2N,TX2]: "{DIR[DTC]}/vpp_performance_configuration_2n_tx2"
-    DIR[DTC,PERF,VPP,3N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_3n_dnv"
-    DIR[DTC,PERF,VPP,2N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_2n_dnv"
-    DIR[DTC,MRR,VPP,ALL]: "{DIR[DTC]}/vpp_mrr_configuration"
-    DIR[DTC,MRR,VPP,3N,HSW]: "{DIR[DTC]}/vpp_mrr_configuration_3n_hsw"
-    DIR[DTC,MRR,VPP,3N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_3n_skx"
-    DIR[DTC,MRR,VPP,2N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_skx"
-    DIR[DTC,MRR,VPP,2N,ZN2]: "{DIR[DTC]}/vpp_mrr_configuration_2n_zn2"
-    DIR[DTC,MRR,VPP,2N,CLX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_clx"
-    DIR[DTC,MRR,VPP,2N,ICX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_icx"
-    DIR[DTC,MRR,VPP,3N,TSH]: "{DIR[DTC]}/vpp_mrr_configuration_3n_tsh"
-    DIR[DTC,MRR,VPP,2N,TX2]: "{DIR[DTC]}/vpp_mrr_configuration_2n_tx2"
-    DIR[DTC,MRR,VPP,3N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_3n_dnv"
-    DIR[DTC,MRR,VPP,2N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_2n_dnv"
-    DIR[DTC,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTC]}/vpp_device_configuration_ubuntu"
-
-    # Detailed tests operational data
-    DIR[DTO]: "{DIR[WORKING,SRC]}/test_operational_data"
-    DIR[DTO,PERF,VPP,ALL]: "{DIR[DTO]}/vpp_performance_operational_data"
-    DIR[DTO,PERF,VPP,3N,HSW]: "{DIR[DTO]}/vpp_performance_operational_data_3n_hsw"
-    DIR[DTO,PERF,VPP,3N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_3n_skx"
-    DIR[DTO,PERF,VPP,2N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_skx"
-    DIR[DTO,PERF,VPP,2N,ZN2]: "{DIR[DTO]}/vpp_performance_operational_data_2n_zn2"
-    DIR[DTO,PERF,VPP,2N,CLX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_clx"
-    DIR[DTO,PERF,VPP,2N,ICX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_icx"
-    DIR[DTO,PERF,VPP,3N,TSH]: "{DIR[DTO]}/vpp_performance_operational_data_3n_tsh"
-    DIR[DTO,PERF,VPP,2N,TX2]: "{DIR[DTO]}/vpp_performance_operational_data_2n_tx2"
-    DIR[DTO,PERF,VPP,3N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_3n_dnv"
-    DIR[DTO,PERF,VPP,2N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_2n_dnv"
-
-    # Latencies:
-    DIR[LAT,VPP]: "{DIR[WORKING,SRC]}/vpp_performance_tests/hdrh_packet_latency_by_percentile_graphs"
-    DIR[LAT,DPDK]: "{DIR[WORKING,SRC]}/dpdk_performance_tests/hdrh_packet_latency_by_percentile_graphs"
-
-    # .css patch file to fix tables generated by Sphinx
-    DIR[CSS_PATCH_FILE]: "{DIR[STATIC]}/theme_overrides.css"
-    DIR[CSS_PATCH_FILE2]: "{DIR[WORKING,SRC,STATIC]}/theme_overrides.css"
-
-  urls:
-    URL[JENKINS,CSIT]: "https://jenkins.fd.io/view/csit/job"
-    URL[S3_STORAGE,LOG]: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
-    URL[NEXUS,LOG]: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
-    URL[NEXUS,DOC]: "https://docs.fd.io/csit"
-    DIR[NEXUS,DOC]: "report/_static/archive"
-
-  make-dirs:
-  # List the directories which are created while preparing the environment.
-  # All directories MUST be defined in "paths" section.
-  - "DIR[WORKING,DATA]"
-  - "DIR[STATIC,VPP]"
-  - "DIR[STATIC,DPDK]"
-  - "DIR[STATIC,ARCH]"
-  - "DIR[BUILD,LATEX]"
-  - "DIR[WORKING,SRC]"
-  - "DIR[WORKING,SRC,STATIC]"
-
-  remove-dirs:
-  # List the directories which are deleted while cleaning the environment.
-  # All directories MUST be defined in "paths" section.
-  #- "DIR[BUILD,HTML]"
-  - "DIR[WORKING,DATA]"
-
-  build-dirs:
-  # List the directories where the results (build) is stored.
-  # All directories MUST be defined in "paths" section.
-  - "DIR[BUILD,HTML]"
-  - "DIR[BUILD,LATEX]"
-
-- type: "configuration"
-
-  mapping-file: "mapping_report.yaml"
-
-  limits:
-    nic:
-      x520: 24460000
-      x553: 29761905
-      x710: 35800000
-      xxv710: 35800000
-      xl710: 35800000
-      cx556a: 148809523.81
-      e810cq: 148809523.81
-
-    link:
-      10ge: 14880952.38
-      25ge: 37202380.95
-      40ge: 59523809.52
-      100ge: 148809523.81
-
-    pci:
-      pci-g3-x8: 74404761.90
-      pci-g3-x16: 148809523.81
-
-  data-sets:
-
-    ###########################################################################
-    # Plots:
-
-    # 3n-hsw
-
-    plot-vpp-throughput-lat-tsa-3n-hsw:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 64  # rls2101.rel NDRPDR iter env 6
-        - 71  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 74  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter env 6
-        - 81  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 83  # rls2101.rel NDRPDR iter env 6
-        - 88  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter env 6
-        - 128 # rls2101.rel NDRPDR iter RND env 6
-        - 129 # rls2101.rel NDRPDR iter RND env 6
-        - 130 # rls2101.rel NDRPDR iter RND env 6
-        - 131 # rls2101.rel NDRPDR iter RND env 6
-        - 132 # rls2101.rel NDRPDR iter RND env 6
-        - 133 # rls2101.rel NDRPDR iter RND env 6
-        - 134 # rls2101.rel NDRPDR iter RND env 6
-        - 135 # rls2101.rel NDRPDR iter RND env 6
-        - 136 # rls2101.rel NDRPDR iter RND env 6
-        - 137 # rls2101.rel NDRPDR iter RND env 6
-
-    plot-vpp-hdrh-lat-3n-hsw:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 89  # rls2101.rel NDRPDR iter env 6
-
-    plot-vpp-hdrh-lat-3n-hsw-rnd:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 128 # rls2101.rel NDRPDR iter RND env 6
-
-    plot-vpp-ipsec-reconf-3n-hsw:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 65  # rls2101.rel NDRPDR reconf iter env 6
-        - 68  # rls2101.rel NDRPDR reconf iter env 6
-        - 77  # rls2101.rel NDRPDR reconf iter env 6
-        - 84  # rls2101.rel NDRPDR reconf iter env 6
-        - 90  # rls2101.rel NDRPDR reconf iter env 6
-        - 96  # rls2101.rel NDRPDR reconf iter env 6
-        - 101 # rls2101.rel NDRPDR reconf iter env 6
-        - 104 # rls2101.rel NDRPDR reconf iter env 6
-        - 105 # rls2101.rel NDRPDR reconf iter env 6
-        - 106 # rls2101.rel NDRPDR reconf iter env 6
-        - 107 # rls2101.rel NDRPDR reconf iter env 6
-        - 108 # rls2101.rel NDRPDR reconf iter env 6
-        - 110 # rls2101.rel NDRPDR reconf iter env 6
-        - 111 # rls2101.rel NDRPDR reconf iter env 6
-        - 112 # rls2101.rel NDRPDR reconf iter env 6
-        - 113 # rls2101.rel NDRPDR reconf iter env 6
-        - 114 # rls2101.rel NDRPDR reconf iter env 6
-        - 115 # rls2101.rel NDRPDR reconf iter env 6
-        - 116 # rls2101.rel NDRPDR reconf iter env 6
-        - 117 # rls2101.rel NDRPDR reconf iter env 6
-
-    plot-vpp-hoststack-3n-hsw:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 69  # rls2101.rel Hoststack iter env 6
-        - 70  # rls2101.rel Hoststack iter env 6
-        - 75  # rls2101.rel Hoststack iter env 6
-        - 76  # rls2101.rel Hoststack iter env 6
-        - 78  # rls2101.rel Hoststack iter env 6
-        - 79  # rls2101.rel Hoststack iter env 6
-        - 85  # rls2101.rel Hoststack iter env 6
-        - 86  # rls2101.rel Hoststack iter env 6
-        - 87  # rls2101.rel Hoststack iter env 6
-        - 91  # rls2101.rel Hoststack iter env 6
-        - 92  # rls2101.rel Hoststack iter env 6
-        - 93  # rls2101.rel Hoststack iter env 6
-        - 94  # rls2101.rel Hoststack iter env 6
-        - 95  # rls2101.rel Hoststack iter env 6
-        - 97  # rls2101.rel Hoststack iter env 6
-        - 98  # rls2101.rel Hoststack iter env 6
-        - 99  # rls2101.rel Hoststack iter env 6
-        - 100 # rls2101.rel Hoststack iter env 6
-        - 102 # rls2101.rel Hoststack iter env 6
-        - 103 # rls2101.rel Hoststack iter env 6
-
-    plot-dpdk-throughput-latency-3n-hsw:
-      csit-dpdk-perf-report-iterative-2101-3n-hsw:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 16  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-    plot-dpdk-hdrh-lat-3n-hsw:
-      csit-dpdk-perf-report-iterative-2101-3n-hsw:
-        - 11  # rls2101 NDRPDR iter env 6
-
-    # 3n-skx
-
-    plot-vpp-throughput-lat-tsa-3n-skx:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 40  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 47  # rls2101.rel NDRPDR iter env 6
-        - 48  # rls2101.rel NDRPDR iter env 6
-        - 50  # rls2101.rel NDRPDR iter env 6
-
-    plot-vpp-hdrh-lat-3n-skx:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 36  # rls2101.rel NDRPDR iter env 6
-
-#    plot-vpp-nfv-3n-skx-ndrpdr:
-#      # No data
-#      csit-vpp-perf-report-iterative-2101-3n-skx:
-
-#    plot-vpp-nfv-3n-skx-mrr:
-#      # No data
-#      csit-vpp-perf-report-iterative-2101-3n-skx:
-
-    plot-dpdk-throughput-latency-3n-skx:
-      csit-dpdk-perf-report-iterative-2101-3n-skx:
-        - 12  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-        - 22  # rls2101 NDRPDR iter env 6
-        - 25  # rls2101 NDRPDR iter env 6
-        - 26  # rls2101 NDRPDR iter env 6
-
-    plot-dpdk-hdrh-lat-3n-skx:
-      csit-dpdk-perf-report-iterative-2101-3n-skx:
-        - 12  # rls2101 NDRPDR iter env 6
-
-    # 2n-skx
-
-    plot-vpp-throughput-lat-tsa-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 69  # rls2101.rel NDRPDR iter env 6
-        - 70  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 76  # rls2101.rel NDRPDR iter env 6
-        - 77  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 85  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 94  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter RND env 6
-        - 90  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 96  # rls2101.rel NDRPDR iter RND env 6
-        - 98  # rls2101.rel NDRPDR iter RND env 6
-        - 99  # rls2101.rel NDRPDR iter RND env 6
-        - 101 # rls2101.rel NDRPDR iter RND env 6
-        - 102 # rls2101.rel NDRPDR iter RND env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter NAT env 6
-        - 123 # rls2101.rel NDRPDR iter NAT env 6
-        - 124 # rls2101.rel NDRPDR iter NAT env 6
-        - 125 # rls2101.rel NDRPDR iter NAT env 6
-
-    plot-vpp-hdrh-lat-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 94  # rls2101.rel NDRPDR iter env 6
-
-    plot-vpp-hdrh-lat-2n-skx-rnd:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 89  # rls2101.rel NDRPDR iter RND env 6
-
-    plot-vpp-hdrh-lat-2n-skx-nat:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-
-    plot-vpp-soak-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 68  # rls2101.rel soak env 6
-        - 73  # rls2101.rel soak env 6
-
-    plot-vpp-nfv-2n-skx-ndrpdr:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 67  # rls2101.rel NDRPDR nf-density iter env 6
-        - 72  # rls2101.rel NDRPDR nf-density iter env 6
-        - 79  # rls2101.rel NDRPDR nf-density iter env 6
-        - 83  # rls2101.rel NDRPDR nf-density iter env 6
-        - 88  # rls2101.rel NDRPDR nf-density iter env 6
-        - 97  # rls2101.rel NDRPDR nf-density iter env 6
-        - 103 # rls2101.rel NDRPDR nf-density iter env 6
-        - 108 # rls2101.rel NDRPDR nf-density iter env 6
-        - 109 # rls2101.rel NDRPDR nf-density iter env 6
-        - 110 # rls2101.rel NDRPDR nf-density iter env 6
-
-    plot-vpp-nfv-2n-skx-mrr:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 65  # rls2101.rel MRR nf-density iter env 6
-
-    plot-vpp-nfv-reconf-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 64  # rls2101.rel NDRPDR reconf iter env 6
-        - 66  # rls2101.rel NDRPDR reconf iter env 6
-        - 71  # rls2101.rel NDRPDR reconf iter env 6
-        - 74  # rls2101.rel NDRPDR reconf iter env 6
-        - 78  # rls2101.rel NDRPDR reconf iter env 6
-        - 87  # rls2101.rel NDRPDR reconf iter env 6
-        - 95  # rls2101.rel NDRPDR reconf iter env 6
-        - 100 # rls2101.rel NDRPDR reconf iter env 6
-        - 104 # rls2101.rel NDRPDR reconf iter env 6
-        - 106 # rls2101.rel NDRPDR reconf iter env 6
-
-    plot-vpp-gso-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 129 # rls2101.rel MRR GSO iter env 6
-
-    plot-dpdk-throughput-latency-2n-skx:
-      csit-dpdk-perf-report-iterative-2101-2n-skx:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-    plot-dpdk-hdrh-lat-2n-skx:
-      csit-dpdk-perf-report-iterative-2101-2n-skx:
-        - 11  # rls2101 NDRPDR iter env 6
-
-    # 2n-zn2
-
-    plot-vpp-throughput-lat-tsa-2n-zn2:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 31  # rls2101.rel NDRPDR iter env 6
-        - 32  # rls2101.rel NDRPDR iter env 6
-        - 33  # rls2101.rel NDRPDR iter env 6
-        - 34  # rls2101.rel NDRPDR iter env 6
-        - 35  # rls2101.rel NDRPDR iter env 6
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 44  # rls2101.rel NDRPDR iter env 6
-        - 49  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter RND env 6
-        - 40  # rls2101.rel NDRPDR iter RND env 6
-        - 41  # rls2101.rel NDRPDR iter RND env 6
-        - 42  # rls2101.rel NDRPDR iter RND env 6
-        - 43  # rls2101.rel NDRPDR iter RND env 6
-        - 45  # rls2101.rel NDRPDR iter RND env 6
-        - 48  # rls2101.rel NDRPDR iter RND env 6
-        - 50  # rls2101.rel NDRPDR iter RND env 6
-        - 51  # rls2101.rel NDRPDR iter RND env 6
-        - 52  # rls2101.rel NDRPDR iter RND env 6
-
-    plot-vpp-hdrh-lat-2n-zn2:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 31  # rls2101.rel NDRPDR iter env 6
-
-    plot-vpp-hdrh-lat-2n-zn2-rnd:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 40  # rls2101.rel NDRPDR iter RND env 6
-
-    plot-vpp-gso-2n-zn2:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 56  # rls2101.rel MRR GSO iter env 6
-
-    plot-dpdk-throughput-latency-2n-zn2:
-      csit-dpdk-perf-report-iterative-2101-2n-zn2:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 16  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-    plot-dpdk-hdrh-lat-2n-zn2:
-      csit-dpdk-perf-report-iterative-2101-2n-zn2:
-        - 11  # rls2101 NDRPDR iter env 6
-
-    # 2n-clx
-
-    plot-vpp-throughput-lat-tsa-2n-clx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 54  # rls2101.rel NDRPDR iter env 6
-        - 59  # rls2101.rel NDRPDR iter env 6
-        - 60  # rls2101.rel NDRPDR iter env 6
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 66  # rls2101.rel NDRPDR iter env 6
-        - 68  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 90  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter RND env 6
-        - 87  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 94  # rls2101.rel NDRPDR iter RND env 6
-        - 95  # rls2101.rel NDRPDR iter RND env 6
-        - 100 # rls2101.rel NDRPDR iter RND env 6
-        - 106 # rls2101.rel NDRPDR iter RND env 6
-        - 108 # rls2101.rel NDRPDR iter RND env 6
-        - 112 # rls2101.rel NDRPDR iter NAT env 6
-        - 113 # rls2101.rel NDRPDR iter NAT env 6
-        - 114 # rls2101.rel NDRPDR iter NAT env 6
-        - 115 # rls2101.rel NDRPDR iter NAT env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter MLX env 6
-        - 123 # rls2101.rel NDRPDR iter MLX env 6
-        - 124 # rls2101.rel NDRPDR iter MLX env 6
-        - 126 # rls2101.rel NDRPDR iter MLX env 6
-        - 127 # rls2101.rel NDRPDR iter MLX env 6
-        - 128 # rls2101.rel NDRPDR iter MLX env 6
-        - 129 # rls2101.rel NDRPDR iter MLX env 6
-        - 130 # rls2101.rel NDRPDR iter MLX env 6
-        - 131 # rls2101.rel NDRPDR iter MLX env 6
-        - 132 # rls2101.rel NDRPDR iter MLX env 6
-
-    plot-vpp-hdrh-lat-2n-clx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 75  # rls2101.rel NDRPDR iter env 6
-
-    plot-vpp-hdrh-lat-2n-clx-rnd:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 87  # rls2101.rel NDRPDR iter RND env 6
-
-    plot-vpp-hdrh-lat-2n-clx-nat:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-
-    plot-vpp-hdrh-lat-2n-clx-mlx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 127 # rls2101.rel NDRPDR iter MLX env 6
-
-    plot-vpp-nfv-2n-clx-ndrpdr:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 57  # rls2101.rel NDRPDR nf-density iter env 6
-        - 62  # rls2101.rel NDRPDR nf-density iter env 6
-        - 70  # rls2101.rel NDRPDR nf-density iter env 6
-        - 71  # rls2101.rel NDRPDR nf-density iter env 6
-        - 82  # rls2101.rel NDRPDR nf-density iter env 6
-        - 88  # rls2101.rel NDRPDR nf-density iter env 6
-        - 89  # rls2101.rel NDRPDR nf-density iter env 6
-        - 96  # rls2101.rel NDRPDR nf-density iter env 6
-        - 97  # rls2101.rel NDRPDR nf-density iter env 6
-        - 98  # rls2101.rel NDRPDR nf-density iter env 6
-
-    plot-vpp-nfv-2n-clx-mrr:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 72  # rls2101.rel MRR nf-density iter env 6
-
-    plot-vpp-nfv-reconf-2n-clx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 55  # rls2101.rel NDRPDR reconf iter env 6
-        - 64  # rls2101.rel NDRPDR reconf iter env 6
-        - 76  # rls2101.rel NDRPDR reconf iter env 6
-        - 83  # rls2101.rel NDRPDR reconf iter env 6
-        - 99  # rls2101.rel NDRPDR reconf iter env 6
-        - 101 # rls2101.rel NDRPDR reconf iter env 6
-        - 102 # rls2101.rel NDRPDR reconf iter env 6
-        - 107 # rls2101.rel NDRPDR reconf iter env 6
-        - 109 # rls2101.rel NDRPDR reconf iter env 6
-        - 110 # rls2101.rel NDRPDR reconf iter env 6
-
-    plot-vpp-soak-2n-clx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 58  # rls2101.rel soak env 6
-        - 61  # rls2101.rel soak env 6
-
-    plot-vpp-gso-2n-clx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 159 # rls2101.rel MRR GSO iter env 6
-
-    plot-dpdk-throughput-latency-2n-clx:
-      csit-dpdk-perf-report-iterative-2101-2n-clx:
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 22  # rls2101 NDRPDR iter env 6
-
-    plot-dpdk-hdrh-lat-2n-clx:
-      csit-dpdk-perf-report-iterative-2101-2n-clx:
-        - 12  # rls2101 NDRPDR iter env 6
-
-#     # 2n-icx
-#
-#     plot-vpp-throughput-lat-tsa-2n-icx:
-#       intel-csit-vpp-perf-report-iterative-2101-2n-icx:
-#         - 1   # master NDRPDR iter env 6
-#
-#     plot-vpp-hdrh-lat-2n-icx:
-#       intel-csit-vpp-perf-report-iterative-2101-2n-icx:
-#         - 1   # master NDRPDR iter env 6
-
-    # 3n-tsh
-
-    plot-vpp-throughput-lat-tsa-3n-tsh:
-      csit-vpp-perf-report-iterative-2101-3n-tsh:
-        - 23  # rls2101.rel NDRPDR iter env 6
-        - 24  # rls2101.rel NDRPDR iter env 6
-        - 25  # rls2101.rel NDRPDR iter env 6
-        - 26  # rls2101.rel NDRPDR iter env 6
-        - 27  # rls2101.rel NDRPDR iter env 6
-        - 28  # rls2101.rel NDRPDR iter env 6
-        - 29  # rls2101.rel NDRPDR iter env 6
-        - 30  # rls2101.rel NDRPDR iter env 6
-        - 31  # rls2101.rel NDRPDR iter env 6
-        - 32  # rls2101.rel NDRPDR iter env 6
-
-    plot-vpp-hdrh-lat-3n-tsh:
-      csit-vpp-perf-report-iterative-2101-3n-tsh:
-        - 23  # rls2101.rel NDRPDR iter env 6
-
-    plot-dpdk-throughput-latency-3n-tsh:
-      csit-dpdk-perf-report-iterative-2101-3n-tsh:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 16  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-    plot-dpdk-hdrh-lat-3n-tsh:
-      csit-dpdk-perf-report-iterative-2101-3n-tsh:
-        - 21  # rls2101 NDRPDR iter env 6
-
-    # 2n-tx2
-
-    plot-vpp-throughput-lat-tsa-2n-tx2:
-      csit-vpp-perf-report-iterative-2101-2n-tx2:
-        - 22  # rls2101.rel NDRPDR iter env 6
-        - 23  # rls2101.rel NDRPDR iter env 6
-        - 24  # rls2101.rel NDRPDR iter env 6
-        - 25  # rls2101.rel NDRPDR iter env 6
-        - 26  # rls2101.rel NDRPDR iter env 6
-        - 27  # rls2101.rel NDRPDR iter env 6
-        - 28  # rls2101.rel NDRPDR iter env 6
-        - 29  # rls2101.rel NDRPDR iter env 6
-        - 30  # rls2101.rel NDRPDR iter env 6
-        - 31  # rls2101.rel NDRPDR iter env 6
-
-    plot-vpp-hdrh-lat-2n-tx2:
-      csit-vpp-perf-report-iterative-2101-2n-tx2:
-        - 29  # rls2101.rel NDRPDR iter env 6
-
-    plot-dpdk-throughput-latency-2n-tx2:
-      csit-dpdk-perf-report-iterative-2101-2n-tx2:
-        - 4   # rls2101 NDRPDR iter env 6
-        - 6   # rls2101 NDRPDR iter env 6
-        - 7   # rls2101 NDRPDR iter env 6
-        - 8   # rls2101 NDRPDR iter env 6
-        - 9   # rls2101 NDRPDR iter env 6
-        - 10  # rls2101 NDRPDR iter env 6
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-
-    plot-dpdk-hdrh-lat-2n-tx2:
-      csit-dpdk-perf-report-iterative-2101-2n-tx2:
-        - 4   # rls2101 NDRPDR iter env 6
-
-    # 3n-dnv
-
-    plot-vpp-throughput-lat-tsa-3n-dnv:
-      csit-vpp-perf-report-iterative-2101-3n-dnv:
-        - 33  # rls2101.rel NDRPDR iter env 6
-        - 34  # rls2101.rel NDRPDR iter env 6
-        - 35  # rls2101.rel NDRPDR iter env 6
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 40  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 43  # rls2101.rel NDRPDR iter RND env 6
-        - 44  # rls2101.rel NDRPDR iter RND env 6
-        - 45  # rls2101.rel NDRPDR iter RND env 6
-        - 46  # rls2101.rel NDRPDR iter RND env 6
-        - 47  # rls2101.rel NDRPDR iter RND env 6
-        - 48  # rls2101.rel NDRPDR iter RND env 6
-        - 49  # rls2101.rel NDRPDR iter RND env 6
-        - 50  # rls2101.rel NDRPDR iter RND env 6
-        - 51  # rls2101.rel NDRPDR iter RND env 6
-        - 52  # rls2101.rel NDRPDR iter RND env 6
-
-#    plot-dpdk-throughput-latency-3n-dnv:
-#      # No data
-#      csit-dpdk-perf-report-iterative-2009-3n-dnv:
-
-    # 2n-dnv
-
-    plot-vpp-throughput-lat-tsa-2n-dnv:
-      csit-vpp-perf-report-iterative-2101-2n-dnv:
-        - 32  # rls2101.rel NDRPDR iter env 6
-        - 33  # rls2101.rel NDRPDR iter env 6
-        - 34  # rls2101.rel NDRPDR iter env 6
-        - 35  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 43  # rls2101.rel NDRPDR iter env 6
-        - 44  # rls2101.rel NDRPDR iter env 6
-        - 45  # rls2101.rel NDRPDR iter env 6
-        - 46  # rls2101.rel NDRPDR iter RND env 6
-        - 47  # rls2101.rel NDRPDR iter RND env 6
-        - 48  # rls2101.rel NDRPDR iter RND env 6
-        - 49  # rls2101.rel NDRPDR iter RND env 6
-        - 50  # rls2101.rel NDRPDR iter RND env 6
-        - 51  # rls2101.rel NDRPDR iter RND env 6
-        - 52  # rls2101.rel NDRPDR iter RND env 6
-        - 53  # rls2101.rel NDRPDR iter RND env 6
-        - 54  # rls2101.rel NDRPDR iter RND env 6
-        - 55  # rls2101.rel NDRPDR iter RND env 6
-
-#    plot-dpdk-throughput-latency-2n-dnv:
-#      # No data
-#      csit-dpdk-perf-report-iterative-2009-2n-dnv:
-
-    ###########################################################################
-    # Simple tables (only one data set):
-
-    # NIC Comparisons
-
-    vpp-nic-comparison-3n-skx:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 40  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 47  # rls2101.rel NDRPDR iter env 6
-        - 48  # rls2101.rel NDRPDR iter env 6
-        - 50  # rls2101.rel NDRPDR iter env 6
-
-    vpp-nic-comparison-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 69  # rls2101.rel NDRPDR iter env 6
-        - 70  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 76  # rls2101.rel NDRPDR iter env 6
-        - 77  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 85  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 94  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter RND env 6
-        - 90  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 96  # rls2101.rel NDRPDR iter RND env 6
-        - 98  # rls2101.rel NDRPDR iter RND env 6
-        - 99  # rls2101.rel NDRPDR iter RND env 6
-        - 101 # rls2101.rel NDRPDR iter RND env 6
-        - 102 # rls2101.rel NDRPDR iter RND env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter NAT env 6
-        - 123 # rls2101.rel NDRPDR iter NAT env 6
-        - 124 # rls2101.rel NDRPDR iter NAT env 6
-        - 125 # rls2101.rel NDRPDR iter NAT env 6
-
-    vpp-nic-comparison-3n-skx-mrr:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 35  # rls2101.rel MRR iter env 6
-
-    vpp-nic-comparison-2n-skx-mrr:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 62  # rls2101.rel MRR iter env 6
-
-    # Results
-
-    vpp-perf-results-3n-hsw:
-      csit-vpp-perf-report-coverage-2101-3n-hsw:
-        - 1   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-00
-        - 2   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-01
-        - 3   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-02
-        - 4   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-03
-        - 5   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-00
-        - 6   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-01
-        - 7   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-02
-        - 8   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-03
-        - 9   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-04
-        - 10  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-05
-        - 11  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-06
-        - 12  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-07
-        - 13  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-00
-        - 14  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-01
-        - 15  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-02
-        - 16  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6-00
-        - 18  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6-01
-        - 19  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-00
-        - 20  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-01
-        - 21  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-02
-        - 22  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-03
-        - 23  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-04
-        - 24  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6tun-00
-        - 25  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-05
-        - 26  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-06
-        - 27  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-07
-        - 28  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-08
-        - 29  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-09
-        - 30  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-10
-        - 31  # rls2101.rel NDRPDR cov env 6 3n-hsw-memif-00
-        - 32  # rls2101.rel NDRPDR cov env 6 3n-hsw-srv6-00
-        - 33  # rls2101.rel NDRPDR cov env 6 3n-hsw-srv6-01
-        - 34  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-00
-        - 35  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-01
-        - 36  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-02
-
-    vpp-perf-results-3n-skx:
-      csit-vpp-perf-report-coverage-2101-3n-skx:
-        - 1   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-00
-        - 2   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-01
-        - 3   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-02
-        - 4   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-03
-        - 5   # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-00
-        - 16  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-01
-        - 7   # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-02
-        - 17  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-03
-        - 18  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-04
-        - 19  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-05
-        - 20  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-06
-        - 12  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-06
-        - 13  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-00
-        - 26  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-01
-        - 15  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-02
-        - 21  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6-00
-        - 22  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6-01
-        - 23  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6tun-00
-        - 24  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-00
-        - 30  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-01
-        - 27  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-02
-        - 28  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-03
-        - 29  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-04
-        - 31  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-05
-        - 32  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-06
-        - 33  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-07
-        - 34  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-08
-        - 35  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-09
-        - 36  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-10
-        - 37  # rls2101.rel NDRPDR cov env 6 3n-skx-memif-00
-        - 38  # rls2101.rel NDRPDR cov env 6 3n-skx-srv6-00
-        - 39  # rls2101.rel NDRPDR cov env 6 3n-skx-srv6-01
-        - 40  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-00
-        - 41  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-01
-        - 42  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-02
-        - 43  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-03
-
-    vpp-perf-results-2n-skx:
-      csit-vpp-perf-report-coverage-2101-2n-skx:
-        - 1   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-00
-        - 2   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-01
-        - 3   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-02
-        - 4   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-03
-        - 5   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-04
-        - 6   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-05
-        - 7   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-06
-        - 8   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-07
-        - 21  # rls2101.rel NDRPDR cov env 6 2n-skx-ip4tun-00
-        - 22  # rls2101.rel NDRPDR cov env 6 2n-skx-ip4tun-00
-        - 10  # rls2101.rel NDRPDR cov env 6 2n-skx-ip6-00
-        - 11  # rls2101.rel NDRPDR cov env 6 2n-skx-ip6-01
-        - 12  # rls2101.rel NDRPDR cov env 6 2n-skx-l2-00
-        - 13  # rls2101.rel NDRPDR cov env 6 2n-skx-l2-01
-        - 14  # rls2101.rel NDRPDR cov env 6 2n-skx-lb-00
-        - 15  # rls2101.rel NDRPDR cov env 6 2n-skx-memif-00
-        - 16  # rls2101.rel NDRPDR cov env 6 2n-skx-vhost-00
-        - 17  # rls2101.rel NDRPDR cov env 6 2n-skx-vhost-01
-        - 19  # rls2101.rel NDRPDR cov env 6 2n-skx-vts-00
-
-    vpp-perf-results-2n-zn2:
-      csit-vpp-perf-report-coverage-2101-2n-zn2:
-        - 1   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-00
-        - 2   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-01
-        - 3   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-02
-        - 4   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-03
-        - 5   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-04
-        - 6   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-05
-        - 17  # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4tun-00
-        - 18  # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4tun-01
-        - 8   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip6-00
-        - 9   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip6-01
-        - 10  # rls2101.rel NDRPDR cov env 6 2n-zn2-l2-00
-        - 11  # rls2101.rel NDRPDR cov env 6 2n-zn2-l2-01
-        - 12  # rls2101.rel NDRPDR cov env 6 2n-zn2-lb-00
-        - 13  # rls2101.rel NDRPDR cov env 6 2n-zn2-memif-00
-        - 14  # rls2101.rel NDRPDR cov env 6 2n-zn2-vhost-00
-        - 15  # rls2101.rel NDRPDR cov env 6 2n-zn2-vhost-00
-        - 16  # rls2101.rel NDRPDR cov env 6 2n-zn2-vts-00
-
-    vpp-perf-results-2n-clx:
-      csit-vpp-perf-report-coverage-2101-2n-clx:
-        - 1   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-00
-        - 2   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-01
-        - 3   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-02
-        - 4   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-03
-        - 5   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-04
-        - 6   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-05
-        - 7   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-06
-        - 8   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-07
-        - 19  # rls2101.rel NDRPDR cov env 6 2n-clx-ip4tun-00
-        - 20  # rls2101.rel NDRPDR cov env 6 2n-clx-ip4tun-00
-        - 10  # rls2101.rel NDRPDR cov env 6 2n-clx-ip6-00
-        - 11  # rls2101.rel NDRPDR cov env 6 2n-clx-ip6-01
-        - 12  # rls2101.rel NDRPDR cov env 6 2n-clx-l2-00
-        - 13  # rls2101.rel NDRPDR cov env 6 2n-clx-l2-01
-        - 14  # rls2101.rel NDRPDR cov env 6 2n-clx-lb-00
-        - 15  # rls2101.rel NDRPDR cov env 6 2n-clx-memif-00
-        - 16  # rls2101.rel NDRPDR cov env 6 2n-clx-vhost-00
-        - 17  # rls2101.rel NDRPDR cov env 6 2n-clx-vhost-01
-        - 18  # rls2101.rel NDRPDR cov env 6 2n-clx-vts-00
-
-#     vpp-perf-results-2n-icx:
-#       intel-csit-vpp-perf-report-iterative-2101-2n-icx:
-#         - 1   # master NDRPDR iter env 6
-
-    vpp-perf-results-3n-tsh:
-      csit-vpp-perf-report-coverage-2101-3n-tsh:
-        - 1   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-00
-        - 2   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-01
-        - 3   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-02
-        - 4   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-03
-        - 5   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4tun-00
-        - 6   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4tun-01
-        - 7   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip6-00
-        - 8   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip6-01
-        - 9   # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-00
-        - 10  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-01
-        - 11  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-02
-        - 12  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-03
-        - 13  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-04
-        - 19  # rls2101.rel NDRPDR cov env 6 3n-tsh-memif-00
-        - 15  # rls2101.rel NDRPDR cov env 6 3n-tsh-srv6-00
-        - 16  # rls2101.rel NDRPDR cov env 6 3n-tsh-srv6-01
-        - 17  # rls2101.rel NDRPDR cov env 6 3n-tsh-vhost-00
-        - 18  # rls2101.rel NDRPDR cov env 6 3n-tsh-vhost-01
-
-    vpp-perf-results-2n-tx2:
-      csit-vpp-perf-report-coverage-2101-2n-tx2:
-        - 1   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-00
-        - 2   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-01
-        - 3   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-02
-        - 4   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-03
-        - 5   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-04
-        - 6   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-05
-        - 7   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-06
-        - 8   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip6-00
-        - 9   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip6-01
-        - 10  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-00
-        - 11  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-01
-        - 12  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-02
-        - 13  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-03
-        - 15  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-04
-
-    vpp-perf-results-3n-dnv:
-      csit-vpp-perf-report-coverage-2101-3n-dnv:
-        - 1   # rls2101.rel NDRPDR cov env 6 3n-dnv-crypto-00
-        - 2   # rls2101.rel NDRPDR cov env 6 3n-dnv-crypto-01
-        - 3   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-00
-        - 4   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-01
-        - 5   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4tun-00
-        - 6   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip6-00
-        - 7   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip6-01
-        - 8   # rls2101.rel NDRPDR cov env 6 3n-dnv-l2-00
-        - 9   # rls2101.rel NDRPDR cov env 6 3n-dnv-l2-01
-
-    vpp-perf-results-2n-dnv:
-      csit-vpp-perf-report-coverage-2101-2n-dnv:
-        - 1   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-00
-        - 2   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-01
-        - 3   # rls2101.rel NDRPDR cov env 6 2n-dnv-ip6-00
-        - 4   # rls2101.rel NDRPDR cov env 6 2n-dnv-ip6-01
-        - 5   # rls2101.rel NDRPDR cov env 6 2n-dnv-l2-00
-        - 6   # rls2101.rel NDRPDR cov env 6 2n-dnv-l2-01
-
-    vpp-mrr-results-3n-hsw:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 63  # rls2101.rel MRR iter env 6
-
-    vpp-mrr-results-3n-skx:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 35  # rls2101.rel MRR iter env 6
-
-    vpp-mrr-results-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 62  # rls2101.rel MRR iter env 6
-
-    vpp-mrr-results-2n-zn2:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 30  # rls2101.rel MRR iter env 6
-
-    vpp-mrr-results-2n-clx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 53  # rls2101.rel MRR iter env 6
-
-#     vpp-mrr-results-2n-icx:
-#       intel-csit-vpp-perf-report-iterative-2101-2n-icx:
-#         - 1   # master NDRPDR iter env 6
-
-    vpp-mrr-results-3n-tsh:
-      csit-vpp-perf-report-iterative-2101-3n-tsh:
-        - 22  # rls2101.rel MRR iter env 6
-
-    vpp-mrr-results-2n-tx2:
-      csit-vpp-perf-report-iterative-2101-2n-tx2:
-        - 21  # rls2101.rel MRR iter env 6
-
-    vpp-mrr-results-3n-dnv:
-      csit-vpp-perf-report-iterative-2101-3n-dnv:
-        - 32  # rls2101.rel MRR iter env 6
-
-    vpp-mrr-results-2n-dnv:
-      csit-vpp-perf-report-iterative-2101-2n-dnv:
-        - 31  # rls2101.rel MRR iter env 6
-
-    vpp-device-results-ubuntu:
-      csit-vpp-device-2101-ubuntu1804-1n-skx:
-        - 358  # rls2101.rel VPP DEV env 6
-
-    dpdk-perf-results-3n-hsw:
-      csit-dpdk-perf-report-iterative-2101-3n-hsw:
-        - 11  # rls2101 NDRPDR iter env 6
-
-    dpdk-perf-results-3n-skx:
-      csit-dpdk-perf-report-iterative-2101-3n-skx:
-        - 12  # rls2101 NDRPDR iter env 6
-
-    dpdk-perf-results-2n-skx:
-      csit-dpdk-perf-report-iterative-2101-2n-skx:
-        - 11  # rls2101 NDRPDR iter env 6
-
-    dpdk-perf-results-2n-zn2:
-      csit-dpdk-perf-report-iterative-2101-2n-zn2:
-        - 11  # rls2101 NDRPDR iter env 6
-
-    dpdk-perf-results-2n-clx:
-      csit-dpdk-perf-report-iterative-2101-2n-clx:
-        - 12  # rls2101 NDRPDR iter env 6
-
-#    dpdk-perf-results-2n-dnv:
-#      # No data
-#      csit-dpdk-perf-report-iterative-2009-2n-dnv:
-
-#    dpdk-perf-results-3n-dnv:
-#      # No data
-#      csit-dpdk-perf-report-iterative-2009-3n-dnv:
-
-    dpdk-perf-results-3n-tsh:
-      csit-dpdk-perf-report-iterative-2101-3n-tsh:
-        - 21  # rls2101 NDRPDR iter env 6
-
-    dpdk-perf-results-2n-tx2:
-      csit-dpdk-perf-report-iterative-2101-2n-tx2:
-        - 4   # rls2101 NDRPDR iter env 6
-
-###########################################################################
-    # Tables (more than one data set)
-
-    # Performance changes
-
-    vpp-performance-changes-3n-hsw-h1:
-      csit-vpp-perf-report-iterative-2009-3n-hsw:
-        - 9   # rls2005 NDRPDR iter env 5
-        - 10  # rls2005 NDRPDR iter env 5
-        - 11  # rls2005 NDRPDR iter env 5
-        - 12  # rls2005 NDRPDR iter env 5
-        - 13  # rls2005 NDRPDR iter env 5
-        - 14  # rls2005 NDRPDR iter env 5
-        - 15  # rls2005 NDRPDR iter env 5
-        - 16  # rls2005 NDRPDR iter env 5
-        - 17  # rls2005 NDRPDR iter env 5
-        - 19  # rls2005 NDRPDR iter env 5
-    vpp-performance-changes-3n-hsw-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-hsw:
-        - 21  # rls2009 NDRPDR iter env 5
-        - 22  # rls2009 NDRPDR iter env 5
-        - 24  # rls2009 NDRPDR iter env 5
-        - 25  # rls2009 NDRPDR iter env 5
-        - 26  # rls2009 NDRPDR iter env 5
-        - 27  # rls2009 NDRPDR iter env 5
-        - 28  # rls2009 NDRPDR iter env 5
-        - 29  # rls2009 NDRPDR iter env 5
-        - 30  # rls2009 NDRPDR iter env 5
-        - 31  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-3n-hsw-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 19  # rls2009 NDRPDR iter env 6
-        - 20  # rls2009 NDRPDR iter env 6
-        - 21  # rls2009 NDRPDR iter env 6
-        - 22  # rls2009 NDRPDR iter env 6
-        - 23  # rls2009 NDRPDR iter env 6
-        - 24  # rls2009 NDRPDR iter env 6
-        - 25  # rls2009 NDRPDR iter env 6
-        - 26  # rls2009 NDRPDR iter env 6
-        - 27  # rls2009 NDRPDR iter env 6
-        - 28  # rls2009 NDRPDR iter env 6
-    vpp-performance-changes-3n-hsw-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 64  # rls2101.rel NDRPDR iter env 6
-        - 71  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 74  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter env 6
-        - 81  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 83  # rls2101.rel NDRPDR iter env 6
-        - 88  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter env 6
-        - 128 # rls2101.rel NDRPDR iter RND env 6
-        - 129 # rls2101.rel NDRPDR iter RND env 6
-        - 130 # rls2101.rel NDRPDR iter RND env 6
-        - 131 # rls2101.rel NDRPDR iter RND env 6
-        - 132 # rls2101.rel NDRPDR iter RND env 6
-        - 133 # rls2101.rel NDRPDR iter RND env 6
-        - 134 # rls2101.rel NDRPDR iter RND env 6
-        - 135 # rls2101.rel NDRPDR iter RND env 6
-        - 136 # rls2101.rel NDRPDR iter RND env 6
-        - 137 # rls2101.rel NDRPDR iter RND env 6
-
-    vpp-performance-changes-3n-skx-h1:
-      csit-vpp-perf-report-iterative-2009-3n-skx:
-        - 13  # rls2005 NDRPDR iter env 5
-        - 18  # rls2005 NDRPDR iter env 5
-        - 19  # rls2005 NDRPDR iter env 5
-        - 41  # rls2005 NDRPDR iter env 5
-        - 43  # rls2005 NDRPDR iter env 5
-        - 44  # rls2005 NDRPDR iter env 5
-        - 45  # rls2005 NDRPDR iter env 5
-        - 46  # rls2005 NDRPDR iter env 5
-        - 48  # rls2005 NDRPDR iter env 5
-        - 49  # rls2005 NDRPDR iter env 5
-    vpp-performance-changes-3n-skx-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-skx:
-        - 26  # rls2009 NDRPDR iter env 5
-        - 27  # rls2009 NDRPDR iter env 5
-        - 28  # rls2009 NDRPDR iter env 5
-        - 29  # rls2009 NDRPDR iter env 5
-        - 35  # rls2009 NDRPDR iter env 5
-        - 36  # rls2009 NDRPDR iter env 5
-        - 37  # rls2009 NDRPDR iter env 5
-        - 38  # rls2009 NDRPDR iter env 5
-        - 39  # rls2009 NDRPDR iter env 5
-        - 40  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-3n-skx-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 14  # rls2009 NDRPDR iter env 6
-        - 15  # rls2009 NDRPDR iter env 6
-        - 16  # rls2009 NDRPDR iter env 6
-        - 17  # rls2009 NDRPDR iter env 6
-        - 18  # rls2009 NDRPDR iter env 6
-        - 25  # rls2009 NDRPDR iter env 6
-        - 26  # rls2009 NDRPDR iter env 6
-        - 27  # rls2009 NDRPDR iter env 6
-        - 29  # rls2009 NDRPDR iter env 6
-        - 31  # rls2009 NDRPDR iter env 6
-    vpp-performance-changes-3n-skx-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 40  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 47  # rls2101.rel NDRPDR iter env 6
-        - 48  # rls2101.rel NDRPDR iter env 6
-        - 50  # rls2101.rel NDRPDR iter env 6
-
-    vpp-performance-changes-2n-skx-h1:
-      csit-vpp-perf-report-iterative-2009-2n-skx:
-        - 13  # rls2005 NDRPDR iter env 5
-        - 16  # rls2005 NDRPDR iter env 5
-        - 17  # rls2005 NDRPDR iter env 5
-        - 18  # rls2005 NDRPDR iter env 5
-        - 19  # rls2005 NDRPDR iter env 5
-        - 21  # rls2005 NDRPDR iter env 5
-        - 22  # rls2005 NDRPDR iter env 5
-        - 23  # rls2005 NDRPDR iter env 5
-        - 24  # rls2005 NDRPDR iter env 5
-        - 25  # rls2005 NDRPDR iter env 5
-    vpp-performance-changes-2n-skx-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-skx:
-        - 35  # rls2009 NDRPDR iter env 5
-        - 36  # rls2009 NDRPDR iter env 5
-        - 37  # rls2009 NDRPDR iter env 5
-        - 39  # rls2009 NDRPDR iter env 5
-        - 40  # rls2009 NDRPDR iter env 5
-        - 42  # rls2009 NDRPDR iter env 5
-        - 43  # rls2009 NDRPDR iter env 5
-        - 44  # rls2009 NDRPDR iter env 5
-        - 46  # rls2009 NDRPDR iter env 5
-        - 48  # rls2009 NDRPDR iter env 5
-        - 110 # rls2009 NDRPDR iter NAT44 env 5
-        - 111 # rls2009 NDRPDR iter NAT44 env 5
-        - 112 # rls2009 NDRPDR iter NAT44 env 5
-        - 113 # rls2009 NDRPDR iter NAT44 env 5
-        - 114 # rls2009 NDRPDR iter NAT44 env 5
-        - 115 # rls2009 NDRPDR iter NAT44 env 5
-        - 116 # rls2009 NDRPDR iter NAT44 env 5
-        - 118 # rls2009 NDRPDR iter NAT44 env 5
-        - 119 # rls2009 NDRPDR iter NAT44 env 5
-        - 121 # rls2009 NDRPDR iter NAT44 env 5
-    vpp-performance-changes-2n-skx-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 22  # rls2009 NDRPDR iter env 6
-        - 23  # rls2009 NDRPDR iter env 6
-        - 24  # rls2009 NDRPDR iter env 6
-        - 25  # rls2009 NDRPDR iter env 6
-        - 26  # rls2009 NDRPDR iter env 6
-        - 28  # rls2009 NDRPDR iter env 6
-        - 39  # rls2009 NDRPDR iter env 6
-        - 40  # rls2009 NDRPDR iter env 6
-        - 41  # rls2009 NDRPDR iter env 6
-        - 44  # rls2009 NDRPDR iter env 6
-    vpp-performance-changes-2n-skx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 69  # rls2101.rel NDRPDR iter env 6
-        - 70  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 76  # rls2101.rel NDRPDR iter env 6
-        - 77  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 85  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 94  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter RND env 6
-        - 90  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 96  # rls2101.rel NDRPDR iter RND env 6
-        - 98  # rls2101.rel NDRPDR iter RND env 6
-        - 99  # rls2101.rel NDRPDR iter RND env 6
-        - 101 # rls2101.rel NDRPDR iter RND env 6
-        - 102 # rls2101.rel NDRPDR iter RND env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter NAT env 6
-        - 123 # rls2101.rel NDRPDR iter NAT env 6
-        - 124 # rls2101.rel NDRPDR iter NAT env 6
-        - 125 # rls2101.rel NDRPDR iter NAT env 6
-
-    vpp-performance-changes-2n-clx-h1:
-      csit-vpp-perf-report-iterative-2009-2n-clx:
-        - 13  # rls2005 NDRPDR iter env 5
-        - 15  # rls2005 NDRPDR iter env 5
-        - 17  # rls2005 NDRPDR iter env 5
-        - 18  # rls2005 NDRPDR iter env 5
-        - 19  # rls2005 NDRPDR iter env 5
-        - 20  # rls2005 NDRPDR iter env 5
-        - 21  # rls2005 NDRPDR iter env 5
-        - 22  # rls2005 NDRPDR iter env 5
-        - 23  # rls2005 NDRPDR iter env 5
-        - 24  # rls2005 NDRPDR iter env 5
-    vpp-performance-changes-2n-clx-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-clx:
-        - 36  # rls2009 NDRPDR iter env 5
-        - 39  # rls2009 NDRPDR iter env 5
-        - 40  # rls2009 NDRPDR iter env 5
-        - 65  # rls2009 NDRPDR iter env 5
-        - 66  # rls2009 NDRPDR iter env 5
-        - 79  # rls2009 NDRPDR iter env 5
-        - 82  # rls2009 NDRPDR iter env 5
-        - 88  # rls2009 NDRPDR iter env 5
-        - 89  # rls2009 NDRPDR iter env 5
-        - 90  # rls2009 NDRPDR iter env 5
-        - 114 # rls2009 NDRPDR iter NAT44 env 5
-        - 115 # rls2009 NDRPDR iter NAT44 env 5
-        - 116 # rls2009 NDRPDR iter NAT44 env 5
-        - 117 # rls2009 NDRPDR iter NAT44 env 5
-        - 118 # rls2009 NDRPDR iter NAT44 env 5
-        - 119 # rls2009 NDRPDR iter NAT44 env 5
-        - 121 # rls2009 NDRPDR iter NAT44 env 5
-        - 122 # rls2009 NDRPDR iter NAT44 env 5
-        - 123 # rls2009 NDRPDR iter NAT44 env 5
-        - 126 # rls2009 NDRPDR iter NAT44 env 5
-    vpp-performance-changes-2n-clx-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 16  # rls2009 NDRPDR iter env 6
-        - 17  # rls2009 NDRPDR iter env 6
-        - 18  # rls2009 NDRPDR iter env 6
-        - 19  # rls2009 NDRPDR iter env 6
-        - 20  # rls2009 NDRPDR iter env 6
-        - 21  # rls2009 NDRPDR iter env 6
-        - 32  # rls2009 NDRPDR iter env 6
-        - 33  # rls2009 NDRPDR iter env 6
-        - 34  # rls2009 NDRPDR iter env 6
-        - 35  # rls2009 NDRPDR iter env 6
-        - 146 # rls2009 NDRPDR MLX iter env 6
-        - 147 # rls2009 NDRPDR MLX iter env 6
-        - 148 # rls2009 NDRPDR MLX iter env 6
-        - 149 # rls2009 NDRPDR MLX iter env 6
-        - 150 # rls2009 NDRPDR MLX iter env 6
-        - 151 # rls2009 NDRPDR MLX iter env 6
-        - 152 # rls2009 NDRPDR MLX iter env 6
-        - 153 # rls2009 NDRPDR MLX iter env 6
-        - 154 # rls2009 NDRPDR MLX iter env 6
-        - 155 # rls2009 NDRPDR MLX iter env 6
-    vpp-performance-changes-2n-clx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 54  # rls2101.rel NDRPDR iter env 6
-        - 59  # rls2101.rel NDRPDR iter env 6
-        - 60  # rls2101.rel NDRPDR iter env 6
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 66  # rls2101.rel NDRPDR iter env 6
-        - 68  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 90  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter RND env 6
-        - 87  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 94  # rls2101.rel NDRPDR iter RND env 6
-        - 95  # rls2101.rel NDRPDR iter RND env 6
-        - 100 # rls2101.rel NDRPDR iter RND env 6
-        - 106 # rls2101.rel NDRPDR iter RND env 6
-        - 108 # rls2101.rel NDRPDR iter RND env 6
-        - 112 # rls2101.rel NDRPDR iter NAT env 6
-        - 113 # rls2101.rel NDRPDR iter NAT env 6
-        - 114 # rls2101.rel NDRPDR iter NAT env 6
-        - 115 # rls2101.rel NDRPDR iter NAT env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter MLX env 6
-        - 123 # rls2101.rel NDRPDR iter MLX env 6
-        - 124 # rls2101.rel NDRPDR iter MLX env 6
-        - 126 # rls2101.rel NDRPDR iter MLX env 6
-        - 127 # rls2101.rel NDRPDR iter MLX env 6
-        - 128 # rls2101.rel NDRPDR iter MLX env 6
-        - 129 # rls2101.rel NDRPDR iter MLX env 6
-        - 130 # rls2101.rel NDRPDR iter MLX env 6
-        - 131 # rls2101.rel NDRPDR iter MLX env 6
-        - 132 # rls2101.rel NDRPDR iter MLX env 6
-
-    vpp-performance-changes-2n-zn2-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-zn2:
-        - 17  # rls2009 NDRPDR iter env 5
-        - 18  # rls2009 NDRPDR iter env 5
-        - 31  # rls2009 NDRPDR iter env 5
-        - 33  # rls2009 NDRPDR iter env 5
-        - 34  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-2n-zn2-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 9   # rls2009 NDRPDR iter env 6
-        - 10  # rls2009 NDRPDR iter env 6
-        - 11  # rls2009 NDRPDR iter env 6
-        - 12  # rls2009 NDRPDR iter env 6
-        - 13  # rls2009 NDRPDR iter env 6
-        - 20  # rls2009 NDRPDR iter env 6
-        - 21  # rls2009 NDRPDR iter env 6
-        - 22  # rls2009 NDRPDR iter env 6
-        - 25  # rls2009 NDRPDR iter env 6
-        - 26  # rls2009 NDRPDR iter env 6
-    vpp-performance-changes-2n-zn2-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 31  # rls2101.rel NDRPDR iter env 6
-        - 32  # rls2101.rel NDRPDR iter env 6
-        - 33  # rls2101.rel NDRPDR iter env 6
-        - 34  # rls2101.rel NDRPDR iter env 6
-        - 35  # rls2101.rel NDRPDR iter env 6
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 44  # rls2101.rel NDRPDR iter env 6
-        - 49  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter RND env 6
-        - 40  # rls2101.rel NDRPDR iter RND env 6
-        - 41  # rls2101.rel NDRPDR iter RND env 6
-        - 42  # rls2101.rel NDRPDR iter RND env 6
-        - 43  # rls2101.rel NDRPDR iter RND env 6
-        - 45  # rls2101.rel NDRPDR iter RND env 6
-        - 48  # rls2101.rel NDRPDR iter RND env 6
-        - 50  # rls2101.rel NDRPDR iter RND env 6
-        - 51  # rls2101.rel NDRPDR iter RND env 6
-        - 52  # rls2101.rel NDRPDR iter RND env 6
-
-    vpp-performance-changes-2n-dnv-h1:
-      csit-vpp-perf-report-iterative-2009-2n-dnv:
-        - 16  # rls2005 NDRPDR iter env 5
-        - 17  # rls2005 NDRPDR iter env 5
-        - 18  # rls2005 NDRPDR iter env 5
-        - 19  # rls2005 NDRPDR iter env 5
-        - 21  # rls2005 NDRPDR iter env 5
-        - 24  # rls2005 NDRPDR iter env 5
-        - 27  # rls2005 NDRPDR iter env 5
-        - 28  # rls2005 NDRPDR iter env 5
-        - 29  # rls2005 NDRPDR iter env 5
-        - 30  # rls2005 NDRPDR iter env 5
-    vpp-performance-changes-2n-dnv-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-dnv:
-        - 3   # rls2009 NDRPDR iter env 5
-        - 5   # rls2009 NDRPDR iter env 5
-        - 6   # rls2009 NDRPDR iter env 5
-        - 7   # rls2009 NDRPDR iter env 5
-        - 9   # rls2009 NDRPDR iter env 5
-        - 10  # rls2009 NDRPDR iter env 5
-        - 11  # rls2009 NDRPDR iter env 5
-        - 12  # rls2009 NDRPDR iter env 5
-        - 14  # rls2009 NDRPDR iter env 5
-        - 15  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-2n-dnv-ref-env-new:
-      # TODO: Re-test in new env
-      csit-vpp-perf-report-iterative-2009-2n-dnv:
-        - 3   # rls2009 NDRPDR iter env 5
-        - 5   # rls2009 NDRPDR iter env 5
-        - 6   # rls2009 NDRPDR iter env 5
-        - 7   # rls2009 NDRPDR iter env 5
-        - 9   # rls2009 NDRPDR iter env 5
-        - 10  # rls2009 NDRPDR iter env 5
-        - 11  # rls2009 NDRPDR iter env 5
-        - 12  # rls2009 NDRPDR iter env 5
-        - 14  # rls2009 NDRPDR iter env 5
-        - 15  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-2n-dnv-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-dnv:
-        - 32  # rls2101.rel NDRPDR iter env 6
-        - 33  # rls2101.rel NDRPDR iter env 6
-        - 34  # rls2101.rel NDRPDR iter env 6
-        - 35  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 43  # rls2101.rel NDRPDR iter env 6
-        - 44  # rls2101.rel NDRPDR iter env 6
-        - 45  # rls2101.rel NDRPDR iter env 6
-        - 46  # rls2101.rel NDRPDR iter RND env 6
-        - 47  # rls2101.rel NDRPDR iter RND env 6
-        - 48  # rls2101.rel NDRPDR iter RND env 6
-        - 49  # rls2101.rel NDRPDR iter RND env 6
-        - 50  # rls2101.rel NDRPDR iter RND env 6
-        - 51  # rls2101.rel NDRPDR iter RND env 6
-        - 52  # rls2101.rel NDRPDR iter RND env 6
-        - 53  # rls2101.rel NDRPDR iter RND env 6
-        - 54  # rls2101.rel NDRPDR iter RND env 6
-        - 55  # rls2101.rel NDRPDR iter RND env 6
-
-    vpp-performance-changes-3n-dnv-h1:
-      csit-vpp-perf-report-iterative-2009-3n-dnv:
-        - 16  # rls2005 NDRPDR iter env 5
-        - 23  # rls2005 NDRPDR iter env 5
-        - 25  # rls2005 NDRPDR iter env 5
-        - 26  # rls2005 NDRPDR iter env 5
-        - 27  # rls2005 NDRPDR iter env 5
-        - 28  # rls2005 NDRPDR iter env 5
-        - 29  # rls2005 NDRPDR iter env 5
-        - 30  # rls2005 NDRPDR iter env 5
-        - 31  # rls2005 NDRPDR iter env 5
-        - 32  # rls2005 NDRPDR iter env 5
-    vpp-performance-changes-3n-dnv-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-dnv:
-        - 3   # rls2009 NDRPDR iter env 5
-        - 6   # rls2009 NDRPDR iter env 5
-        - 7   # rls2009 NDRPDR iter env 5
-        - 8   # rls2009 NDRPDR iter env 5
-        - 10  # rls2009 NDRPDR iter env 5
-        - 11  # rls2009 NDRPDR iter env 5
-        - 12  # rls2009 NDRPDR iter env 5
-        - 14  # rls2009 NDRPDR iter env 5
-        - 15  # rls2009 NDRPDR iter env 5
-        - 24  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-3n-dnv-ref-env-new:
-      # TODO: Re-test in new env
-      csit-vpp-perf-report-iterative-2009-3n-dnv:
-        - 3   # rls2009 NDRPDR iter env 5
-        - 6   # rls2009 NDRPDR iter env 5
-        - 7   # rls2009 NDRPDR iter env 5
-        - 8   # rls2009 NDRPDR iter env 5
-        - 10  # rls2009 NDRPDR iter env 5
-        - 11  # rls2009 NDRPDR iter env 5
-        - 12  # rls2009 NDRPDR iter env 5
-        - 14  # rls2009 NDRPDR iter env 5
-        - 15  # rls2009 NDRPDR iter env 5
-        - 24  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-3n-dnv-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-dnv:
-        - 33  # rls2101.rel NDRPDR iter env 6
-        - 34  # rls2101.rel NDRPDR iter env 6
-        - 35  # rls2101.rel NDRPDR iter env 6
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 40  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 43  # rls2101.rel NDRPDR iter RND env 6
-        - 44  # rls2101.rel NDRPDR iter RND env 6
-        - 45  # rls2101.rel NDRPDR iter RND env 6
-        - 46  # rls2101.rel NDRPDR iter RND env 6
-        - 47  # rls2101.rel NDRPDR iter RND env 6
-        - 48  # rls2101.rel NDRPDR iter RND env 6
-        - 49  # rls2101.rel NDRPDR iter RND env 6
-        - 50  # rls2101.rel NDRPDR iter RND env 6
-        - 51  # rls2101.rel NDRPDR iter RND env 6
-        - 52  # rls2101.rel NDRPDR iter RND env 6
-
-    vpp-performance-changes-3n-tsh-h1:
-      csit-vpp-perf-report-iterative-2009-3n-tsh:
-        - 8   # rls2005 NDRPDR iter env 5
-        - 11  # rls2005 NDRPDR iter env 5
-        - 12  # rls2005 NDRPDR iter env 5
-        - 24  # rls2005 NDRPDR iter env 5
-        - 27  # rls2005 NDRPDR iter env 5
-        - 29  # rls2005 NDRPDR iter env 5
-        - 31  # rls2005 NDRPDR iter env 5
-        - 39  # rls2005 NDRPDR iter env 5
-        - 40  # rls2005 NDRPDR iter env 5
-        - 42  # rls2005 NDRPDR iter env 5
-    vpp-performance-changes-3n-tsh-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-tsh:
-        - 14  # rls2009 NDRPDR iter env 5
-        - 20  # rls2009 NDRPDR iter env 5
-        - 21  # rls2009 NDRPDR iter env 5
-        - 22  # rls2009 NDRPDR iter env 5
-        - 23  # rls2009 NDRPDR iter env 5
-        - 28  # rls2009 NDRPDR iter env 5
-        - 30  # rls2009 NDRPDR iter env 5
-        - 33  # rls2009 NDRPDR iter env 5
-        - 38  # rls2009 NDRPDR iter env 5
-        - 41  # rls2009 NDRPDR iter env 5
-    vpp-performance-changes-3n-tsh-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-3n-tsh:
-        - 8   # rls2009 NDRPDR iter env 6
-        - 13  # rls2009 NDRPDR iter env 6
-        - 14  # rls2009 NDRPDR iter env 6
-        - 15  # rls2009 NDRPDR iter env 6
-        - 16  # rls2009 NDRPDR iter env 6
-        - 17  # rls2009 NDRPDR iter env 6
-        - 18  # rls2009 NDRPDR iter env 6
-        - 19  # rls2009 NDRPDR iter env 6
-        - 21  # rls2009 NDRPDR iter env 6
-    vpp-performance-changes-3n-tsh-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-tsh:
-        - 23  # rls2101.rel NDRPDR iter env 6
-        - 24  # rls2101.rel NDRPDR iter env 6
-        - 25  # rls2101.rel NDRPDR iter env 6
-        - 26  # rls2101.rel NDRPDR iter env 6
-        - 27  # rls2101.rel NDRPDR iter env 6
-        - 28  # rls2101.rel NDRPDR iter env 6
-        - 29  # rls2101.rel NDRPDR iter env 6
-        - 30  # rls2101.rel NDRPDR iter env 6
-        - 31  # rls2101.rel NDRPDR iter env 6
-        - 32  # rls2101.rel NDRPDR iter env 6
-
-#     vpp-performance-changes-2n-tx2-h1:
-#       csit-vpp-perf-report-iterative-2009-2n-tx2:
-#         -
-#     vpp-performance-changes-2n-tx2-ref-env-old:
-#       csit-vpp-perf-report-iterative-2009-2n-tx2:
-#         -
-    vpp-performance-changes-2n-tx2-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-tx2:
-        - 6   # rls2009 NDRPDR iter env 6
-        - 7   # rls2009 NDRPDR iter env 6
-        - 11  # rls2009 NDRPDR iter env 6
-        - 12  # rls2009 NDRPDR iter env 6
-        - 13  # rls2009 NDRPDR iter env 6
-        - 16  # rls2009 NDRPDR iter env 6
-        - 17  # rls2009 NDRPDR iter env 6
-        - 18  # rls2009 NDRPDR iter env 6
-        - 19  # rls2009 NDRPDR iter env 6
-        - 20  # rls2009 NDRPDR iter env 6
-    vpp-performance-changes-2n-tx2-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-tx2:
-        - 22  # rls2101.rel NDRPDR iter env 6
-        - 23  # rls2101.rel NDRPDR iter env 6
-        - 24  # rls2101.rel NDRPDR iter env 6
-        - 25  # rls2101.rel NDRPDR iter env 6
-        - 26  # rls2101.rel NDRPDR iter env 6
-        - 27  # rls2101.rel NDRPDR iter env 6
-        - 28  # rls2101.rel NDRPDR iter env 6
-        - 29  # rls2101.rel NDRPDR iter env 6
-        - 30  # rls2101.rel NDRPDR iter env 6
-        - 31  # rls2101.rel NDRPDR iter env 6
-
-    vpp-soak-vs-ndr-2n-skx-ref:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 69  # rls2101.rel NDRPDR iter env 6
-        - 70  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 76  # rls2101.rel NDRPDR iter env 6
-        - 77  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 85  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 94  # rls2101.rel NDRPDR iter env 6
-    vpp-soak-vs-ndr-2n-skx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 68  # rls2101.rel soak env 6
-        - 73  # rls2101.rel soak env 6
-    vpp-soak-vs-ndr-2n-skx:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 69  # rls2101.rel NDRPDR iter env 6
-        - 70  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 76  # rls2101.rel NDRPDR iter env 6
-        - 77  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 85  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 94  # rls2101.rel NDRPDR iter env 6
-        - 68  # rls2101.rel soak env 6
-        - 73  # rls2101.rel soak env 6
-
-    vpp-soak-vs-ndr-2n-clx-ref:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 54  # rls2101.rel NDRPDR iter env 6
-        - 59  # rls2101.rel NDRPDR iter env 6
-        - 60  # rls2101.rel NDRPDR iter env 6
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 66  # rls2101.rel NDRPDR iter env 6
-        - 68  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 90  # rls2101.rel NDRPDR iter env 6
-    vpp-soak-vs-ndr-2n-clx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 58  # rls2101.rel soak env 6
-        - 61  # rls2101.rel soak env 6
-    vpp-soak-vs-ndr-2n-clx:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 54  # rls2101.rel NDRPDR iter env 6
-        - 59  # rls2101.rel NDRPDR iter env 6
-        - 60  # rls2101.rel NDRPDR iter env 6
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 66  # rls2101.rel NDRPDR iter env 6
-        - 68  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 90  # rls2101.rel NDRPDR iter env 6
-        - 58  # rls2101.rel soak env 6
-        - 61  # rls2101.rel soak env 6
-
-    vpp-performance-changes-3n-hsw-mrr-h1:
-      csit-vpp-perf-report-iterative-2009-3n-hsw:
-        - 18  # rls2005 MRR iter env 5
-    vpp-performance-changes-3n-hsw-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-hsw:
-        - 23  # rls2009 MRR iter env 5
-    vpp-performance-changes-3n-hsw-mrr-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 17  # rls2009 MRR iter env 6
-    vpp-performance-changes-3n-hsw-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 63  # rls2101.rel MRR iter env 6
-
-    vpp-performance-changes-3n-skx-mrr-h1:
-      csit-vpp-perf-report-iterative-2009-3n-skx:
-        - 17  # rls2005 MRR iter env 5
-    vpp-performance-changes-3n-skx-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-skx:
-        - 24  # rls2009 MRR iter env 5
-    vpp-performance-changes-3n-skx-mrr-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 34  # rls2009 MRR iter env 6
-    vpp-performance-changes-3n-skx-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 35  # rls2101.rel MRR iter env 6
-
-    vpp-performance-changes-2n-skx-mrr-h1:
-      csit-vpp-perf-report-iterative-2009-2n-skx:
-        - 20  # rls2005 MRR iter env 5
-    vpp-performance-changes-2n-skx-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-skx:
-        - 120 # rls2009 MRR iter env 5
-    vpp-performance-changes-2n-skx-mrr-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 21  # rls2009 MRR iter env 6
-    vpp-performance-changes-2n-skx-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 62  # rls2101.rel MRR iter env 6
-
-    vpp-performance-changes-2n-clx-mrr-h1:
-      csit-vpp-perf-report-iterative-2009-2n-clx:
-        - 77  # rls2005 MRR iter env 5
-    vpp-performance-changes-2n-clx-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-clx:
-        - 125 # rls2009 MRR iter env 5
-    vpp-performance-changes-2n-clx-mrr-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 15  # rls2009 MRR iter env 6
-        - 142 # rls2009 MRR MLX iter env 6
-    vpp-performance-changes-2n-clx-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 53  # rls2101.rel MRR iter env 6
-        - 133 # rls2101.rel MRR MLX iter env 6
-
-    vpp-performance-changes-2n-zn2-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-zn2:
-        - 15  # rls2009 MRR iter env 5
-    vpp-performance-changes-2n-zn2-mrr-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 8   # rls2009 MRR iter env6
-    vpp-performance-changes-2n-zn2-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-zn2:
-        - 30  # rls2101.rel MRR iter env 6
-
-    vpp-performance-changes-2n-dnv-mrr-h1:
-      csit-vpp-perf-report-iterative-2009-2n-dnv:
-        - 23  # rls2005 MRR iter env 5
-    vpp-performance-changes-2n-dnv-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-2n-dnv:
-        - 13  # rls2009 MRR iter env 5
-    vpp-performance-changes-2n-dnv-mrr-ref-env-new:
-      # TODO: Re-test in new env
-      csit-vpp-perf-report-iterative-2009-2n-dnv:
-        - 13  # rls2009 MRR iter env 5
-    vpp-performance-changes-2n-dnv-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-dnv:
-        - 31  # rls2101.rel MRR iter env 6
-
-    vpp-performance-changes-3n-dnv-mrr-h1:
-      csit-vpp-perf-report-iterative-2009-3n-dnv:
-        - 19  # rls2005 MRR iter env 5
-    vpp-performance-changes-3n-dnv-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-dnv:
-        - 22  # rls2009 MRR iter env 5
-    vpp-performance-changes-3n-dnv-mrr-ref-env-new:
-      # TODO: Re-test in new env
-      csit-vpp-perf-report-iterative-2009-3n-dnv:
-        - 22  # rls2009 MRR iter env 5
-    vpp-performance-changes-3n-dnv-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-dnv:
-        - 32  # rls2101.rel MRR iter env 6
-
-    vpp-performance-changes-3n-tsh-mrr-h1:
-      csit-vpp-perf-report-iterative-2009-3n-tsh:
-        - 13  # rls2005 MRR iter env 5
-    vpp-performance-changes-3n-tsh-mrr-ref-env-old:
-      csit-vpp-perf-report-iterative-2009-3n-tsh:
-        - 15  # rls2009 MRR iter env 5
-    vpp-performance-changes-3n-tsh-mrr-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-3n-tsh:
-        - 7   # rls2009 MRR iter env 6
-    vpp-performance-changes-3n-tsh-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-tsh:
-        - 22  # rls2101.rel MRR iter env 6
-
-#     vpp-performance-changes-2n-tx2-mrr-h1:
-#       csit-vpp-perf-report-iterative-2009-2n-tx2:
-#         -
-#     vpp-performance-changes-2n-tx2-mrr-ref-env-old:
-#       csit-vpp-perf-report-iterative-2009-2n-tx2:
-#         -
-    vpp-performance-changes-2n-tx2-mrr-ref-env-new:
-      csit-vpp-perf-report-iterative-2101-2n-tx2:
-        - 5   # rls2009 MRR iter env 6
-    vpp-performance-changes-2n-tx2-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-tx2:
-        - 21  # rls2101.rel MRR iter env 6
-
-    dpdk-performance-changes-3n-hsw-h1:
-      csit-dpdk-perf-report-iterative-2005-3n-hsw:
-        - 25  # NDRPDR iter
-        - 26  # NDRPDR iter
-        - 27  # NDRPDR iter
-        - 28  # NDRPDR iter
-        - 29  # NDRPDR iter
-        - 30  # NDRPDR iter
-        - 31  # NDRPDR iter
-        - 32  # NDRPDR iter
-        - 33  # NDRPDR iter
-        - 34  # NDRPDR iter
-    dpdk-performance-changes-3n-hsw-ref:
-      csit-dpdk-perf-report-iterative-2009-3n-hsw:
-        - 6   # NDRPDR iter env5
-        - 7   # NDRPDR iter env5
-        - 8   # NDRPDR iter env5
-        - 9   # NDRPDR iter env5
-        - 10  # NDRPDR iter env5
-        - 11  # NDRPDR iter env5
-        - 12  # NDRPDR iter env5
-        - 13  # NDRPDR iter env5
-        - 14  # NDRPDR iter env5
-        - 15  # NDRPDR iter env5
-    dpdk-performance-changes-3n-hsw-cmp:
-      csit-dpdk-perf-report-iterative-2101-3n-hsw:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 16  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-    dpdk-performance-changes-3n-skx-h1:
-      csit-dpdk-perf-report-iterative-2005-3n-skx:
-        - 28  # NDRPDR iter
-        - 29  # NDRPDR iter
-        - 30  # NDRPDR iter
-        - 31  # NDRPDR iter
-        - 32  # NDRPDR iter
-        - 33  # NDRPDR iter
-        - 34  # NDRPDR iter
-        - 35  # NDRPDR iter
-        - 36  # NDRPDR iter
-        - 37  # NDRPDR iter
-    dpdk-performance-changes-3n-skx-ref:
-      csit-dpdk-perf-report-iterative-2009-3n-skx:
-        - 4   # NDRPDR sel env5
-        - 5   # NDRPDR sel env5
-        - 6   # NDRPDR sel env5
-        - 7   # NDRPDR sel env5
-        - 8   # NDRPDR sel env5
-        - 9   # NDRPDR sel env5
-        - 14  # NDRPDR sel env5
-        - 11  # NDRPDR sel env5
-        - 12  # NDRPDR sel env5
-        - 13  # NDRPDR sel env5
-    dpdk-performance-changes-3n-skx-cmp:
-      csit-dpdk-perf-report-iterative-2101-3n-skx:
-        - 12  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-        - 22  # rls2101 NDRPDR iter env 6
-        - 25  # rls2101 NDRPDR iter env 6
-        - 26  # rls2101 NDRPDR iter env 6
-
-    dpdk-performance-changes-2n-skx-h1:
-      csit-dpdk-perf-report-iterative-2005-2n-skx:
-        - 20  # NDRPDR iter
-        - 21  # NDRPDR iter
-        - 22  # NDRPDR iter
-        - 23  # NDRPDR iter
-        - 24  # NDRPDR iter
-        - 25  # NDRPDR iter
-        - 26  # NDRPDR iter
-        - 27  # NDRPDR iter
-        - 28  # NDRPDR iter
-        - 29  # NDRPDR iter
-    dpdk-performance-changes-2n-skx-ref:
-      csit-dpdk-perf-report-iterative-2009-2n-skx:
-        - 4   # NDRPDR iter env5
-        - 5   # NDRPDR iter env5
-        - 6   # NDRPDR iter env5
-        - 7   # NDRPDR iter env5
-        - 8   # NDRPDR iter env5
-        - 9   # NDRPDR iter env5
-        - 10  # NDRPDR iter env5
-        - 11  # NDRPDR iter env5
-        - 12  # NDRPDR iter env5
-        - 13  # NDRPDR iter env5
-    dpdk-performance-changes-2n-skx-cmp:
-      csit-dpdk-perf-report-iterative-2101-2n-skx:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-    dpdk-performance-changes-2n-clx-h1:
-      csit-dpdk-perf-report-iterative-2005-2n-clx:
-        - 20  # NDRPDR iter
-        - 21  # NDRPDR iter
-        - 22  # NDRPDR iter
-        - 23  # NDRPDR iter
-        - 24  # NDRPDR iter
-        - 25  # NDRPDR iter
-        - 26  # NDRPDR iter
-        - 27  # NDRPDR iter
-        - 28  # NDRPDR iter
-        - 29  # NDRPDR iter
-    dpdk-performance-changes-2n-clx-ref:
-      csit-dpdk-perf-report-iterative-2009-2n-clx:
-        - 4   # NDRPDR iter env5
-        - 5   # NDRPDR iter env5
-        - 6   # NDRPDR iter env5
-        - 7   # NDRPDR iter env5
-        - 8   # NDRPDR iter env5
-        - 9   # NDRPDR iter env5
-        - 10  # NDRPDR iter env5
-        - 11  # NDRPDR iter env5
-        - 12  # NDRPDR iter env5
-        - 13  # NDRPDR iter env5
-    dpdk-performance-changes-2n-clx-cmp:
-      csit-dpdk-perf-report-iterative-2101-2n-clx:
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 22  # rls2101 NDRPDR iter env 6
-
-    dpdk-performance-changes-2n-zn2-ref:
-      csit-dpdk-perf-report-iterative-2009-2n-zn2:
-        - 16  # NDRPDR iter env5
-        - 21  # NDRPDR iter env5
-        - 22  # NDRPDR iter env5
-        - 23  # NDRPDR iter env5
-        - 24  # NDRPDR iter env5
-        - 25  # NDRPDR iter env5
-        - 29  # NDRPDR iter env5
-    dpdk-performance-changes-2n-zn2-cmp:
-      csit-dpdk-perf-report-iterative-2101-2n-zn2:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 16  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-#    dpdk-performance-changes-2n-dnv-h1:
-#      csit-dpdk-perf-verify-2101-2n-dnv:
-#        - 9   # NDRPDR sel
-#        - 10  # NDRPDR sel
-#        - 11  # NDRPDR sel
-#        - 12  # NDRPDR sel
-#        - 13  # NDRPDR sel
-#        - 14  # NDRPDR sel
-#        - 15  # NDRPDR sel
-#        - 16  # NDRPDR sel
-#        - 17  # NDRPDR sel
-#        - 18  # NDRPDR sel
-#    dpdk-performance-changes-2n-dnv-ref:
-#      # No data
-#    dpdk-performance-changes-2n-dnv-cmp:
-#      # No data
-#      csit-dpdk-perf-report-iterative-2009-2n-dnv:
-
-#    dpdk-performance-changes-3n-dnv-h1:
-#      csit-dpdk-perf-verify-2101-3n-dnv:
-#        - 12  # NDRPDR sel
-#        - 13  # NDRPDR sel
-#        - 14  # NDRPDR sel
-#        - 15  # NDRPDR sel
-#        - 16  # NDRPDR sel
-#        - 17  # NDRPDR sel
-#        - 18  # NDRPDR sel
-#        - 19  # NDRPDR sel
-#        - 20  # NDRPDR sel
-#        - 22  # NDRPDR sel
-#    dpdk-performance-changes-3n-dnv-ref:
-#      # No data
-#    dpdk-performance-changes-3n-dnv-cmp:
-#      # No data
-#      csit-dpdk-perf-report-iterative-2009-3n-dnv:
-
-    dpdk-performance-changes-3n-tsh-h1:
-      csit-dpdk-perf-report-iterative-2005-3n-tsh:
-        - 5   # NDRPDR sel
-    dpdk-performance-changes-3n-tsh-ref:
-      csit-dpdk-perf-report-iterative-2009-3n-tsh:
-        - 1   # NDRPDR iter env5
-        - 2   # NDRPDR iter env5
-        - 3   # NDRPDR iter env5
-        - 4   # NDRPDR iter env5
-        - 5   # NDRPDR iter env5
-        - 6   # NDRPDR iter env5
-        - 7   # NDRPDR iter env5
-        - 9   # NDRPDR iter env5
-        - 10  # NDRPDR iter env5
-        - 11  # NDRPDR iter env5
-    dpdk-performance-changes-3n-tsh-cmp:
-      csit-dpdk-perf-report-iterative-2101-3n-tsh:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 16  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-    # Compare testbeds
-
-    vpp-compare-testbeds-ref:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 64  # rls2101.rel NDRPDR iter env 6
-        - 71  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 74  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter env 6
-        - 81  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 83  # rls2101.rel NDRPDR iter env 6
-        - 88  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter env 6
-    vpp-compare-testbeds-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 40  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 47  # rls2101.rel NDRPDR iter env 6
-        - 48  # rls2101.rel NDRPDR iter env 6
-        - 50  # rls2101.rel NDRPDR iter env 6
-
-    vpp-compare-testbeds-skx-clx-ref:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 69  # rls2101.rel NDRPDR iter env 6
-        - 70  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 76  # rls2101.rel NDRPDR iter env 6
-        - 77  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 85  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 94  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter RND env 6
-        - 90  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 96  # rls2101.rel NDRPDR iter RND env 6
-        - 98  # rls2101.rel NDRPDR iter RND env 6
-        - 99  # rls2101.rel NDRPDR iter RND env 6
-        - 101 # rls2101.rel NDRPDR iter RND env 6
-        - 102 # rls2101.rel NDRPDR iter RND env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter NAT env 6
-        - 123 # rls2101.rel NDRPDR iter NAT env 6
-        - 124 # rls2101.rel NDRPDR iter NAT env 6
-        - 125 # rls2101.rel NDRPDR iter NAT env 6
-    vpp-compare-testbeds-skx-clx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 54  # rls2101.rel NDRPDR iter env 6
-        - 59  # rls2101.rel NDRPDR iter env 6
-        - 60  # rls2101.rel NDRPDR iter env 6
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 66  # rls2101.rel NDRPDR iter env 6
-        - 68  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 90  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter RND env 6
-        - 87  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 94  # rls2101.rel NDRPDR iter RND env 6
-        - 95  # rls2101.rel NDRPDR iter RND env 6
-        - 100 # rls2101.rel NDRPDR iter RND env 6
-        - 106 # rls2101.rel NDRPDR iter RND env 6
-        - 108 # rls2101.rel NDRPDR iter RND env 6
-        - 112 # rls2101.rel NDRPDR iter NAT env 6
-        - 113 # rls2101.rel NDRPDR iter NAT env 6
-        - 114 # rls2101.rel NDRPDR iter NAT env 6
-        - 115 # rls2101.rel NDRPDR iter NAT env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter MLX env 6
-        - 123 # rls2101.rel NDRPDR iter MLX env 6
-        - 124 # rls2101.rel NDRPDR iter MLX env 6
-        - 126 # rls2101.rel NDRPDR iter MLX env 6
-        - 127 # rls2101.rel NDRPDR iter MLX env 6
-        - 128 # rls2101.rel NDRPDR iter MLX env 6
-        - 129 # rls2101.rel NDRPDR iter MLX env 6
-        - 130 # rls2101.rel NDRPDR iter MLX env 6
-        - 131 # rls2101.rel NDRPDR iter MLX env 6
-        - 132 # rls2101.rel NDRPDR iter MLX env 6
-
-#     vpp-compare-testbeds-clx-icx-ref:
-#       csit-vpp-perf-report-iterative-2101-2n-clx:
-#         - 54  # rls2101.rel NDRPDR iter env 6
-#         - 59  # rls2101.rel NDRPDR iter env 6
-#         - 60  # rls2101.rel NDRPDR iter env 6
-#         - 63  # rls2101.rel NDRPDR iter env 6
-#         - 66  # rls2101.rel NDRPDR iter env 6
-#         - 68  # rls2101.rel NDRPDR iter env 6
-#         - 73  # rls2101.rel NDRPDR iter env 6
-#         - 75  # rls2101.rel NDRPDR iter env 6
-#         - 86  # rls2101.rel NDRPDR iter env 6
-#         - 90  # rls2101.rel NDRPDR iter env 6
-#     vpp-compare-testbeds-clx-icx-cmp:
-#       intel-csit-vpp-perf-report-iterative-2101-2n-icx:
-#         - 1   # master NDRPDR iter env 6
-
-    vpp-compare-testbeds-hsw-clx-ref:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 64  # rls2101.rel NDRPDR iter env 6
-        - 71  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 74  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter env 6
-        - 81  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 83  # rls2101.rel NDRPDR iter env 6
-        - 88  # rls2101.rel NDRPDR iter env 6
-        - 89  # rls2101.rel NDRPDR iter env 6
-        - 128 # rls2101.rel NDRPDR iter RND env 6
-        - 129 # rls2101.rel NDRPDR iter RND env 6
-        - 130 # rls2101.rel NDRPDR iter RND env 6
-        - 131 # rls2101.rel NDRPDR iter RND env 6
-        - 132 # rls2101.rel NDRPDR iter RND env 6
-        - 133 # rls2101.rel NDRPDR iter RND env 6
-        - 134 # rls2101.rel NDRPDR iter RND env 6
-        - 135 # rls2101.rel NDRPDR iter RND env 6
-        - 136 # rls2101.rel NDRPDR iter RND env 6
-        - 137 # rls2101.rel NDRPDR iter RND env 6
-    vpp-compare-testbeds-hsw-clx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 54  # rls2101.rel NDRPDR iter env 6
-        - 59  # rls2101.rel NDRPDR iter env 6
-        - 60  # rls2101.rel NDRPDR iter env 6
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 66  # rls2101.rel NDRPDR iter env 6
-        - 68  # rls2101.rel NDRPDR iter env 6
-        - 73  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 90  # rls2101.rel NDRPDR iter env 6
-        - 80  # rls2101.rel NDRPDR iter RND env 6
-        - 87  # rls2101.rel NDRPDR iter RND env 6
-        - 91  # rls2101.rel NDRPDR iter RND env 6
-        - 92  # rls2101.rel NDRPDR iter RND env 6
-        - 93  # rls2101.rel NDRPDR iter RND env 6
-        - 94  # rls2101.rel NDRPDR iter RND env 6
-        - 95  # rls2101.rel NDRPDR iter RND env 6
-        - 100 # rls2101.rel NDRPDR iter RND env 6
-        - 106 # rls2101.rel NDRPDR iter RND env 6
-        - 108 # rls2101.rel NDRPDR iter RND env 6
-        - 112 # rls2101.rel NDRPDR iter NAT env 6
-        - 113 # rls2101.rel NDRPDR iter NAT env 6
-        - 114 # rls2101.rel NDRPDR iter NAT env 6
-        - 115 # rls2101.rel NDRPDR iter NAT env 6
-        - 116 # rls2101.rel NDRPDR iter NAT env 6
-        - 117 # rls2101.rel NDRPDR iter NAT env 6
-        - 118 # rls2101.rel NDRPDR iter NAT env 6
-        - 119 # rls2101.rel NDRPDR iter NAT env 6
-        - 120 # rls2101.rel NDRPDR iter NAT env 6
-        - 121 # rls2101.rel NDRPDR iter NAT env 6
-        - 122 # rls2101.rel NDRPDR iter MLX env 6
-        - 123 # rls2101.rel NDRPDR iter MLX env 6
-        - 124 # rls2101.rel NDRPDR iter MLX env 6
-        - 126 # rls2101.rel NDRPDR iter MLX env 6
-        - 127 # rls2101.rel NDRPDR iter MLX env 6
-        - 128 # rls2101.rel NDRPDR iter MLX env 6
-        - 129 # rls2101.rel NDRPDR iter MLX env 6
-        - 130 # rls2101.rel NDRPDR iter MLX env 6
-        - 131 # rls2101.rel NDRPDR iter MLX env 6
-        - 132 # rls2101.rel NDRPDR iter MLX env 6
-
-    vpp-compare-testbeds-mrr-ref:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 63  # rls2101.rel MRR iter env 6
-    vpp-compare-testbeds-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 35  # rls2101.rel MRR iter env 6
-
-    vpp-compare-testbeds-mrr-skx-clx-ref:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 62  # rls2101.rel MRR iter env 6
-    vpp-compare-testbeds-mrr-skx-clx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 53  # rls2101.rel MRR iter env 6
-
-    vpp-compare-testbeds-mrr-hsw-clx-ref:
-      csit-vpp-perf-report-iterative-2101-3n-hsw:
-        - 63  # rls2101.rel MRR iter env 6
-    vpp-compare-testbeds-mrr-hsw-clx-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-clx:
-        - 53  # rls2101.rel MRR iter env 6
-
-#     vpp-compare-testbeds-mrr-clx-icx-ref:
-#       csit-vpp-perf-report-iterative-2101-2n-clx:
-#         - 53  # rls2101.rel MRR iter env 6
-#     vpp-compare-testbeds-mrr-clx-icx-cmp:
-#       intel-csit-vpp-perf-report-iterative-2101-2n-icx:
-#         - 1   # master NDRPDR iter env 6
-
-    dpdk-compare-testbeds-ref:
-      csit-dpdk-perf-report-iterative-2101-3n-hsw:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 16  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-    dpdk-compare-testbeds-cmp:
-      csit-dpdk-perf-report-iterative-2101-3n-skx:
-        - 12  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-        - 22  # rls2101 NDRPDR iter env 6
-        - 25  # rls2101 NDRPDR iter env 6
-        - 26  # rls2101 NDRPDR iter env 6
-
-    dpdk-compare-testbeds-skx-clx-ref:
-      csit-dpdk-perf-report-iterative-2101-2n-skx:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-    dpdk-compare-testbeds-skx-clx-cmp:
-      csit-dpdk-perf-report-iterative-2101-2n-clx:
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 22  # rls2101 NDRPDR iter env 6
-
-    # Compare topologies
-
-    vpp-compare-topologies-ref:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 36  # rls2101.rel NDRPDR iter env 6
-        - 37  # rls2101.rel NDRPDR iter env 6
-        - 38  # rls2101.rel NDRPDR iter env 6
-        - 39  # rls2101.rel NDRPDR iter env 6
-        - 40  # rls2101.rel NDRPDR iter env 6
-        - 41  # rls2101.rel NDRPDR iter env 6
-        - 42  # rls2101.rel NDRPDR iter env 6
-        - 47  # rls2101.rel NDRPDR iter env 6
-        - 48  # rls2101.rel NDRPDR iter env 6
-        - 50  # rls2101.rel NDRPDR iter env 6
-    vpp-compare-topologies-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 63  # rls2101.rel NDRPDR iter env 6
-        - 69  # rls2101.rel NDRPDR iter env 6
-        - 70  # rls2101.rel NDRPDR iter env 6
-        - 75  # rls2101.rel NDRPDR iter env 6
-        - 76  # rls2101.rel NDRPDR iter env 6
-        - 77  # rls2101.rel NDRPDR iter env 6
-        - 82  # rls2101.rel NDRPDR iter env 6
-        - 85  # rls2101.rel NDRPDR iter env 6
-        - 86  # rls2101.rel NDRPDR iter env 6
-        - 94  # rls2101.rel NDRPDR iter env 6
-
-    vpp-compare-topologies-mrr-ref:
-      csit-vpp-perf-report-iterative-2101-3n-skx:
-        - 35  # rls2101.rel MRR iter env 6
-    vpp-compare-topologies-mrr-cmp:
-      csit-vpp-perf-report-iterative-2101-2n-skx:
-        - 62  # rls2101.rel MRR iter env 6
-
-    dpdk-compare-topologies-ref:
-      csit-dpdk-perf-report-iterative-2101-3n-skx:
-        - 12  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-        - 22  # rls2101 NDRPDR iter env 6
-        - 25  # rls2101 NDRPDR iter env 6
-        - 26  # rls2101 NDRPDR iter env 6
-    dpdk-compare-topologies-cmp:
-      csit-dpdk-perf-report-iterative-2101-2n-skx:
-        - 11  # rls2101 NDRPDR iter env 6
-        - 12  # rls2101 NDRPDR iter env 6
-        - 13  # rls2101 NDRPDR iter env 6
-        - 14  # rls2101 NDRPDR iter env 6
-        - 15  # rls2101 NDRPDR iter env 6
-        - 17  # rls2101 NDRPDR iter env 6
-        - 18  # rls2101 NDRPDR iter env 6
-        - 19  # rls2101 NDRPDR iter env 6
-        - 20  # rls2101 NDRPDR iter env 6
-        - 21  # rls2101 NDRPDR iter env 6
-
-  plot-layouts:
-
-    plot-soak-throughput:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Critical Rate Lower Bound [Mpps]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4r"
-        tickformat: ".3r"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-        zeroline: False
-        range: [0,50]
-      autosize: False
-      margin:
-        t: 50
-        b: 0
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-      width: 700
-      height: 900
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-service-density:
-      titlefont:
-        size: 16
-      xaxis:
-        side: "top"
-        autorange: True
-        fixedrange: False
-        showgrid: False
-        showline: False
-        showticklabels: False
-        ticks: ""
-        ticklen: 0
-        tickwidth: 0
-        zeroline: False
-      yaxis:
-        autorange: "reversed"
-        showgrid: False
-        showline: False
-        showticklabels: False
-        ticks: ""
-        ticklen: 0
-        tickwidth: 0
-        zeroline: False
-      showlegend: False
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      width: 700
-      height: 700
-      hoverlabel:
-        namelength: -1
-
-    plot-hoststack:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Bandwidth [Gbps]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        rangemode: "tozero"
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(230, 230, 230)"
-        tickformat: ".3s"
-        tickfont:
-          size: 14
-        zeroline: False
-      autosize: False
-      margin:
-        t: 50
-        b: 20
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-      width: 700
-      height: 800
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-throughput:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Packet Throughput [Mpps]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4r"
-        tickformat: ".3r"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-        zeroline: False
-        range: [0,50]
-      autosize: False
-      margin:
-        t: 50
-        b: 0
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-      width: 700
-      height: 900
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-throughput-gbps:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Data Throughput [Gbps]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4r"
-        tickformat: ".3r"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-        zeroline: False
-        range: [0,10]
-      autosize: False
-      margin:
-        t: 50
-        b: 0
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-      width: 700
-      height: 900
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-cps:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Connection Rate [Mcps]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4r"
-        tickformat: ".3s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-        zeroline: False
-        range: [0,10]
-      autosize: False
-      margin:
-        t: 50
-        b: 0
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-      width: 700
-      height: 900
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-throughput-speedup-analysis:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Number of Cores [Qty]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(238, 238, 238)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Packet Throughput [Mpps]</b>"
-        titlefont:
-          size: 14
-        type: "linear"
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickformat: ".4s"
-        tickfont:
-          size: 14
-        zeroline: True
-        rangemode: "tozero"
-        range: [0,100]
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.2
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-      autosize: False
-      margin:
-          't': 50
-          'b': 150
-          'l': 85
-          'r': 10
-      showlegend: True
-      width: 700
-      height: 700
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-      annotations: [
-        {
-          text: "_ _          __          ...",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.14,
-          font: {
-            family: "Consolas, Courier New",
-            size: 13
-          },
-        },
-        {
-          text: "    Perfect     Measured     Limit",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.15,
-          font: {
-            family: "Consolas, Courier New",
-            size: 13
-          },
-        },
-      ]
-
-    plot-throughput-speedup-analysis-gbps:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Number of Cores [Qty]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(238, 238, 238)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Packet Throughput [Gbps]</b>"
-        titlefont:
-          size: 14
-        type: "linear"
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickformat: ".4s"
-        tickfont:
-          size: 14
-        zeroline: True
-        rangemode: "tozero"
-        range: [0,100]
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.2
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-      autosize: False
-      margin:
-          't': 50
-          'b': 150
-          'l': 85
-          'r': 10
-      showlegend: True
-      width: 700
-      height: 700
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-      annotations: [
-        {
-          text: "_ _          __",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.13,
-          font: {
-            family: "Consolas, Courier New",
-            size: 13
-          },
-        },
-        {
-          text: "    Perfect     Measured",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.15,
-          font: {
-            family: "Consolas, Courier New",
-            size: 13
-          },
-        },
-      ]
-
-    plot-throughput-speedup-analysis-cps:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Number of Cores [Qty]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(238, 238, 238)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Connection Rate [Mcps]</b>"
-        titlefont:
-          size: 14
-        type: "linear"
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickformat: ".4s"
-        tickfont:
-          size: 14
-        zeroline: True
-        rangemode: "tozero"
-        range: [0,100]
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.2
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-      autosize: False
-      margin:
-          't': 50
-          'b': 150
-          'l': 85
-          'r': 10
-      showlegend: True
-      width: 700
-      height: 700
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-      annotations: [
-        {
-          text: "_ _          __",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.13,
-          font: {
-            family: "Consolas, Courier New",
-            size: 13
-          },
-        },
-        {
-          text: "    Perfect     Measured",
-          align: "left",
-          showarrow: False,
-          xref: "paper",
-          yref: "paper",
-          xanchor: "left",
-          yanchor: "top",
-          x: 0,
-          y: -0.15,
-          font: {
-            family: "Consolas, Courier New",
-            size: 13
-          },
-        },
-      ]
-
-    plot-latency:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Direction</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: False
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Packet Latency [uSec]</b>"
-        titlefont:
-          size: 14
-        type: "linear"
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4s"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickformat: ".4s"
-        tickfont:
-          size: 14
-        zeroline: True
-        rangemode: "tozero"
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-      autosize: False
-      margin:
-          't': 50
-          'b': 150
-          'l': 80
-          'r': 10
-      showlegend: True
-      width: 700
-      height: 700
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-hdrh-latency:
-      title:
-        text: ""
-        xanchor: "center"
-        x: 0.5
-        font:
-          size: 16
-      width: 700
-      plot_bgcolor: "white"
-      annotations:
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Packet Latency [uSec]</b>"
-          x: 1
-          xanchor: "right"
-          xref: "paper"
-          y: -0.045
-          yanchor: "top"
-          yref: "paper"
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Probability [%]</b>"
-          textangle: 270
-          x: -0.06
-          xanchor: "center"
-          xref: "paper"
-          y: 0.5
-          yanchor: "middle"
-          yref: "paper"
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Direction: E-W</b>"
-          x: 0.24
-          xanchor: "center"
-          xref: "paper"
-          y: 1.05
-          yanchor: "bottom"
-          yref: "paper"
-        - font:
-            size: 14
-          showarrow: False
-          text: "<b>Direction: W-E</b>"
-          x: 0.74
-          xanchor: "center"
-          xref: "paper"
-          y: 1.05
-          yanchor: "bottom"
-          yref: "paper"
-
-    plot-hdrh-latency-percentile-x-log:
-      title:
-        text: "<b>Latency by Percentile Distribution</b>"
-        xanchor: "center"
-        x: 0.5
-        font:
-          size: 18
-      showlegend: True
-      legend:
-        traceorder: "normal"
-        orientation: "h"
-        font:
-          size: 16
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.2
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-      xaxis:
-        type: "log"
-        title: "<b>Percentile [%]</b>"
-        titlefont:
-          size: 14
-        autorange: False
-        fixedrange: True
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickvals: [1, 2, 1e1, 20, 1e2, 1e3, 1e4, 1e5, 1e6]
-        ticktext: [0, 50, 90, 95, 99, 99.9, 99.99, 99.999, 99.9999]
-        tickfont:
-          size: 14
-      yaxis:
-        title: "<b>One-Way Latency per Direction [uSec]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-      autosize: False
-      width: 700
-      height: 700
-      paper_bgcolor: "white"
-      plot_bgcolor: "white"
-
-    plot-hdrh-latency-by-percentile:
-      title:
-        text: "<b>Latency by Percentile Distribution</b>"
-        xanchor: "center"
-        x: 0.5
-        font:
-          size: 18
-      showlegend: True
-      legend:
-        traceorder: "normal"
-        orientation: "h"
-        font:
-          size: 16
-        xanchor: "left"
-        yanchor: "top"
-        x: 0
-        y: -0.2
-        bgcolor: "rgba(255, 255, 255, 0)"
-        bordercolor: "rgba(255, 255, 255, 0)"
-      xaxis:
-        type: "linear"
-        title: "<b>Percentile [%]</b>"
-        titlefont:
-          size: 14
-        autorange: False
-        fixedrange: False
-        range: [0, 100]
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickvals: [0, 25, 50, 75, 100]
-        ticktext: [0, 25, 50, 75, 100]
-        tickfont:
-          size: 14
-      yaxis:
-        title: "<b>One-Way Latency per Direction [uSec]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-      width: 700
-      height: 700
-      paper_bgcolor: "white"
-      plot_bgcolor: "white"
-
-    plot-scatter-error-bars-gbps:
-      titlefont:
-        size: 16
-      xaxis:
-        title: "<b>Test Cases [Index]</b>"
-        titlefont:
-          size: 14
-        autorange: True
-        fixedrange: False
-        gridcolor: "rgb(230, 230, 230)"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickmode: "linear"
-        tickfont:
-          size: 14
-        zeroline: False
-      yaxis:
-        title: "<b>Data Throughput [Gbps]</b>"
-        titlefont:
-          size: 14
-        gridcolor: "rgb(230, 230, 230)"
-        hoverformat: ".4r"
-        tickformat: ".3r"
-        linecolor: "rgb(220, 220, 220)"
-        linewidth: 1
-        showgrid: True
-        showline: True
-        showticklabels: True
-        tickcolor: "rgb(220, 220, 220)"
-        tickfont:
-          size: 14
-        zeroline: False
-        range: [0,10]
-      autosize: False
-      margin:
-        t: 50
-        b: 0
-        l: 80
-        r: 20
-      showlegend: True
-      legend:
-        orientation: "h"
-        font:
-          size: 14
-      width: 700
-      height: 900
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-- type: "static"
-  src-path: "{DIR[RST]}"
-  dst-path: "{DIR[WORKING,SRC]}"
-
-- type: "input"
-  general:
-    file-name: "output_info.xml.gz"
-    file-format: ".gz"
-    arch-file-format:
-      - ".gz"
-      - ".zip"
-    download-path:
-      - "{job}/{build}/archives/{filename}"
-      - "{job}/{build}/{filename}"
-    extract: "output.xml"
-
-    zip-file-name: "robot-plugin.zip"
-    zip-file-format: ".zip"
-    zip-download-path: "{job}/{build}/robot/report/*zip*/{filename}"
-    zip-extract: "robot-plugin/output.xml"
-
-  builds:
-
-    csit-vpp-perf-report-iterative-2009-3n-hsw:
-      - 18  # rls2005 MRR iter env 5
-      - 9   # rls2005 NDRPDR iter env 5
-      - 10  # rls2005 NDRPDR iter env 5
-      - 11  # rls2005 NDRPDR iter env 5
-      - 12  # rls2005 NDRPDR iter env 5
-      - 13  # rls2005 NDRPDR iter env 5
-      - 14  # rls2005 NDRPDR iter env 5
-      - 15  # rls2005 NDRPDR iter env 5
-      - 16  # rls2005 NDRPDR iter env 5
-      - 17  # rls2005 NDRPDR iter env 5
-      - 19  # rls2005 NDRPDR iter env 5
-      - 23  # rls2009 MRR iter env 5
-      - 21  # rls2009 NDRPDR iter env 5
-      - 22  # rls2009 NDRPDR iter env 5
-      - 24  # rls2009 NDRPDR iter env 5
-      - 25  # rls2009 NDRPDR iter env 5
-      - 26  # rls2009 NDRPDR iter env 5
-      - 27  # rls2009 NDRPDR iter env 5
-      - 28  # rls2009 NDRPDR iter env 5
-      - 29  # rls2009 NDRPDR iter env 5
-      - 30  # rls2009 NDRPDR iter env 5
-      - 31  # rls2009 NDRPDR iter env 5
-    csit-vpp-perf-report-iterative-2101-3n-hsw:
-      - 17  # rls2009 MRR iter env 6
-      - 19  # rls2009 NDRPDR iter env 6
-      - 20  # rls2009 NDRPDR iter env 6
-      - 21  # rls2009 NDRPDR iter env 6
-      - 22  # rls2009 NDRPDR iter env 6
-      - 23  # rls2009 NDRPDR iter env 6
-      - 24  # rls2009 NDRPDR iter env 6
-      - 25  # rls2009 NDRPDR iter env 6
-      - 26  # rls2009 NDRPDR iter env 6
-      - 27  # rls2009 NDRPDR iter env 6
-      - 63  # rls2101.rel MRR iter env 6
-      - 64  # rls2101.rel NDRPDR iter env 6
-      - 71  # rls2101.rel NDRPDR iter env 6
-      - 73  # rls2101.rel NDRPDR iter env 6
-      - 74  # rls2101.rel NDRPDR iter env 6
-      - 80  # rls2101.rel NDRPDR iter env 6
-      - 81  # rls2101.rel NDRPDR iter env 6
-      - 82  # rls2101.rel NDRPDR iter env 6
-      - 83  # rls2101.rel NDRPDR iter env 6
-      - 88  # rls2101.rel NDRPDR iter env 6
-      - 89  # rls2101.rel NDRPDR iter env 6
-      - 128 # rls2101.rel NDRPDR iter RND env 6
-      - 129 # rls2101.rel NDRPDR iter RND env 6
-      - 130 # rls2101.rel NDRPDR iter RND env 6
-      - 131 # rls2101.rel NDRPDR iter RND env 6
-      - 132 # rls2101.rel NDRPDR iter RND env 6
-      - 133 # rls2101.rel NDRPDR iter RND env 6
-      - 134 # rls2101.rel NDRPDR iter RND env 6
-      - 135 # rls2101.rel NDRPDR iter RND env 6
-      - 136 # rls2101.rel NDRPDR iter RND env 6
-      - 137 # rls2101.rel NDRPDR iter RND env 6
-      - 65  # rls2101.rel NDRPDR reconf iter env 6
-      - 68  # rls2101.rel NDRPDR reconf iter env 6
-      - 77  # rls2101.rel NDRPDR reconf iter env 6
-      - 84  # rls2101.rel NDRPDR reconf iter env 6
-      - 90  # rls2101.rel NDRPDR reconf iter env 6
-      - 96  # rls2101.rel NDRPDR reconf iter env 6
-      - 101 # rls2101.rel NDRPDR reconf iter env 6
-      - 104 # rls2101.rel NDRPDR reconf iter env 6
-      - 105 # rls2101.rel NDRPDR reconf iter env 6
-      - 106 # rls2101.rel NDRPDR reconf iter env 6
-      - 107 # rls2101.rel NDRPDR reconf iter env 6
-      - 108 # rls2101.rel NDRPDR reconf iter env 6
-      - 110 # rls2101.rel NDRPDR reconf iter env 6
-      - 111 # rls2101.rel NDRPDR reconf iter env 6
-      - 112 # rls2101.rel NDRPDR reconf iter env 6
-      - 113 # rls2101.rel NDRPDR reconf iter env 6
-      - 114 # rls2101.rel NDRPDR reconf iter env 6
-      - 115 # rls2101.rel NDRPDR reconf iter env 6
-      - 116 # rls2101.rel NDRPDR reconf iter env 6
-      - 117 # rls2101.rel NDRPDR reconf iter env 6
-      - 69  # rls2101.rel Hoststack iter env 6
-      - 70  # rls2101.rel Hoststack iter env 6
-      - 75  # rls2101.rel Hoststack iter env 6
-      - 76  # rls2101.rel Hoststack iter env 6
-      - 78  # rls2101.rel Hoststack iter env 6
-      - 79  # rls2101.rel Hoststack iter env 6
-      - 85  # rls2101.rel Hoststack iter env 6
-      - 86  # rls2101.rel Hoststack iter env 6
-      - 87  # rls2101.rel Hoststack iter env 6
-      - 91  # rls2101.rel Hoststack iter env 6
-      - 92  # rls2101.rel Hoststack iter env 6
-      - 93  # rls2101.rel Hoststack iter env 6
-      - 94  # rls2101.rel Hoststack iter env 6
-      - 95  # rls2101.rel Hoststack iter env 6
-      - 97  # rls2101.rel Hoststack iter env 6
-      - 98  # rls2101.rel Hoststack iter env 6
-      - 99  # rls2101.rel Hoststack iter env 6
-      - 100 # rls2101.rel Hoststack iter env 6
-      - 102 # rls2101.rel Hoststack iter env 6
-      - 103 # rls2101.rel Hoststack iter env 6
-    csit-vpp-perf-report-coverage-2101-3n-hsw:
-      - 1   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-00
-      - 2   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-01
-      - 3   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-02
-      - 4   # rls2101.rel NDRPDR cov env 6 3n-hsw-crypto-03
-      - 5   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-00
-      - 6   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-01
-      - 7   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-02
-      - 8   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-03
-      - 9   # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-04
-      - 10  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-05
-      - 11  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-06
-      - 12  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4-07
-      - 13  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-00
-      - 14  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-01
-      - 15  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip4tun-02
-      - 16  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6-00
-      - 18  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6-01
-      - 19  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-00
-      - 20  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-01
-      - 21  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-02
-      - 22  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-03
-      - 23  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-04
-      - 24  # rls2101.rel NDRPDR cov env 6 3n-hsw-ip6tun-00
-      - 25  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-05
-      - 26  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-06
-      - 27  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-07
-      - 28  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-08
-      - 29  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-09
-      - 30  # rls2101.rel NDRPDR cov env 6 3n-hsw-l2-10
-      - 31  # rls2101.rel NDRPDR cov env 6 3n-hsw-memif-00
-      - 32  # rls2101.rel NDRPDR cov env 6 3n-hsw-srv6-00
-      - 33  # rls2101.rel NDRPDR cov env 6 3n-hsw-srv6-01
-      - 34  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-00
-      - 35  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-01
-      - 36  # rls2101.rel NDRPDR cov env 6 3n-hsw-vhost-02
-
-    csit-vpp-perf-report-iterative-2009-3n-skx:
-      - 17  # rls2005 MRR iter env 5
-      - 13  # rls2005 NDRPDR iter env 5
-      - 18  # rls2005 NDRPDR iter env 5
-      - 19  # rls2005 NDRPDR iter env 5
-      - 41  # rls2005 NDRPDR iter env 5
-      - 43  # rls2005 NDRPDR iter env 5
-      - 44  # rls2005 NDRPDR iter env 5
-      - 45  # rls2005 NDRPDR iter env 5
-      - 46  # rls2005 NDRPDR iter env 5
-      - 48  # rls2005 NDRPDR iter env 5
-      - 49  # rls2005 NDRPDR iter env 5
-      - 24  # rls2009 MRR iter env 5
-      - 26  # rls2009 NDRPDR iter env 5
-      - 27  # rls2009 NDRPDR iter env 5
-      - 28  # rls2009 NDRPDR iter env 5
-      - 29  # rls2009 NDRPDR iter env 5
-      - 35  # rls2009 NDRPDR iter env 5
-      - 36  # rls2009 NDRPDR iter env 5
-      - 37  # rls2009 NDRPDR iter env 5
-      - 38  # rls2009 NDRPDR iter env 5
-      - 39  # rls2009 NDRPDR iter env 5
-      - 40  # rls2009 NDRPDR iter env 5
-    csit-vpp-perf-report-iterative-2101-3n-skx:
-      - 34  # rls2009 MRR iter env 6
-      - 14  # rls2009 NDRPDR iter env 6
-      - 15  # rls2009 NDRPDR iter env 6
-      - 16  # rls2009 NDRPDR iter env 6
-      - 17  # rls2009 NDRPDR iter env 6
-      - 18  # rls2009 NDRPDR iter env 6
-      - 25  # rls2009 NDRPDR iter env 6
-      - 26  # rls2009 NDRPDR iter env 6
-      - 27  # rls2009 NDRPDR iter env 6
-      - 29  # rls2009 NDRPDR iter env 6
-      - 31  # rls2009 NDRPDR iter env 6
-      - 35  # rls2101.rel MRR iter env 6
-      - 36  # rls2101.rel NDRPDR iter env 6
-      - 37  # rls2101.rel NDRPDR iter env 6
-      - 38  # rls2101.rel NDRPDR iter env 6
-      - 39  # rls2101.rel NDRPDR iter env 6
-      - 40  # rls2101.rel NDRPDR iter env 6
-      - 41  # rls2101.rel NDRPDR iter env 6
-      - 42  # rls2101.rel NDRPDR iter env 6
-      - 47  # rls2101.rel NDRPDR iter env 6
-      - 48  # rls2101.rel NDRPDR iter env 6
-      - 50  # rls2101.rel NDRPDR iter env 6
-    csit-vpp-perf-report-coverage-2101-3n-skx:
-      - 1   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-00
-      - 2   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-01
-      - 3   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-02
-      - 4   # rls2101.rel NDRPDR cov env 6 3n-skx-crypto-03
-      - 5   # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-00
-      - 16  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-01
-      - 7   # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-02
-      - 17  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-03
-      - 18  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-04
-      - 19  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-05
-      - 20  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-06
-      - 12  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4-06
-      - 13  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-00
-      - 26  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-01
-      - 15  # rls2101.rel NDRPDR cov env 6 3n-skx-ip4tun-02
-      - 21  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6-00
-      - 22  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6-01
-      - 23  # rls2101.rel NDRPDR cov env 6 3n-skx-ip6tun-00
-      - 24  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-00
-      - 30  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-01
-      - 27  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-02
-      - 28  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-03
-      - 29  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-04
-      - 31  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-05
-      - 32  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-06
-      - 33  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-07
-      - 34  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-08
-      - 35  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-09
-      - 36  # rls2101.rel NDRPDR cov env 6 3n-skx-l2-10
-      - 37  # rls2101.rel NDRPDR cov env 6 3n-skx-memif-00
-      - 38  # rls2101.rel NDRPDR cov env 6 3n-skx-srv6-00
-      - 39  # rls2101.rel NDRPDR cov env 6 3n-skx-srv6-01
-      - 40  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-00
-      - 41  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-01
-      - 42  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-02
-      - 43  # rls2101.rel NDRPDR cov env 6 3n-skx-vhost-03
-
-    csit-vpp-perf-report-iterative-2009-2n-skx:
-      - 20  # rls2005 MRR iter env 5
-      - 13  # rls2005 NDRPDR iter env 5
-      - 16  # rls2005 NDRPDR iter env 5
-      - 17  # rls2005 NDRPDR iter env 5
-      - 18  # rls2005 NDRPDR iter env 5
-      - 19  # rls2005 NDRPDR iter env 5
-      - 21  # rls2005 NDRPDR iter env 5
-      - 22  # rls2005 NDRPDR iter env 5
-      - 23  # rls2005 NDRPDR iter env 5
-      - 24  # rls2005 NDRPDR iter env 5
-      - 25  # rls2005 NDRPDR iter env 5
-      - 120 # rls2009 MRR iter env 5
-      - 35  # rls2009 NDRPDR iter env 5
-      - 36  # rls2009 NDRPDR iter env 5
-      - 37  # rls2009 NDRPDR iter env 5
-      - 39  # rls2009 NDRPDR iter env 5
-      - 40  # rls2009 NDRPDR iter env 5
-      - 42  # rls2009 NDRPDR iter env 5
-      - 43  # rls2009 NDRPDR iter env 5
-      - 44  # rls2009 NDRPDR iter env 5
-      - 46  # rls2009 NDRPDR iter env 5
-      - 48  # rls2009 NDRPDR iter env 5
-      - 110 # rls2009 NDRPDR iter NAT44 env 5
-      - 111 # rls2009 NDRPDR iter NAT44 env 5
-      - 112 # rls2009 NDRPDR iter NAT44 env 5
-      - 113 # rls2009 NDRPDR iter NAT44 env 5
-      - 114 # rls2009 NDRPDR iter NAT44 env 5
-      - 115 # rls2009 NDRPDR iter NAT44 env 5
-      - 116 # rls2009 NDRPDR iter NAT44 env 5
-      - 118 # rls2009 NDRPDR iter NAT44 env 5
-      - 119 # rls2009 NDRPDR iter NAT44 env 5
-      - 121 # rls2009 NDRPDR iter NAT44 env 5
-    csit-vpp-perf-report-iterative-2101-2n-skx:
-      - 21  # rls2009 MRR iter env 6
-      - 22  # rls2009 NDRPDR iter env 6
-      - 23  # rls2009 NDRPDR iter env 6
-      - 24  # rls2009 NDRPDR iter env 6
-      - 25  # rls2009 NDRPDR iter env 6
-      - 26  # rls2009 NDRPDR iter env 6
-      - 28  # rls2009 NDRPDR iter env 6
-      - 39  # rls2009 NDRPDR iter env 6
-      - 40  # rls2009 NDRPDR iter env 6
-      - 41  # rls2009 NDRPDR iter env 6
-      - 44  # rls2009 NDRPDR iter env 6
-      - 62  # rls2101.rel MRR iter env 6
-      - 63  # rls2101.rel NDRPDR iter env 6
-      - 69  # rls2101.rel NDRPDR iter env 6
-      - 70  # rls2101.rel NDRPDR iter env 6
-      - 75  # rls2101.rel NDRPDR iter env 6
-      - 76  # rls2101.rel NDRPDR iter env 6
-      - 77  # rls2101.rel NDRPDR iter env 6
-      - 82  # rls2101.rel NDRPDR iter env 6
-      - 85  # rls2101.rel NDRPDR iter env 6
-      - 86  # rls2101.rel NDRPDR iter env 6
-      - 94  # rls2101.rel NDRPDR iter env 6
-      - 89  # rls2101.rel NDRPDR iter RND env 6
-      - 90  # rls2101.rel NDRPDR iter RND env 6
-      - 91  # rls2101.rel NDRPDR iter RND env 6
-      - 92  # rls2101.rel NDRPDR iter RND env 6
-      - 93  # rls2101.rel NDRPDR iter RND env 6
-      - 96  # rls2101.rel NDRPDR iter RND env 6
-      - 98  # rls2101.rel NDRPDR iter RND env 6
-      - 99  # rls2101.rel NDRPDR iter RND env 6
-      - 101 # rls2101.rel NDRPDR iter RND env 6
-      - 102 # rls2101.rel NDRPDR iter RND env 6
-      - 116 # rls2101.rel NDRPDR iter NAT env 6
-      - 117 # rls2101.rel NDRPDR iter NAT env 6
-      - 118 # rls2101.rel NDRPDR iter NAT env 6
-      - 119 # rls2101.rel NDRPDR iter NAT env 6
-      - 120 # rls2101.rel NDRPDR iter NAT env 6
-      - 121 # rls2101.rel NDRPDR iter NAT env 6
-      - 122 # rls2101.rel NDRPDR iter NAT env 6
-      - 123 # rls2101.rel NDRPDR iter NAT env 6
-      - 124 # rls2101.rel NDRPDR iter NAT env 6
-      - 125 # rls2101.rel NDRPDR iter NAT env 6
-      - 65  # rls2101.rel MRR nf-density iter env 6
-      - 67  # rls2101.rel NDRPDR nf-density iter env 6
-      - 72  # rls2101.rel NDRPDR nf-density iter env 6
-      - 79  # rls2101.rel NDRPDR nf-density iter env 6
-      - 83  # rls2101.rel NDRPDR nf-density iter env 6
-      - 88  # rls2101.rel NDRPDR nf-density iter env 6
-      - 97  # rls2101.rel NDRPDR nf-density iter env 6
-      - 103 # rls2101.rel NDRPDR nf-density iter env 6
-      - 108 # rls2101.rel NDRPDR nf-density iter env 6
-      - 109 # rls2101.rel NDRPDR nf-density iter env 6
-      - 110 # rls2101.rel NDRPDR nf-density iter env 6
-      - 64  # rls2101.rel NDRPDR reconf iter env 6
-      - 66  # rls2101.rel NDRPDR reconf iter env 6
-      - 71  # rls2101.rel NDRPDR reconf iter env 6
-      - 74  # rls2101.rel NDRPDR reconf iter env 6
-      - 78  # rls2101.rel NDRPDR reconf iter env 6
-      - 87  # rls2101.rel NDRPDR reconf iter env 6
-      - 95  # rls2101.rel NDRPDR reconf iter env 6
-      - 100 # rls2101.rel NDRPDR reconf iter env 6
-      - 104 # rls2101.rel NDRPDR reconf iter env 6
-      - 106 # rls2101.rel NDRPDR reconf iter env 6
-      - 68  # rls2101.rel soak env 6
-      - 73  # rls2101.rel soak env 6
-      - 129 # rls2101.rel MRR GSO iter env 6
-    csit-vpp-perf-report-coverage-2101-2n-skx:
-      - 1   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-00
-      - 2   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-01
-      - 3   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-02
-      - 4   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-03
-      - 5   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-04
-      - 6   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-05
-      - 7   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-06
-      - 8   # rls2101.rel NDRPDR cov env 6 2n-skx-ip4-07
-      - 21  # rls2101.rel NDRPDR cov env 6 2n-skx-ip4tun-00
-      - 22  # rls2101.rel NDRPDR cov env 6 2n-skx-ip4tun-00
-      - 10  # rls2101.rel NDRPDR cov env 6 2n-skx-ip6-00
-      - 11  # rls2101.rel NDRPDR cov env 6 2n-skx-ip6-01
-      - 12  # rls2101.rel NDRPDR cov env 6 2n-skx-l2-00
-      - 13  # rls2101.rel NDRPDR cov env 6 2n-skx-l2-01
-      - 14  # rls2101.rel NDRPDR cov env 6 2n-skx-lb-00
-      - 15  # rls2101.rel NDRPDR cov env 6 2n-skx-memif-00
-      - 16  # rls2101.rel NDRPDR cov env 6 2n-skx-vhost-00
-      - 17  # rls2101.rel NDRPDR cov env 6 2n-skx-vhost-01
-      - 19  # rls2101.rel NDRPDR cov env 6 2n-skx-vts-00
-
-    csit-vpp-perf-report-iterative-2009-2n-clx:
-      - 77  # rls2005 MRR iter env 5
-      - 13  # rls2005 NDRPDR iter env 5
-      - 15  # rls2005 NDRPDR iter env 5
-      - 17  # rls2005 NDRPDR iter env 5
-      - 18  # rls2005 NDRPDR iter env 5
-      - 19  # rls2005 NDRPDR iter env 5
-      - 20  # rls2005 NDRPDR iter env 5
-      - 21  # rls2005 NDRPDR iter env 5
-      - 22  # rls2005 NDRPDR iter env 5
-      - 23  # rls2005 NDRPDR iter env 5
-      - 24  # rls2005 NDRPDR iter env 5
-      - 125 # rls2009 MRR iter env 5
-      - 36  # rls2009 NDRPDR iter env 5
-      - 39  # rls2009 NDRPDR iter env 5
-      - 40  # rls2009 NDRPDR iter env 5
-      - 65  # rls2009 NDRPDR iter env 5
-      - 66  # rls2009 NDRPDR iter env 5
-      - 79  # rls2009 NDRPDR iter env 5
-      - 82  # rls2009 NDRPDR iter env 5
-      - 88  # rls2009 NDRPDR iter env 5
-      - 89  # rls2009 NDRPDR iter env 5
-      - 90  # rls2009 NDRPDR iter env 5
-      - 114 # rls2009 NDRPDR iter NAT44 env 5
-      - 115 # rls2009 NDRPDR iter NAT44 env 5
-      - 116 # rls2009 NDRPDR iter NAT44 env 5
-      - 117 # rls2009 NDRPDR iter NAT44 env 5
-      - 118 # rls2009 NDRPDR iter NAT44 env 5
-      - 119 # rls2009 NDRPDR iter NAT44 env 5
-      - 121 # rls2009 NDRPDR iter NAT44 env 5
-      - 122 # rls2009 NDRPDR iter NAT44 env 5
-      - 123 # rls2009 NDRPDR iter NAT44 env 5
-      - 126 # rls2009 NDRPDR iter NAT44 env 5
-    csit-vpp-perf-report-iterative-2101-2n-clx:
-      - 15  # rls2009 MRR iter env 6
-      - 142 # rls2009 MRR MLX iter env 6
-      - 16  # rls2009 NDRPDR iter env 6
-      - 17  # rls2009 NDRPDR iter env 6
-      - 18  # rls2009 NDRPDR iter env 6
-      - 19  # rls2009 NDRPDR iter env 6
-      - 20  # rls2009 NDRPDR iter env 6
-      - 21  # rls2009 NDRPDR iter env 6
-      - 32  # rls2009 NDRPDR iter env 6
-      - 33  # rls2009 NDRPDR iter env 6
-      - 34  # rls2009 NDRPDR iter env 6
-      - 35  # rls2009 NDRPDR iter env 6
-      - 146 # rls2009 NDRPDR MLX iter env 6
-      - 147 # rls2009 NDRPDR MLX iter env 6
-      - 148 # rls2009 NDRPDR MLX iter env 6
-      - 149 # rls2009 NDRPDR MLX iter env 6
-      - 150 # rls2009 NDRPDR MLX iter env 6
-      - 151 # rls2009 NDRPDR MLX iter env 6
-      - 152 # rls2009 NDRPDR MLX iter env 6
-      - 153 # rls2009 NDRPDR MLX iter env 6
-      - 154 # rls2009 NDRPDR MLX iter env 6
-      - 155 # rls2009 NDRPDR MLX iter env 6
-      - 53  # rls2101.rel MRR iter env 6
-      - 133 # rls2101.rel MRR MLX iter env 6
-      - 54  # rls2101.rel NDRPDR iter env 6
-      - 59  # rls2101.rel NDRPDR iter env 6
-      - 60  # rls2101.rel NDRPDR iter env 6
-      - 63  # rls2101.rel NDRPDR iter env 6
-      - 66  # rls2101.rel NDRPDR iter env 6
-      - 68  # rls2101.rel NDRPDR iter env 6
-      - 73  # rls2101.rel NDRPDR iter env 6
-      - 75  # rls2101.rel NDRPDR iter env 6
-      - 86  # rls2101.rel NDRPDR iter env 6
-      - 90  # rls2101.rel NDRPDR iter env 6
-      - 80  # rls2101.rel NDRPDR iter RND env 6
-      - 87  # rls2101.rel NDRPDR iter RND env 6
-      - 91  # rls2101.rel NDRPDR iter RND env 6
-      - 92  # rls2101.rel NDRPDR iter RND env 6
-      - 93  # rls2101.rel NDRPDR iter RND env 6
-      - 94  # rls2101.rel NDRPDR iter RND env 6
-      - 95  # rls2101.rel NDRPDR iter RND env 6
-      - 100 # rls2101.rel NDRPDR iter RND env 6
-      - 106 # rls2101.rel NDRPDR iter RND env 6
-      - 108 # rls2101.rel NDRPDR iter RND env 6
-      - 112 # rls2101.rel NDRPDR iter NAT env 6
-      - 113 # rls2101.rel NDRPDR iter NAT env 6
-      - 114 # rls2101.rel NDRPDR iter NAT env 6
-      - 115 # rls2101.rel NDRPDR iter NAT env 6
-      - 116 # rls2101.rel NDRPDR iter NAT env 6
-      - 117 # rls2101.rel NDRPDR iter NAT env 6
-      - 118 # rls2101.rel NDRPDR iter NAT env 6
-      - 119 # rls2101.rel NDRPDR iter NAT env 6
-      - 120 # rls2101.rel NDRPDR iter NAT env 6
-      - 121 # rls2101.rel NDRPDR iter NAT env 6
-      - 122 # rls2101.rel NDRPDR iter MLX env 6
-      - 123 # rls2101.rel NDRPDR iter MLX env 6
-      - 124 # rls2101.rel NDRPDR iter MLX env 6
-      - 126 # rls2101.rel NDRPDR iter MLX env 6
-      - 127 # rls2101.rel NDRPDR iter MLX env 6
-      - 128 # rls2101.rel NDRPDR iter MLX env 6
-      - 129 # rls2101.rel NDRPDR iter MLX env 6
-      - 130 # rls2101.rel NDRPDR iter MLX env 6
-      - 131 # rls2101.rel NDRPDR iter MLX env 6
-      - 132 # rls2101.rel NDRPDR iter MLX env 6
-      - 72  # rls2101.rel MRR nf-density iter env 6
-      - 57  # rls2101.rel NDRPDR nf-density iter env 6
-      - 62  # rls2101.rel NDRPDR nf-density iter env 6
-      - 70  # rls2101.rel NDRPDR nf-density iter env 6
-      - 71  # rls2101.rel NDRPDR nf-density iter env 6
-      - 82  # rls2101.rel NDRPDR nf-density iter env 6
-      - 88  # rls2101.rel NDRPDR nf-density iter env 6
-      - 89  # rls2101.rel NDRPDR nf-density iter env 6
-      - 96  # rls2101.rel NDRPDR nf-density iter env 6
-      - 97  # rls2101.rel NDRPDR nf-density iter env 6
-      - 98  # rls2101.rel NDRPDR nf-density iter env 6
-      - 55  # rls2101.rel NDRPDR reconf iter env 6
-      - 64  # rls2101.rel NDRPDR reconf iter env 6
-      - 76  # rls2101.rel NDRPDR reconf iter env 6
-      - 83  # rls2101.rel NDRPDR reconf iter env 6
-      - 99  # rls2101.rel NDRPDR reconf iter env 6
-      - 101 # rls2101.rel NDRPDR reconf iter env 6
-      - 102 # rls2101.rel NDRPDR reconf iter env 6
-      - 107 # rls2101.rel NDRPDR reconf iter env 6
-      - 109 # rls2101.rel NDRPDR reconf iter env 6
-      - 110 # rls2101.rel NDRPDR reconf iter env 6
-      - 58  # rls2101.rel soak env 6
-      - 61  # rls2101.rel soak env 6
-      - 159 # rls2101.rel MRR GSO iter env 6
-    csit-vpp-perf-report-coverage-2101-2n-clx:
-      - 1   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-00
-      - 2   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-01
-      - 3   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-02
-      - 4   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-03
-      - 5   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-04
-      - 6   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-05
-      - 7   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-06
-      - 8   # rls2101.rel NDRPDR cov env 6 2n-clx-ip4-07
-      - 19  # rls2101.rel NDRPDR cov env 6 2n-clx-ip4tun-00
-      - 20  # rls2101.rel NDRPDR cov env 6 2n-clx-ip4tun-00
-      - 10  # rls2101.rel NDRPDR cov env 6 2n-clx-ip6-00
-      - 11  # rls2101.rel NDRPDR cov env 6 2n-clx-ip6-01
-      - 12  # rls2101.rel NDRPDR cov env 6 2n-clx-l2-00
-      - 13  # rls2101.rel NDRPDR cov env 6 2n-clx-l2-01
-      - 14  # rls2101.rel NDRPDR cov env 6 2n-clx-lb-00
-      - 15  # rls2101.rel NDRPDR cov env 6 2n-clx-memif-00
-      - 16  # rls2101.rel NDRPDR cov env 6 2n-clx-vhost-00
-      - 17  # rls2101.rel NDRPDR cov env 6 2n-clx-vhost-01
-      - 18  # rls2101.rel NDRPDR cov env 6 2n-clx-vts-00
-
-#     intel-csit-vpp-perf-report-iterative-2101-2n-icx:
-#       - 1   # master NDRPDR iter env 6
-
-    csit-vpp-perf-report-iterative-2009-2n-zn2:
-      - 15  # rls2009 MRR iter env 5
-      - 17  # rls2009 NDRPDR iter env 5
-      - 18  # rls2009 NDRPDR iter env 5
-      - 31  # rls2009 NDRPDR iter env 5
-      - 33  # rls2009 NDRPDR iter env 5
-      - 34  # rls2009 NDRPDR iter env 5
-    csit-vpp-perf-report-iterative-2101-2n-zn2:
-      - 8   # rls2009 MRR iter env6
-      - 9   # rls2009 NDRPDR iter env 6
-      - 10  # rls2009 NDRPDR iter env 6
-      - 11  # rls2009 NDRPDR iter env 6
-      - 12  # rls2009 NDRPDR iter env 6
-      - 13  # rls2009 NDRPDR iter env 6
-      - 20  # rls2009 NDRPDR iter env 6
-      - 21  # rls2009 NDRPDR iter env 6
-      - 22  # rls2009 NDRPDR iter env 6
-      - 25  # rls2009 NDRPDR iter env 6
-      - 26  # rls2009 NDRPDR iter env 6
-      - 30  # rls2101.rel MRR iter env 6
-      - 31  # rls2101.rel NDRPDR iter env 6
-      - 32  # rls2101.rel NDRPDR iter env 6
-      - 33  # rls2101.rel NDRPDR iter env 6
-      - 34  # rls2101.rel NDRPDR iter env 6
-      - 35  # rls2101.rel NDRPDR iter env 6
-      - 36  # rls2101.rel NDRPDR iter env 6
-      - 37  # rls2101.rel NDRPDR iter env 6
-      - 38  # rls2101.rel NDRPDR iter env 6
-      - 44  # rls2101.rel NDRPDR iter env 6
-      - 49  # rls2101.rel NDRPDR iter env 6
-      - 39  # rls2101.rel NDRPDR iter RND env 6
-      - 40  # rls2101.rel NDRPDR iter RND env 6
-      - 41  # rls2101.rel NDRPDR iter RND env 6
-      - 42  # rls2101.rel NDRPDR iter RND env 6
-      - 43  # rls2101.rel NDRPDR iter RND env 6
-      - 45  # rls2101.rel NDRPDR iter RND env 6
-      - 48  # rls2101.rel NDRPDR iter RND env 6
-      - 50  # rls2101.rel NDRPDR iter RND env 6
-      - 51  # rls2101.rel NDRPDR iter RND env 6
-      - 52  # rls2101.rel NDRPDR iter RND env 6
-      - 56  # rls2101.rel MRR GSO iter env 6
-    csit-vpp-perf-report-coverage-2101-2n-zn2:
-      - 1   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-00
-      - 2   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-01
-      - 3   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-02
-      - 4   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-03
-      - 5   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-04
-      - 6   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4-05
-      - 17  # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4tun-00
-      - 18  # rls2101.rel NDRPDR cov env 6 2n-zn2-ip4tun-01
-      - 8   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip6-00
-      - 9   # rls2101.rel NDRPDR cov env 6 2n-zn2-ip6-01
-      - 10  # rls2101.rel NDRPDR cov env 6 2n-zn2-l2-00
-      - 11  # rls2101.rel NDRPDR cov env 6 2n-zn2-l2-01
-      - 12  # rls2101.rel NDRPDR cov env 6 2n-zn2-lb-00
-      - 13  # rls2101.rel NDRPDR cov env 6 2n-zn2-memif-00
-      - 14  # rls2101.rel NDRPDR cov env 6 2n-zn2-vhost-00
-      - 15  # rls2101.rel NDRPDR cov env 6 2n-zn2-vhost-00
-      - 16  # rls2101.rel NDRPDR cov env 6 2n-zn2-vts-00
-
-    csit-vpp-perf-report-iterative-2009-3n-tsh:
-      - 8   # rls2005 NDRPDR iter env 5
-      - 11  # rls2005 NDRPDR iter env 5
-      - 12  # rls2005 NDRPDR iter env 5
-      - 24  # rls2005 NDRPDR iter env 5
-      - 27  # rls2005 NDRPDR iter env 5
-      - 29  # rls2005 NDRPDR iter env 5
-      - 31  # rls2005 NDRPDR iter env 5
-      - 39  # rls2005 NDRPDR iter env 5
-      - 40  # rls2005 NDRPDR iter env 5
-      - 42  # rls2005 NDRPDR iter env 5
-      - 13  # rls2005 MRR iter env 5
-      - 14  # rls2009 NDRPDR iter env 5
-      - 20  # rls2009 NDRPDR iter env 5
-      - 21  # rls2009 NDRPDR iter env 5
-      - 22  # rls2009 NDRPDR iter env 5
-      - 23  # rls2009 NDRPDR iter env 5
-      - 28  # rls2009 NDRPDR iter env 5
-      - 30  # rls2009 NDRPDR iter env 5
-      - 33  # rls2009 NDRPDR iter env 5
-      - 38  # rls2009 NDRPDR iter env 5
-      - 41  # rls2009 NDRPDR iter env 5
-      - 15  # rls2009 MRR iter env 5
-    csit-vpp-perf-report-iterative-2101-3n-tsh:
-      - 7   # rls2009 MRR iter env 6
-      - 8   # rls2009 NDRPDR iter env 6
-      - 13  # rls2009 NDRPDR iter env 6
-      - 14  # rls2009 NDRPDR iter env 6
-      - 15  # rls2009 NDRPDR iter env 6
-      - 16  # rls2009 NDRPDR iter env 6
-      - 17  # rls2009 NDRPDR iter env 6
-      - 18  # rls2009 NDRPDR iter env 6
-      - 19  # rls2009 NDRPDR iter env 6
-      - 21  # rls2009 NDRPDR iter env 6
-      - 22  # rls2101.rel MRR iter env 6
-      - 23  # rls2101.rel NDRPDR iter env 6
-      - 24  # rls2101.rel NDRPDR iter env 6
-      - 25  # rls2101.rel NDRPDR iter env 6
-      - 26  # rls2101.rel NDRPDR iter env 6
-      - 27  # rls2101.rel NDRPDR iter env 6
-      - 28  # rls2101.rel NDRPDR iter env 6
-      - 29  # rls2101.rel NDRPDR iter env 6
-      - 30  # rls2101.rel NDRPDR iter env 6
-      - 31  # rls2101.rel NDRPDR iter env 6
-      - 32  # rls2101.rel NDRPDR iter env 6
-    csit-vpp-perf-report-coverage-2101-3n-tsh:
-      - 1   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-00
-      - 2   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-01
-      - 3   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-02
-      - 4   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4-03
-      - 5   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4tun-00
-      - 6   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip4tun-01
-      - 7   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip6-00
-      - 8   # rls2101.rel NDRPDR cov env 6 3n-tsh-ip6-01
-      - 9   # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-00
-      - 10  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-01
-      - 11  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-02
-      - 12  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-03
-      - 13  # rls2101.rel NDRPDR cov env 6 3n-tsh-l2-04
-      - 19  # rls2101.rel NDRPDR cov env 6 3n-tsh-memif-00
-      - 15  # rls2101.rel NDRPDR cov env 6 3n-tsh-srv6-00
-      - 16  # rls2101.rel NDRPDR cov env 6 3n-tsh-srv6-01
-      - 17  # rls2101.rel NDRPDR cov env 6 3n-tsh-vhost-00
-      - 18  # rls2101.rel NDRPDR cov env 6 3n-tsh-vhost-01
-
-    csit-vpp-perf-report-iterative-2101-2n-tx2:
-      - 5   # rls2009 MRR iter env 6
-      - 6   # rls2009 NDRPDR iter env 6
-      - 7   # rls2009 NDRPDR iter env 6
-      - 11  # rls2009 NDRPDR iter env 6
-      - 12  # rls2009 NDRPDR iter env 6
-      - 13  # rls2009 NDRPDR iter env 6
-      - 16  # rls2009 NDRPDR iter env 6
-      - 17  # rls2009 NDRPDR iter env 6
-      - 18  # rls2009 NDRPDR iter env 6
-      - 19  # rls2009 NDRPDR iter env 6
-      - 20  # rls2009 NDRPDR iter env 6
-      - 21  # rls2101.rel MRR iter env 6
-      - 22  # rls2101.rel NDRPDR iter env 6
-      - 23  # rls2101.rel NDRPDR iter env 6
-      - 24  # rls2101.rel NDRPDR iter env 6
-      - 25  # rls2101.rel NDRPDR iter env 6
-      - 26  # rls2101.rel NDRPDR iter env 6
-      - 27  # rls2101.rel NDRPDR iter env 6
-      - 28  # rls2101.rel NDRPDR iter env 6
-      - 29  # rls2101.rel NDRPDR iter env 6
-      - 30  # rls2101.rel NDRPDR iter env 6
-      - 31  # rls2101.rel NDRPDR iter env 6
-    csit-vpp-perf-report-coverage-2101-2n-tx2:
-      - 1   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-00
-      - 2   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-01
-      - 3   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-02
-      - 4   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-03
-      - 5   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-04
-      - 6   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-05
-      - 7   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip4-06
-      - 8   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip6-00
-      - 9   # rls2101.rel NDRPDR cov env 6 2n-tx2-ip6-01
-      - 10  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-00
-      - 11  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-01
-      - 12  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-02
-      - 13  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-03
-      - 15  # rls2101.rel NDRPDR cov env 6 2n-tx2-l2-04
-
-    csit-vpp-perf-report-iterative-2009-3n-dnv:
-      - 16  # rls2005 NDRPDR iter env 5
-      - 23  # rls2005 NDRPDR iter env 5
-      - 25  # rls2005 NDRPDR iter env 5
-      - 26  # rls2005 NDRPDR iter env 5
-      - 27  # rls2005 NDRPDR iter env 5
-      - 28  # rls2005 NDRPDR iter env 5
-      - 29  # rls2005 NDRPDR iter env 5
-      - 30  # rls2005 NDRPDR iter env 5
-      - 31  # rls2005 NDRPDR iter env 5
-      - 32  # rls2005 NDRPDR iter env 5
-      - 19  # rls2005 MRR iter env 5
-      - 3   # rls2009 NDRPDR iter env 5
-      - 6   # rls2009 NDRPDR iter env 5
-      - 7   # rls2009 NDRPDR iter env 5
-      - 8   # rls2009 NDRPDR iter env 5
-      - 10  # rls2009 NDRPDR iter env 5
-      - 11  # rls2009 NDRPDR iter env 5
-      - 12  # rls2009 NDRPDR iter env 5
-      - 14  # rls2009 NDRPDR iter env 5
-      - 15  # rls2009 NDRPDR iter env 5
-      - 24  # rls2009 NDRPDR iter env 5
-      - 22  # rls2009 MRR iter env 5
-    csit-vpp-perf-report-iterative-2101-3n-dnv:
-      - 32  # rls2101.rel MRR iter env 6
-      - 33  # rls2101.rel NDRPDR iter env 6
-      - 34  # rls2101.rel NDRPDR iter env 6
-      - 35  # rls2101.rel NDRPDR iter env 6
-      - 36  # rls2101.rel NDRPDR iter env 6
-      - 37  # rls2101.rel NDRPDR iter env 6
-      - 38  # rls2101.rel NDRPDR iter env 6
-      - 39  # rls2101.rel NDRPDR iter env 6
-      - 40  # rls2101.rel NDRPDR iter env 6
-      - 41  # rls2101.rel NDRPDR iter env 6
-      - 42  # rls2101.rel NDRPDR iter env 6
-      - 43  # rls2101.rel NDRPDR iter RND env 6
-      - 44  # rls2101.rel NDRPDR iter RND env 6
-      - 45  # rls2101.rel NDRPDR iter RND env 6
-      - 46  # rls2101.rel NDRPDR iter RND env 6
-      - 47  # rls2101.rel NDRPDR iter RND env 6
-      - 48  # rls2101.rel NDRPDR iter RND env 6
-      - 49  # rls2101.rel NDRPDR iter RND env 6
-      - 50  # rls2101.rel NDRPDR iter RND env 6
-      - 51  # rls2101.rel NDRPDR iter RND env 6
-      - 52  # rls2101.rel NDRPDR iter RND env 6
-    csit-vpp-perf-report-coverage-2101-3n-dnv:
-      - 1   # rls2101.rel NDRPDR cov env 6 3n-dnv-crypto-00
-      - 2   # rls2101.rel NDRPDR cov env 6 3n-dnv-crypto-01
-      - 3   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-00
-      - 4   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-01
-      - 5   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4tun-00
-      - 6   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip6-00
-      - 7   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip6-01
-      - 8   # rls2101.rel NDRPDR cov env 6 3n-dnv-l2-00
-      - 9   # rls2101.rel NDRPDR cov env 6 3n-dnv-l2-01
-
-    csit-vpp-perf-report-iterative-2009-2n-dnv:
-      - 16  # rls2005 NDRPDR iter env 5
-      - 17  # rls2005 NDRPDR iter env 5
-      - 18  # rls2005 NDRPDR iter env 5
-      - 19  # rls2005 NDRPDR iter env 5
-      - 21  # rls2005 NDRPDR iter env 5
-      - 24  # rls2005 NDRPDR iter env 5
-      - 27  # rls2005 NDRPDR iter env 5
-      - 28  # rls2005 NDRPDR iter env 5
-      - 29  # rls2005 NDRPDR iter env 5
-      - 30  # rls2005 NDRPDR iter env 5
-      - 23  # rls2005 MRR iter env 5
-      - 3   # rls2009 NDRPDR iter env 5
-      - 5   # rls2009 NDRPDR iter env 5
-      - 6   # rls2009 NDRPDR iter env 5
-      - 7   # rls2009 NDRPDR iter env 5
-      - 9   # rls2009 NDRPDR iter env 5
-      - 10  # rls2009 NDRPDR iter env 5
-      - 11  # rls2009 NDRPDR iter env 5
-      - 12  # rls2009 NDRPDR iter env 5
-      - 14  # rls2009 NDRPDR iter env 5
-      - 15  # rls2009 NDRPDR iter env 5
-      - 13  # rls2009 MRR iter env 5
-    csit-vpp-perf-report-iterative-2101-2n-dnv:
-      - 31  # rls2101.rel MRR iter env 6
-      - 32  # rls2101.rel NDRPDR iter env 6
-      - 33  # rls2101.rel NDRPDR iter env 6
-      - 34  # rls2101.rel NDRPDR iter env 6
-      - 35  # rls2101.rel NDRPDR iter env 6
-      - 39  # rls2101.rel NDRPDR iter env 6
-      - 41  # rls2101.rel NDRPDR iter env 6
-      - 42  # rls2101.rel NDRPDR iter env 6
-      - 43  # rls2101.rel NDRPDR iter env 6
-      - 44  # rls2101.rel NDRPDR iter env 6
-      - 45  # rls2101.rel NDRPDR iter env 6
-      - 46  # rls2101.rel NDRPDR iter RND env 6
-      - 47  # rls2101.rel NDRPDR iter RND env 6
-      - 48  # rls2101.rel NDRPDR iter RND env 6
-      - 49  # rls2101.rel NDRPDR iter RND env 6
-      - 50  # rls2101.rel NDRPDR iter RND env 6
-      - 51  # rls2101.rel NDRPDR iter RND env 6
-      - 52  # rls2101.rel NDRPDR iter RND env 6
-      - 53  # rls2101.rel NDRPDR iter RND env 6
-      - 54  # rls2101.rel NDRPDR iter RND env 6
-      - 55  # rls2101.rel NDRPDR iter RND env 6
-    csit-vpp-perf-report-coverage-2101-2n-dnv:
-      - 1   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-00
-      - 2   # rls2101.rel NDRPDR cov env 6 3n-dnv-ip4-01
-      - 3   # rls2101.rel NDRPDR cov env 6 2n-dnv-ip6-00
-      - 4   # rls2101.rel NDRPDR cov env 6 2n-dnv-ip6-01
-      - 5   # rls2101.rel NDRPDR cov env 6 2n-dnv-l2-00
-      - 6   # rls2101.rel NDRPDR cov env 6 2n-dnv-l2-01
-
-    csit-dpdk-perf-report-iterative-2005-3n-hsw:
-      - 25  # NDRPDR iter
-      - 26  # NDRPDR iter
-      - 27  # NDRPDR iter
-      - 28  # NDRPDR iter
-      - 29  # NDRPDR iter
-      - 30  # NDRPDR iter
-      - 31  # NDRPDR iter
-      - 32  # NDRPDR iter
-      - 33  # NDRPDR iter
-      - 34  # NDRPDR iter
-    csit-dpdk-perf-report-iterative-2009-3n-hsw:
-      - 6   # NDRPDR iter env5
-      - 7   # NDRPDR iter env5
-      - 8   # NDRPDR iter env5
-      - 9   # NDRPDR iter env5
-      - 10  # NDRPDR iter env5
-      - 11  # NDRPDR iter env5
-      - 12  # NDRPDR iter env5
-      - 13  # NDRPDR iter env5
-      - 14  # NDRPDR iter env5
-      - 15  # NDRPDR iter env5
-    csit-dpdk-perf-report-iterative-2101-3n-hsw:
-      - 11  # rls2101 NDRPDR iter env 6
-      - 12  # rls2101 NDRPDR iter env 6
-      - 13  # rls2101 NDRPDR iter env 6
-      - 14  # rls2101 NDRPDR iter env 6
-      - 16  # rls2101 NDRPDR iter env 6
-      - 17  # rls2101 NDRPDR iter env 6
-      - 18  # rls2101 NDRPDR iter env 6
-      - 19  # rls2101 NDRPDR iter env 6
-      - 20  # rls2101 NDRPDR iter env 6
-      - 21  # rls2101 NDRPDR iter env 6
-
-    csit-dpdk-perf-report-iterative-2005-3n-skx:
-      - 28  # NDRPDR iter
-      - 29  # NDRPDR iter
-      - 30  # NDRPDR iter
-      - 31  # NDRPDR iter
-      - 32  # NDRPDR iter
-      - 33  # NDRPDR iter
-      - 34  # NDRPDR iter
-      - 35  # NDRPDR iter
-      - 36  # NDRPDR iter
-      - 37  # NDRPDR iter
-    csit-dpdk-perf-report-iterative-2009-3n-skx:
-      - 4   # NDRPDR sel env5
-      - 5   # NDRPDR sel env5
-      - 6   # NDRPDR sel env5
-      - 7   # NDRPDR sel env5
-      - 8   # NDRPDR sel env5
-      - 9   # NDRPDR sel env5
-      - 14  # NDRPDR sel env5
-      - 11  # NDRPDR sel env5
-      - 12  # NDRPDR sel env5
-      - 13  # NDRPDR sel env5
-    csit-dpdk-perf-report-iterative-2101-3n-skx:
-      - 12  # rls2101 NDRPDR iter env 6
-      - 14  # rls2101 NDRPDR iter env 6
-      - 15  # rls2101 NDRPDR iter env 6
-      - 17  # rls2101 NDRPDR iter env 6
-      - 19  # rls2101 NDRPDR iter env 6
-      - 20  # rls2101 NDRPDR iter env 6
-      - 21  # rls2101 NDRPDR iter env 6
-      - 22  # rls2101 NDRPDR iter env 6
-      - 25  # rls2101 NDRPDR iter env 6
-      - 26  # rls2101 NDRPDR iter env 6
-
-    csit-dpdk-perf-report-iterative-2005-2n-skx:
-      - 20  # NDRPDR iter
-      - 21  # NDRPDR iter
-      - 22  # NDRPDR iter
-      - 23  # NDRPDR iter
-      - 24  # NDRPDR iter
-      - 25  # NDRPDR iter
-      - 26  # NDRPDR iter
-      - 27  # NDRPDR iter
-      - 28  # NDRPDR iter
-      - 29  # NDRPDR iter
-    csit-dpdk-perf-report-iterative-2009-2n-skx:
-      - 4   # NDRPDR iter env5
-      - 5   # NDRPDR iter env5
-      - 6   # NDRPDR iter env5
-      - 7   # NDRPDR iter env5
-      - 8   # NDRPDR iter env5
-      - 9   # NDRPDR iter env5
-      - 10  # NDRPDR iter env5
-      - 11  # NDRPDR iter env5
-      - 12  # NDRPDR iter env5
-      - 13  # NDRPDR iter env5
-    csit-dpdk-perf-report-iterative-2101-2n-skx:
-      - 11  # rls2101 NDRPDR iter env 6
-      - 12  # rls2101 NDRPDR iter env 6
-      - 13  # rls2101 NDRPDR iter env 6
-      - 14  # rls2101 NDRPDR iter env 6
-      - 15  # rls2101 NDRPDR iter env 6
-      - 17  # rls2101 NDRPDR iter env 6
-      - 18  # rls2101 NDRPDR iter env 6
-      - 19  # rls2101 NDRPDR iter env 6
-      - 20  # rls2101 NDRPDR iter env 6
-      - 21  # rls2101 NDRPDR iter env 6
-
-    csit-dpdk-perf-report-iterative-2005-2n-clx:
-      - 20  # NDRPDR iter
-      - 21  # NDRPDR iter
-      - 22  # NDRPDR iter
-      - 23  # NDRPDR iter
-      - 24  # NDRPDR iter
-      - 25  # NDRPDR iter
-      - 26  # NDRPDR iter
-      - 27  # NDRPDR iter
-      - 28  # NDRPDR iter
-      - 29  # NDRPDR iter
-    csit-dpdk-perf-report-iterative-2009-2n-clx:
-      - 4   # NDRPDR iter env5
-      - 5   # NDRPDR iter env5
-      - 6   # NDRPDR iter env5
-      - 7   # NDRPDR iter env5
-      - 8   # NDRPDR iter env5
-      - 9   # NDRPDR iter env5
-      - 10  # NDRPDR iter env5
-      - 11  # NDRPDR iter env5
-      - 12  # NDRPDR iter env5
-      - 13  # NDRPDR iter env5
-    csit-dpdk-perf-report-iterative-2101-2n-clx:
-      - 12  # rls2101 NDRPDR iter env 6
-      - 13  # rls2101 NDRPDR iter env 6
-      - 14  # rls2101 NDRPDR iter env 6
-      - 15  # rls2101 NDRPDR iter env 6
-      - 17  # rls2101 NDRPDR iter env 6
-      - 18  # rls2101 NDRPDR iter env 6
-      - 19  # rls2101 NDRPDR iter env 6
-      - 20  # rls2101 NDRPDR iter env 6
-      - 21  # rls2101 NDRPDR iter env 6
-      - 22  # rls2101 NDRPDR iter env 6
-
-    csit-dpdk-perf-report-iterative-2009-2n-zn2:
-      - 16  # NDRPDR iter env5
-      - 21  # NDRPDR iter env5
-      - 22  # NDRPDR iter env5
-      - 23  # NDRPDR iter env5
-      - 24  # NDRPDR iter env5
-      - 25  # NDRPDR iter env5
-      - 29  # NDRPDR iter env5
-    csit-dpdk-perf-report-iterative-2101-2n-zn2:
-      - 11  # rls2101 NDRPDR iter env 6
-      - 12  # rls2101 NDRPDR iter env 6
-      - 13  # rls2101 NDRPDR iter env 6
-      - 14  # rls2101 NDRPDR iter env 6
-      - 16  # rls2101 NDRPDR iter env 6
-      - 17  # rls2101 NDRPDR iter env 6
-      - 18  # rls2101 NDRPDR iter env 6
-      - 19  # rls2101 NDRPDR iter env 6
-      - 20  # rls2101 NDRPDR iter env 6
-      - 21  # rls2101 NDRPDR iter env 6
-
-#    csit-dpdk-perf-report-iterative-2005-2n-dnv:
-#      # No data
-#    # csit-dpdk-perf-report-iterative-2009-2n-dnv:
-#      # No data
-#
-#    csit-dpdk-perf-report-iterative-2005-3n-dnv:
-#      # No data
-#    # csit-dpdk-perf-report-iterative-2009-3n-dnv:
-#      # No data
-
-    csit-dpdk-perf-report-iterative-2005-3n-tsh:
-      - 5   # NDRPDR sel
-    csit-dpdk-perf-report-iterative-2009-3n-tsh:
-      - 1   # NDRPDR iter env5
-      - 2   # NDRPDR iter env5
-      - 3   # NDRPDR iter env5
-      - 4   # NDRPDR iter env5
-      - 5   # NDRPDR iter env5
-      - 6   # NDRPDR iter env5
-      - 7   # NDRPDR iter env5
-      - 9   # NDRPDR iter env5
-      - 10  # NDRPDR iter env5
-      - 11  # NDRPDR iter env5
-    csit-dpdk-perf-report-iterative-2101-3n-tsh:
-      - 11  # rls2101 NDRPDR iter env 6
-      - 12  # rls2101 NDRPDR iter env 6
-      - 13  # rls2101 NDRPDR iter env 6
-      - 14  # rls2101 NDRPDR iter env 6
-      - 16  # rls2101 NDRPDR iter env 6
-      - 17  # rls2101 NDRPDR iter env 6
-      - 18  # rls2101 NDRPDR iter env 6
-      - 19  # rls2101 NDRPDR iter env 6
-      - 20  # rls2101 NDRPDR iter env 6
-      - 21  # rls2101 NDRPDR iter env 6
-
-    csit-dpdk-perf-report-iterative-2101-2n-tx2:
-      - 4   # rls2101 NDRPDR iter env 6
-      - 6   # rls2101 NDRPDR iter env 6
-      - 7   # rls2101 NDRPDR iter env 6
-      - 8   # rls2101 NDRPDR iter env 6
-      - 9   # rls2101 NDRPDR iter env 6
-      - 10  # rls2101 NDRPDR iter env 6
-      - 11  # rls2101 NDRPDR iter env 6
-      - 12  # rls2101 NDRPDR iter env 6
-      - 13  # rls2101 NDRPDR iter env 6
-      - 14  # rls2101 NDRPDR iter env 6
-
-    csit-vpp-device-2101-ubuntu1804-1n-skx:
-      - 358  # rls2101.rel VPP DEV env 6
-
-- type: "output"
-  output: "report"
-  format:
-    html:
-    - full
-#     pdf:
-#     - minimal
-
 ################################################################################
 ###                               T A B L E S                                ###
 ################################################################################
diff --git a/resources/tools/presentation/specifications/report/environment.yaml b/resources/tools/presentation/specifications/report/environment.yaml
new file mode 100644 (file)
index 0000000..e4144dc
--- /dev/null
@@ -0,0 +1,270 @@
+################################################################################
+###                          E N V I R O N M E N T                           ###
+################################################################################
+
+- type: "environment"
+
+  spec-files:
+    - "specifications/report/data_sets.yaml"
+    - "specifications/report/layouts.yaml"
+    - "specifications/report/elements.yaml"
+
+  paths:
+    # Top level directories:
+    ## Working directory
+    DIR[WORKING]: "_tmp"
+    ## Build directories
+    DIR[BUILD,HTML]: "_build"
+    DIR[BUILD,LATEX]: "_build_latex"
+
+    # Static .rst files
+    DIR[RST]: "../../../docs/report"
+
+    # Working directories
+    ## Input data files (.zip, .xml)
+    DIR[WORKING,DATA]: "{DIR[WORKING]}/data"
+    ## Static source files from git
+    DIR[WORKING,SRC]: "{DIR[WORKING]}/src"
+    DIR[WORKING,SRC,STATIC]: "{DIR[WORKING,SRC]}/_static"
+
+    # Static html content
+    DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
+    DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
+    DIR[STATIC,DPDK]: "{DIR[STATIC]}/dpdk"
+    DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
+
+    # Detailed test results
+    DIR[DTR]: "{DIR[WORKING,SRC]}/detailed_test_results"
+    DIR[DTR,PERF,DPDK,3N,HSW]: "{DIR[DTR]}/dpdk_performance_results_3n_hsw"
+    DIR[DTR,PERF,DPDK,3N,SKX]: "{DIR[DTR]}/dpdk_performance_results_3n_skx"
+    DIR[DTR,PERF,DPDK,2N,SKX]: "{DIR[DTR]}/dpdk_performance_results_2n_skx"
+    DIR[DTR,PERF,DPDK,2N,ZN2]: "{DIR[DTR]}/dpdk_performance_results_2n_zn2"
+    DIR[DTR,PERF,DPDK,2N,CLX]: "{DIR[DTR]}/dpdk_performance_results_2n_clx"
+    DIR[DTR,PERF,DPDK,2N,DNV]: "{DIR[DTR]}/dpdk_performance_results_2n_dnv"
+    DIR[DTR,PERF,DPDK,3N,DNV]: "{DIR[DTR]}/dpdk_performance_results_3n_dnv"
+    DIR[DTR,PERF,DPDK,3N,TSH]: "{DIR[DTR]}/dpdk_performance_results_3n_tsh"
+    DIR[DTR,PERF,DPDK,2N,TX2]: "{DIR[DTR]}/dpdk_performance_results_2n_tx2"
+    DIR[DTR,PERF,VPP,ALL]: "{DIR[DTR]}/vpp_performance_results"
+    DIR[DTR,PERF,VPP,3N,HSW]: "{DIR[DTR]}/vpp_performance_results_3n_hsw"
+    DIR[DTR,PERF,VPP,3N,SKX]: "{DIR[DTR]}/vpp_performance_results_3n_skx"
+    DIR[DTR,PERF,VPP,2N,SKX]: "{DIR[DTR]}/vpp_performance_results_2n_skx"
+    DIR[DTR,PERF,VPP,2N,ZN2]: "{DIR[DTR]}/vpp_performance_results_2n_zn2"
+    DIR[DTR,PERF,VPP,2N,CLX]: "{DIR[DTR]}/vpp_performance_results_2n_clx"
+    DIR[DTR,PERF,VPP,2N,ICX]: "{DIR[DTR]}/vpp_performance_results_2n_icx"
+    DIR[DTR,PERF,VPP,3N,TSH]: "{DIR[DTR]}/vpp_performance_results_3n_tsh"
+    DIR[DTR,PERF,VPP,2N,TX2]: "{DIR[DTR]}/vpp_performance_results_2n_tx2"
+    DIR[DTR,PERF,VPP,3N,DNV]: "{DIR[DTR]}/vpp_performance_results_3n_dnv"
+    DIR[DTR,PERF,VPP,2N,DNV]: "{DIR[DTR]}/vpp_performance_results_2n_dnv"
+    DIR[DTR,MRR,VPP,ALL]: "{DIR[DTR]}/vpp_mrr_results"
+    DIR[DTR,MRR,VPP,3N,HSW]: "{DIR[DTR]}/vpp_mrr_results_3n_hsw"
+    DIR[DTR,MRR,VPP,3N,SKX]: "{DIR[DTR]}/vpp_mrr_results_3n_skx"
+    DIR[DTR,MRR,VPP,2N,SKX]: "{DIR[DTR]}/vpp_mrr_results_2n_skx"
+    DIR[DTR,MRR,VPP,2N,ZN2]: "{DIR[DTR]}/vpp_mrr_results_2n_zn2"
+    DIR[DTR,MRR,VPP,2N,CLX]: "{DIR[DTR]}/vpp_mrr_results_2n_clx"
+    DIR[DTR,MRR,VPP,2N,ICX]: "{DIR[DTR]}/vpp_mrr_results_2n_icx"
+    DIR[DTR,MRR,VPP,3N,TSH]: "{DIR[DTR]}/vpp_mrr_results_3n_tsh"
+    DIR[DTR,MRR,VPP,2N,TX2]: "{DIR[DTR]}/vpp_mrr_results_2n_tx2"
+    DIR[DTR,MRR,VPP,3N,DNV]: "{DIR[DTR]}/vpp_mrr_results_3n_dnv"
+    DIR[DTR,MRR,VPP,2N,DNV]: "{DIR[DTR]}/vpp_mrr_results_2n_dnv"
+    DIR[DTR,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTR]}/vpp_device_results_ubuntu"
+
+    # Detailed test configurations
+    DIR[DTC]: "{DIR[WORKING,SRC]}/test_configuration"
+    DIR[DTC,PERF,VPP,ALL]: "{DIR[DTC]}/vpp_performance_configuration"
+    DIR[DTC,PERF,VPP,3N,HSW]: "{DIR[DTC]}/vpp_performance_configuration_3n_hsw"
+    DIR[DTC,PERF,VPP,3N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_3n_skx"
+    DIR[DTC,PERF,VPP,2N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_2n_skx"
+    DIR[DTC,PERF,VPP,2N,ZN2]: "{DIR[DTC]}/vpp_performance_configuration_2n_zn2"
+    DIR[DTC,PERF,VPP,2N,CLX]: "{DIR[DTC]}/vpp_performance_configuration_2n_clx"
+    DIR[DTC,PERF,VPP,2N,ICX]: "{DIR[DTC]}/vpp_performance_configuration_2n_icx"
+    DIR[DTC,PERF,VPP,3N,TSH]: "{DIR[DTC]}/vpp_performance_configuration_3n_tsh"
+    DIR[DTC,PERF,VPP,2N,TX2]: "{DIR[DTC]}/vpp_performance_configuration_2n_tx2"
+    DIR[DTC,PERF,VPP,3N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_3n_dnv"
+    DIR[DTC,PERF,VPP,2N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_2n_dnv"
+    DIR[DTC,MRR,VPP,ALL]: "{DIR[DTC]}/vpp_mrr_configuration"
+    DIR[DTC,MRR,VPP,3N,HSW]: "{DIR[DTC]}/vpp_mrr_configuration_3n_hsw"
+    DIR[DTC,MRR,VPP,3N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_3n_skx"
+    DIR[DTC,MRR,VPP,2N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_skx"
+    DIR[DTC,MRR,VPP,2N,ZN2]: "{DIR[DTC]}/vpp_mrr_configuration_2n_zn2"
+    DIR[DTC,MRR,VPP,2N,CLX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_clx"
+    DIR[DTC,MRR,VPP,2N,ICX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_icx"
+    DIR[DTC,MRR,VPP,3N,TSH]: "{DIR[DTC]}/vpp_mrr_configuration_3n_tsh"
+    DIR[DTC,MRR,VPP,2N,TX2]: "{DIR[DTC]}/vpp_mrr_configuration_2n_tx2"
+    DIR[DTC,MRR,VPP,3N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_3n_dnv"
+    DIR[DTC,MRR,VPP,2N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_2n_dnv"
+    DIR[DTC,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTC]}/vpp_device_configuration_ubuntu"
+
+    # Detailed tests operational data
+    DIR[DTO]: "{DIR[WORKING,SRC]}/test_operational_data"
+    DIR[DTO,PERF,VPP,ALL]: "{DIR[DTO]}/vpp_performance_operational_data"
+    DIR[DTO,PERF,VPP,3N,HSW]: "{DIR[DTO]}/vpp_performance_operational_data_3n_hsw"
+    DIR[DTO,PERF,VPP,3N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_3n_skx"
+    DIR[DTO,PERF,VPP,2N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_skx"
+    DIR[DTO,PERF,VPP,2N,ZN2]: "{DIR[DTO]}/vpp_performance_operational_data_2n_zn2"
+    DIR[DTO,PERF,VPP,2N,CLX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_clx"
+    DIR[DTO,PERF,VPP,2N,ICX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_icx"
+    DIR[DTO,PERF,VPP,3N,TSH]: "{DIR[DTO]}/vpp_performance_operational_data_3n_tsh"
+    DIR[DTO,PERF,VPP,2N,TX2]: "{DIR[DTO]}/vpp_performance_operational_data_2n_tx2"
+    DIR[DTO,PERF,VPP,3N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_3n_dnv"
+    DIR[DTO,PERF,VPP,2N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_2n_dnv"
+
+    # Latencies:
+    DIR[LAT,VPP]: "{DIR[WORKING,SRC]}/vpp_performance_tests/hdrh_packet_latency_by_percentile_graphs"
+    DIR[LAT,DPDK]: "{DIR[WORKING,SRC]}/dpdk_performance_tests/hdrh_packet_latency_by_percentile_graphs"
+
+    # .css patch file to fix tables generated by Sphinx
+    DIR[CSS_PATCH_FILE]: "{DIR[STATIC]}/theme_overrides.css"
+    DIR[CSS_PATCH_FILE2]: "{DIR[WORKING,SRC,STATIC]}/theme_overrides.css"
+
+  # Data sources are used in this order:
+  data-sources:
+    # JSON from S3
+    - type: "json"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.json.gz"
+      file-format: ".gz"
+      enabled: False
+    # XML
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    # XML from docs.nexus
+    - type: "xml-docs"
+      url: "https://docs.fd.io/csit"
+      path: "report/_static/archive"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml-docs"
+      url: "https://docs.fd.io/csit"
+      path: "report/_static/archive"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml-docs"
+      url: "https://docs.fd.io/csit"
+      path: "report/_static/archive"
+      file-name: "robot-plugin.zip"
+      file-format: ".zip"
+      enabled: True
+
+  archive-inputs: True
+
+  mapping-file: ""
+
+  ignore-list: ""
+
+  make-dirs:
+  # List the directories which are created while preparing the environment.
+  # All directories MUST be defined in "paths" section.
+    - "DIR[WORKING,DATA]"
+    - "DIR[STATIC,VPP]"
+    - "DIR[STATIC,DPDK]"
+    - "DIR[STATIC,ARCH]"
+    - "DIR[BUILD,LATEX]"
+    - "DIR[WORKING,SRC]"
+    - "DIR[WORKING,SRC,STATIC]"
+
+  remove-dirs:
+  # List the directories which are deleted while cleaning the environment.
+  # All directories MUST be defined in "paths" section.
+  #  - "DIR[BUILD,HTML]"
+    - "DIR[WORKING,DATA]"
+
+  build-dirs:
+  # List the directories where the results (build) is stored.
+  # All directories MUST be defined in "paths" section.
+    - "DIR[BUILD,HTML]"
+    - "DIR[BUILD,LATEX]"
+
+  reverse-input: False  # Needed for trending, not important for the report
+
+  # TODO: Change in code needed, it was in type: "configuration"
+  limits:
+    nic:
+      x520: 24460000
+      x553: 29761905
+      x710: 35800000
+      xxv710: 35800000
+      xl710: 35800000
+      cx556a: 148809523.81
+      e810cq: 148809523.81
+
+    link:
+      10ge: 14880952.38
+      25ge: 37202380.95
+      40ge: 59523809.52
+      100ge: 148809523.81
+
+    pci:
+      pci-g3-x8: 74404761.90
+      pci-g3-x16: 148809523.81
+
+################################################################################
+###                               S T A T I C                                ###
+################################################################################
+
+- type: "static"
+  src-path: "{DIR[RST]}"
+  dst-path: "{DIR[WORKING,SRC]}"
+
+################################################################################
+###                               O U T P U T                                ###
+################################################################################
+
+- type: "output"
+  arch-file-format:  # moved from input, TODO: change it in the code
+    - ".gz"
+    - ".zip"
+  output: "report"
+  format:
+    html:
+    - full
+#     pdf:
+#     - minimal
diff --git a/resources/tools/presentation/specifications/report/layouts.yaml b/resources/tools/presentation/specifications/report/layouts.yaml
new file mode 100644 (file)
index 0000000..0f5b4a5
--- /dev/null
@@ -0,0 +1,875 @@
+################################################################################
+###                              L A Y O U T S                               ###
+################################################################################
+
+- type: "layouts"
+
+  plot-soak-throughput:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Critical Rate Lower Bound [Mpps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,50]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-service-density:
+    titlefont:
+      size: 16
+    xaxis:
+      side: "top"
+      autorange: True
+      fixedrange: False
+      showgrid: False
+      showline: False
+      showticklabels: False
+      ticks: ""
+      ticklen: 0
+      tickwidth: 0
+      zeroline: False
+    yaxis:
+      autorange: "reversed"
+      showgrid: False
+      showline: False
+      showticklabels: False
+      ticks: ""
+      ticklen: 0
+      tickwidth: 0
+      zeroline: False
+    showlegend: False
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    width: 700
+    height: 700
+    hoverlabel:
+      namelength: -1
+
+  plot-hoststack:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Bandwidth [Gbps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      rangemode: "tozero"
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(230, 230, 230)"
+      tickformat: ".3s"
+      tickfont:
+        size: 14
+      zeroline: False
+    autosize: False
+    margin:
+      t: 50
+      b: 20
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 800
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-throughput:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Throughput [Mpps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,50]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-throughput-gbps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Data Throughput [Gbps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,10]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-cps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Connection Rate [Mcps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,10]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-throughput-speedup-analysis:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Number of Cores [Qty]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Throughput [Mpps]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+      range: [0,100]
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 85
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+    annotations: [
+      {
+        text: "_ _          __          ...",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.14,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+      {
+        text: "    Perfect     Measured     Limit",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.15,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+    ]
+
+  plot-throughput-speedup-analysis-gbps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Number of Cores [Qty]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Throughput [Gbps]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+      range: [0,100]
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 85
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+    annotations: [
+      {
+        text: "_ _          __",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.13,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+      {
+        text: "    Perfect     Measured",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.15,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+    ]
+
+  plot-throughput-speedup-analysis-cps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Number of Cores [Qty]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Connection Rate [Mcps]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+      range: [0,100]
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 85
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+    annotations: [
+      {
+        text: "_ _          __",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.13,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+      {
+        text: "    Perfect     Measured",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.15,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+    ]
+
+  plot-latency:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Direction</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: False
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Latency [uSec]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 80
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-hdrh-latency:
+    title:
+      text: ""
+      xanchor: "center"
+      x: 0.5
+      font:
+        size: 16
+    width: 700
+    plot_bgcolor: "white"
+    annotations:
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Packet Latency [uSec]</b>"
+        x: 1
+        xanchor: "right"
+        xref: "paper"
+        y: -0.045
+        yanchor: "top"
+        yref: "paper"
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Probability [%]</b>"
+        textangle: 270
+        x: -0.06
+        xanchor: "center"
+        xref: "paper"
+        y: 0.5
+        yanchor: "middle"
+        yref: "paper"
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Direction: E-W</b>"
+        x: 0.24
+        xanchor: "center"
+        xref: "paper"
+        y: 1.05
+        yanchor: "bottom"
+        yref: "paper"
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Direction: W-E</b>"
+        x: 0.74
+        xanchor: "center"
+        xref: "paper"
+        y: 1.05
+        yanchor: "bottom"
+        yref: "paper"
+
+  plot-hdrh-latency-percentile-x-log:
+    title:
+      text: "<b>Latency by Percentile Distribution</b>"
+      xanchor: "center"
+      x: 0.5
+      font:
+        size: 18
+    showlegend: True
+    legend:
+      traceorder: "normal"
+      orientation: "h"
+      font:
+        size: 16
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+    xaxis:
+      type: "log"
+      title: "<b>Percentile [%]</b>"
+      titlefont:
+        size: 14
+      autorange: False
+      fixedrange: True
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickvals: [1, 2, 1e1, 20, 1e2, 1e3, 1e4, 1e5, 1e6]
+      ticktext: [0, 50, 90, 95, 99, 99.9, 99.99, 99.999, 99.9999]
+      tickfont:
+        size: 14
+    yaxis:
+      title: "<b>One-Way Latency per Direction [uSec]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+    autosize: False
+    width: 700
+    height: 700
+    paper_bgcolor: "white"
+    plot_bgcolor: "white"
+
+  plot-hdrh-latency-by-percentile:
+    title:
+      text: "<b>Latency by Percentile Distribution</b>"
+      xanchor: "center"
+      x: 0.5
+      font:
+        size: 18
+    showlegend: True
+    legend:
+      traceorder: "normal"
+      orientation: "h"
+      font:
+        size: 16
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+    xaxis:
+      type: "linear"
+      title: "<b>Percentile [%]</b>"
+      titlefont:
+        size: 14
+      autorange: False
+      fixedrange: False
+      range: [0, 100]
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickvals: [0, 25, 50, 75, 100]
+      ticktext: [0, 25, 50, 75, 100]
+      tickfont:
+        size: 14
+    yaxis:
+      title: "<b>One-Way Latency per Direction [uSec]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+    width: 700
+    height: 700
+    paper_bgcolor: "white"
+    plot_bgcolor: "white"
+
+  plot-scatter-error-bars-gbps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Data Throughput [Gbps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,10]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
diff --git a/resources/tools/presentation/specifications/report_local/data_sets.yaml b/resources/tools/presentation/specifications/report_local/data_sets.yaml
new file mode 100644 (file)
index 0000000..c756a46
--- /dev/null
@@ -0,0 +1,51 @@
+################################################################################
+###                            D A T A   S E T S                             ###
+################################################################################
+
+- type: "data-sets"
+
+  plot-vpp-throughput-tsa-3n-aws:
+    3n-aws-iter:
+      - 1
+      - 2
+      - 3
+      - 4
+      - 5
+      - 6
+      - 7
+      - 8
+
+  vpp-perf-results-3n-aws:
+    3n-aws-iter:
+      - 1
+      - 2
+
+  plot-vpp-latency-3n-aws:
+    3n-aws-iter:
+      - 1
+      - 2
+
+  plot-vpp-throughput-tsa-2n-aws:
+    2n-aws-iter:
+      - 1
+      - 2
+      - 3
+      - 4
+      - 5
+      - 6
+      - 7
+      - 8
+      - 9
+      - 10
+
+  vpp-perf-results-2n-aws:
+    2n-aws-iter:
+      - 1
+      - 2
+      - 9
+
+  plot-vpp-latency-2n-aws:
+    2n-aws-iter:
+      - 1
+      - 2
+      - 9
diff --git a/resources/tools/presentation/specifications/report_local/elements.yaml b/resources/tools/presentation/specifications/report_local/elements.yaml
new file mode 100644 (file)
index 0000000..87ee409
--- /dev/null
@@ -0,0 +1,322 @@
+# Tables:
+
+# Detailed Test Results - VPP Performance Results 3n-aws
+- type: "table"
+  title: "Detailed Test Results - VPP Performance Results 3n-aws"
+  algorithm: "table_merged_details"
+  output-file: "{DIR[DTR,PERF,VPP,3N,AWS]}/"
+  columns:
+  - title: " |prein| Test Name |preout| "
+    data: "data name"
+  - title: " |prein| Throughput: |br| 1.  Mpps       Gbps (NDR) |br| 2.  Mpps       Gbps (PDR) |br| |br| One-Way Latency Percentiles in uSec at %PDR load, |br| one set per each direction: |br| 3.  P50  P90  P99       P50  P90  P99 (10% PDR) |br| 4.  P50  P90  P99       P50  P90  P99 (50% PDR) |br| 5.  P50  P90  P99       P50  P90  P99 (90% PDR) |preout| "
+    data: "data msg"
+  data: "vpp-perf-results-3n-aws"
+  filter: "all"
+  parameters:
+  - "name"
+  - "parent"
+  - "msg"
+
+# Test configuration - VPP Performance Test Configs 3n-aws
+- type: "table"
+  title: "Test configuration - VPP Performance Test Configs 3n-aws"
+  algorithm: "table_merged_details"
+  output-file: "{DIR[DTC,PERF,VPP,3N,AWS]}/"
+  columns:
+  - title: " |prein| Test Name |preout| "
+    data: "data name"
+  - title: " |prein| VPP API Test Commands History - Commands Used Per Test Case |preout| "
+    data: "data conf-history"
+  data: "vpp-perf-results-3n-aws"
+  filter: "all"
+  parameters:
+  - "parent"
+  - "name"
+  - "conf-history"
+
+# Test Operational Data - VPP Performance Operational Data 3n-aws
+- type: "table"
+  title: "Test Operational Data - VPP Performance Operational Data 3n-aws"
+  algorithm: "table_oper_data_html"
+  output-file: "{DIR[DTO,PERF,VPP,3N,AWS]}/"
+  data: "vpp-perf-results-3n-aws"
+  filter: "all"
+
+# Detailed Test Results - VPP Performance Results 2n-aws
+- type: "table"
+  title: "Detailed Test Results - VPP Performance Results 2n-aws"
+  algorithm: "table_merged_details"
+  output-file: "{DIR[DTR,PERF,VPP,2N,AWS]}/"
+  columns:
+  - title: " |prein| Test Name |preout| "
+    data: "data name"
+  - title: " |prein| Throughput: |br| 1.  Mpps       Gbps (NDR) |br| 2.  Mpps       Gbps (PDR) |br| |br| One-Way Latency Percentiles in uSec at %PDR load, |br| one set per each direction: |br| 3.  P50  P90  P99       P50  P90  P99 (10% PDR) |br| 4.  P50  P90  P99       P50  P90  P99 (50% PDR) |br| 5.  P50  P90  P99       P50  P90  P99 (90% PDR) |preout| "
+    data: "data msg"
+  data: "vpp-perf-results-2n-aws"
+  filter: "all"
+  parameters:
+  - "name"
+  - "parent"
+  - "msg"
+
+# Test configuration - VPP Performance Test Configs 2n-aws
+- type: "table"
+  title: "Test configuration - VPP Performance Test Configs 2n-aws"
+  algorithm: "table_merged_details"
+  output-file: "{DIR[DTC,PERF,VPP,2N,AWS]}/"
+  columns:
+  - title: " |prein| Test Name |preout| "
+    data: "data name"
+  - title: " |prein| VPP API Test Commands History - Commands Used Per Test Case |preout| "
+    data: "data conf-history"
+  data: "vpp-perf-results-2n-aws"
+  filter: "all"
+  parameters:
+  - "parent"
+  - "name"
+  - "conf-history"
+
+# Test Operational Data - VPP Performance Operational Data 2n-aws
+- type: "table"
+  title: "Test Operational Data - VPP Performance Operational Data 2n-aws"
+  algorithm: "table_oper_data_html"
+  output-file: "{DIR[DTO,PERF,VPP,2N,AWS]}/"
+  data: "vpp-perf-results-2n-aws"
+  filter: "all"
+
+# Files:
+
+# VPP Performance Results
+- type: "file"
+  title: "VPP Performance Results"
+  algorithm: "file_details_split"
+  output-file: "{DIR[DTR,PERF,VPP,ALL]}"
+  dir-tables:
+    - "{DIR[DTR,PERF,VPP,2N,AWS]}"
+    - "{DIR[DTR,PERF,VPP,3N,AWS]}"
+  data:
+    - "vpp-perf-results-2n-aws"
+    - "vpp-perf-results-3n-aws"
+  filter: "all"
+  data-start-level: 4
+  order-chapters:
+    level-1:
+      - "l2"
+      - "ip4"
+      - "ip6"
+      - "srv6"
+      - "ip4_tunnels"
+      - "ip6_tunnels"
+      - "vm_vhost"
+      - "container_memif"
+      - "crypto"
+      - "vts"
+      - "lb"
+      - "nfv_density"
+      - "hoststack"
+    level-2:
+      - "2n-skx"
+      - "3n-skx"
+      - "2n-clx"
+      - "3n-hsw"
+      - "3n-tsh"
+      - "2n-dnv"
+      - "3n-dnv"
+      - "2n-aws"
+      - "3n-aws"
+    level-3:
+      - "xl710"
+      - "x520"
+      - "xxv710"
+      - "x710"
+      - "x553"
+      - "cx556a"
+      - "vic1227"
+      - "vic1385"
+      - "ena"
+
+# VPP Performance Configuration
+- type: "file"
+  title: "VPP Performance Configuration"
+  algorithm: "file_details_split"
+  output-file: "{DIR[DTC,PERF,VPP,ALL]}"
+  dir-tables:
+    - "{DIR[DTC,PERF,VPP,2N,AWS]}"
+    - "{DIR[DTC,PERF,VPP,3N,AWS]}"
+  data:
+    - "vpp-perf-results-2n-aws"
+    - "vpp-perf-results-3n-aws"
+  filter: "all"
+  data-start-level: 4
+  order-chapters:
+    level-1:
+      - "l2"
+      - "ip4"
+      - "ip6"
+      - "srv6"
+      - "ip4_tunnels"
+      - "ip6_tunnels"
+      - "vm_vhost"
+      - "container_memif"
+      - "crypto"
+      - "vts"
+      - "lb"
+      - "nfv_density"
+      - "hoststack"
+    level-2:
+      - "2n-skx"
+      - "3n-skx"
+      - "2n-clx"
+      - "3n-hsw"
+      - "3n-tsh"
+      - "2n-dnv"
+      - "3n-dnv"
+      - "2n-aws"
+      - "3n-aws"
+    level-3:
+      - "xl710"
+      - "x520"
+      - "xxv710"
+      - "x710"
+      - "x553"
+      - "cx556a"
+      - "vic1227"
+      - "vic1385"
+      - "ena"
+
+# VPP Performance Operational
+- type: "file"
+  title: "VPP Performance Operational"
+  algorithm: "file_details_split_html"
+  output-file: "{DIR[DTO,PERF,VPP,ALL]}"
+  dir-tables:
+    - "{DIR[DTO,PERF,VPP,2N,AWS]}"
+    - "{DIR[DTO,PERF,VPP,3N,AWS]}"
+  data:
+    - "vpp-perf-results-2n-aws"
+    - "vpp-perf-results-3n-aws"
+  filter: "all"
+  data-start-level: 4
+  order-chapters:
+    level-1:
+      - "l2"
+      - "ip4"
+      - "ip6"
+      - "srv6"
+      - "ip4_tunnels"
+      - "ip6_tunnels"
+      - "vm_vhost"
+      - "container_memif"
+      - "crypto"
+      - "vts"
+      - "lb"
+      - "nfv_density"
+      - "hoststack"
+    level-2:
+      - "2n-skx"
+      - "3n-skx"
+      - "2n-clx"
+      - "3n-hsw"
+      - "3n-tsh"
+      - "2n-dnv"
+      - "3n-dnv"
+      - "2n-aws"
+      - "3n-aws"
+    level-3:
+      - "xl710"
+      - "x520"
+      - "xxv710"
+      - "x710"
+      - "x553"
+      - "cx556a"
+      - "vic1227"
+      - "vic1385"
+      - "ena"
+
+# Plots:
+
+- type: "plot"
+  title: "Throughput: 2n-aws-nitro50g-64b-{core}-ip4routing-base-scale-{test_type}"
+  algorithm: "plot_ndrpdr_box_name"
+  output-file: "{DIR[STATIC,VPP]}/2n-aws-nitro50g-64b-{core}-ip4routing-base-scale-{test_type}"
+  data: "plot-vpp-throughput-tsa-2n-aws"
+  core: ["2t1c", "4t2c"]
+  include:
+    - "Tests.Vpp.Perf.Ip4.2n1l-50ge1p1ENA-ethip4-ip4base-ndrpdr.64B-{core}-ethip4-ip4base-ndrpdr"
+#     - "Tests.Vpp.Perf.Ip4.2n1l-50ge1p1ENA-ethip4-ip4scale2m-ndrpdr.64B-{core}-ethip4-ip4scale2m-ndrpdr"
+  layout:
+    title: "2n-aws-nitro50g-64b-{core}-ip4routing-base-scale-{test_type}"
+    layout: "plot-throughput"
+
+- type: "plot"
+  title: "Throughput: 2n-aws-nitro50g-1518b-{core}-ip4routing-base-scale-{test_type}"
+  algorithm: "plot_ndrpdr_box_name"
+  output-file: "{DIR[STATIC,VPP]}/2n-aws-nitro50g-1518b-{core}-ip4routing-base-scale-{test_type}"
+  data: "plot-vpp-throughput-tsa-2n-aws"
+  core: ["2t1c", "4t2c"]
+  include:
+    - "Tests.Vpp.Perf.Ip4.2n1l-50ge1p1ENA-ethip4-ip4base-ndrpdr.1518B-{core}-ethip4-ip4base-ndrpdr"
+#     - "Tests.Vpp.Perf.Ip4.2n1l-50ge1p1ENA-ethip4-ip4scale2m-ndrpdr.1518B-{core}-ethip4-ip4scale2m-ndrpdr"
+  layout:
+    title: "2n-aws-nitro50g-1518b-{core}-ip4routing-base-scale-{test_type}"
+    layout: "plot-throughput"
+
+- type: "plot"
+  title: "Throughput: 2n-aws-nitro50g-imix-{core}-ip4routing-base-scale-{test_type}"
+  algorithm: "plot_ndrpdr_box_name"
+  output-file: "{DIR[STATIC,VPP]}/2n-aws-nitro50g-imix-{core}-ip4routing-base-scale-{test_type}"
+  data: "plot-vpp-throughput-tsa-2n-aws"
+  core: ["2t1c", "4t2c"]
+  include:
+    - "Tests.Vpp.Perf.Ip4.2n1l-50ge1p1ENA-ethip4-ip4scale2m-ndrpdr.IMIX-{core}-ethip4-ip4scale2m-ndrpdr"
+  layout:
+    title: "2n-aws-nitro50g-imix-{core}-ip4routing-base-scale-{test_type}"
+    layout: "plot-throughput"
+
+- type: "plot"
+  title: "Throughput: 3n-aws-nitro50g-64b-{core}-ip4routing-base-scale-{test_type}"
+  algorithm: "plot_ndrpdr_box_name"
+  output-file: "{DIR[STATIC,VPP]}/3n-aws-nitro50g-64b-{core}-ip4routing-base-scale-{test_type}"
+  data: "plot-vpp-throughput-tsa-3n-aws"
+  core: ["2t1c", "4t2c"]
+  include:
+    - "Tests.Vpp.Perf.Ip4.50ge1p1ENA-ethip4-ip4base-ndrpdr.64B-{core}-ethip4-ip4base-ndrpdr"
+    - "Tests.Vpp.Perf.Ip4.50ge1p1ENA-ethip4-ip4scale2m-ndrpdr.64B-{core}-ethip4-ip4scale2m-ndrpdr"
+  layout:
+    title: "3n-aws-nitro50g-64b-{core}-ip4routing-base-scale-{test_type}"
+    layout: "plot-throughput"
+
+- type: "plot"
+  title: "Throughput: 3n-aws-nitro50g-1518b-{core}-ip4routing-base-scale-{test_type}"
+  algorithm: "plot_ndrpdr_box_name"
+  output-file: "{DIR[STATIC,VPP]}/3n-aws-nitro50g-1518b-{core}-ip4routing-base-scale-{test_type}"
+  data: "plot-vpp-throughput-tsa-3n-aws"
+  core: ["2t1c", "4t2c"]
+  include:
+    - "Tests.Vpp.Perf.Ip4.50ge1p1ENA-ethip4-ip4base-ndrpdr.1518B-{core}-ethip4-ip4base-ndrpdr"
+    - "Tests.Vpp.Perf.Ip4.50ge1p1ENA-ethip4-ip4scale2m-ndrpdr.1518B-{core}-ethip4-ip4scale2m-ndrpdr"
+  layout:
+    title: "3n-aws-nitro50g-1518b-{core}-ip4routing-base-scale-{test_type}"
+    layout: "plot-throughput"
+
+- type: "plot"
+  title: "Latency by percentile: 2n-aws"
+  algorithm: "plot_hdrh_lat_by_percentile_x_log"
+  output-file: "{DIR[STATIC,VPP]}/hdrh-lat-percentile-2n-aws"
+  output-file-links: "{DIR[LAT,VPP]}/2n_aws.rst"
+  target-links: "../../_static/vpp"
+  data: "plot-vpp-latency-2n-aws"
+  filter: "'2T1C'"
+  layout:
+    layout: "plot-hdrh-latency-percentile-x-log"
+
+- type: "plot"
+  title: "Latency by percentile: 3n-aws"
+  algorithm: "plot_hdrh_lat_by_percentile_x_log"
+  output-file: "{DIR[STATIC,VPP]}/hdrh-lat-percentile-3n-aws"
+  output-file-links: "{DIR[LAT,VPP]}/3n_aws.rst"
+  target-links: "../../_static/vpp"
+  data: "plot-vpp-latency-3n-aws"
+  filter: "'2T1C'"
+  layout:
+    layout: "plot-hdrh-latency-percentile-x-log"
diff --git a/resources/tools/presentation/specifications/report_local/environment.yaml b/resources/tools/presentation/specifications/report_local/environment.yaml
new file mode 100644 (file)
index 0000000..ccf31b7
--- /dev/null
@@ -0,0 +1,259 @@
+################################################################################
+###                          E N V I R O N M E N T                           ###
+################################################################################
+
+- type: "environment"
+
+  spec-files:
+    - "specifications/report_local/data_sets.yaml"
+    - "specifications/report_local/layouts.yaml"
+    - "specifications/report_local/elements.yaml"
+
+  paths:
+    # Top level directories:
+    ## Working directory
+    DIR[WORKING]: "_tmp"
+    ## Build directories
+    DIR[BUILD,HTML]: "_build"
+    DIR[BUILD,LATEX]: "_build_latex"
+
+    # Static .rst files
+    DIR[RST]: "../../../docs/report"
+
+    # Working directories
+    ## Input data files (.zip, .xml)
+    DIR[WORKING,DATA]: "{DIR[WORKING]}/data"
+    ## Static source files from git
+    DIR[WORKING,SRC]: "{DIR[WORKING]}/src"
+    DIR[WORKING,SRC,STATIC]: "{DIR[WORKING,SRC]}/_static"
+
+    # Static html content
+    DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
+    DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
+    DIR[STATIC,DPDK]: "{DIR[STATIC]}/dpdk"
+    DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
+
+    # Detailed test results
+    DIR[DTR]: "{DIR[WORKING,SRC]}/detailed_test_results"
+    DIR[DTR,PERF,DPDK,3N,HSW]: "{DIR[DTR]}/dpdk_performance_results_3n_hsw"
+    DIR[DTR,PERF,DPDK,3N,SKX]: "{DIR[DTR]}/dpdk_performance_results_3n_skx"
+    DIR[DTR,PERF,DPDK,2N,SKX]: "{DIR[DTR]}/dpdk_performance_results_2n_skx"
+    DIR[DTR,PERF,DPDK,2N,CLX]: "{DIR[DTR]}/dpdk_performance_results_2n_clx"
+    DIR[DTR,PERF,DPDK,2N,DNV]: "{DIR[DTR]}/dpdk_performance_results_2n_dnv"
+    DIR[DTR,PERF,DPDK,3N,DNV]: "{DIR[DTR]}/dpdk_performance_results_3n_dnv"
+    DIR[DTR,PERF,DPDK,3N,TSH]: "{DIR[DTR]}/dpdk_performance_results_3n_tsh"
+    DIR[DTR,PERF,VPP,ALL]: "{DIR[DTR]}/vpp_performance_results"
+    DIR[DTR,PERF,VPP,3N,HSW]: "{DIR[DTR]}/vpp_performance_results_3n_hsw"
+    DIR[DTR,PERF,VPP,3N,SKX]: "{DIR[DTR]}/vpp_performance_results_3n_skx"
+    DIR[DTR,PERF,VPP,2N,SKX]: "{DIR[DTR]}/vpp_performance_results_2n_skx"
+    DIR[DTR,PERF,VPP,2N,CLX]: "{DIR[DTR]}/vpp_performance_results_2n_clx"
+    DIR[DTR,PERF,VPP,3N,TSH]: "{DIR[DTR]}/vpp_performance_results_3n_tsh"
+    DIR[DTR,PERF,VPP,3N,DNV]: "{DIR[DTR]}/vpp_performance_results_3n_dnv"
+    DIR[DTR,PERF,VPP,2N,DNV]: "{DIR[DTR]}/vpp_performance_results_2n_dnv"
+    DIR[DTR,PERF,VPP,3N,AWS]: "{DIR[DTR]}/vpp_performance_results_3n_aws"
+    DIR[DTR,PERF,VPP,2N,AWS]: "{DIR[DTR]}/vpp_performance_results_2n_aws"
+    DIR[DTR,MRR,VPP,ALL]: "{DIR[DTR]}/vpp_mrr_results"
+    DIR[DTR,MRR,VPP,3N,HSW]: "{DIR[DTR]}/vpp_mrr_results_3n_hsw"
+    DIR[DTR,MRR,VPP,3N,SKX]: "{DIR[DTR]}/vpp_mrr_results_3n_skx"
+    DIR[DTR,MRR,VPP,2N,SKX]: "{DIR[DTR]}/vpp_mrr_results_2n_skx"
+    DIR[DTR,MRR,VPP,2N,CLX]: "{DIR[DTR]}/vpp_mrr_results_2n_clx"
+    DIR[DTR,MRR,VPP,3N,TSH]: "{DIR[DTR]}/vpp_mrr_results_3n_tsh"
+    DIR[DTR,MRR,VPP,3N,DNV]: "{DIR[DTR]}/vpp_mrr_results_3n_dnv"
+    DIR[DTR,MRR,VPP,2N,DNV]: "{DIR[DTR]}/vpp_mrr_results_2n_dnv"
+    DIR[DTR,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTR]}/vpp_device_results_ubuntu"
+
+    # Detailed test configurations
+    DIR[DTC]: "{DIR[WORKING,SRC]}/test_configuration"
+    DIR[DTC,PERF,VPP,ALL]: "{DIR[DTC]}/vpp_performance_configuration"
+    DIR[DTC,PERF,VPP,3N,HSW]: "{DIR[DTC]}/vpp_performance_configuration_3n_hsw"
+    DIR[DTC,PERF,VPP,3N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_3n_skx"
+    DIR[DTC,PERF,VPP,2N,SKX]: "{DIR[DTC]}/vpp_performance_configuration_2n_skx"
+    DIR[DTC,PERF,VPP,2N,CLX]: "{DIR[DTC]}/vpp_performance_configuration_2n_clx"
+    DIR[DTC,PERF,VPP,3N,TSH]: "{DIR[DTC]}/vpp_performance_configuration_3n_tsh"
+    DIR[DTC,PERF,VPP,3N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_3n_dnv"
+    DIR[DTC,PERF,VPP,2N,DNV]: "{DIR[DTC]}/vpp_performance_configuration_2n_dnv"
+    DIR[DTC,PERF,VPP,3N,AWS]: "{DIR[DTC]}/vpp_performance_configuration_3n_aws"
+    DIR[DTC,PERF,VPP,2N,AWS]: "{DIR[DTC]}/vpp_performance_configuration_2n_aws"
+    DIR[DTC,MRR,VPP,ALL]: "{DIR[DTC]}/vpp_mrr_configuration"
+    DIR[DTC,MRR,VPP,3N,HSW]: "{DIR[DTC]}/vpp_mrr_configuration_3n_hsw"
+    DIR[DTC,MRR,VPP,3N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_3n_skx"
+    DIR[DTC,MRR,VPP,2N,SKX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_skx"
+    DIR[DTC,MRR,VPP,2N,CLX]: "{DIR[DTC]}/vpp_mrr_configuration_2n_clx"
+    DIR[DTC,MRR,VPP,3N,TSH]: "{DIR[DTC]}/vpp_mrr_configuration_3n_tsh"
+    DIR[DTC,MRR,VPP,3N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_3n_dnv"
+    DIR[DTC,MRR,VPP,2N,DNV]: "{DIR[DTC]}/vpp_mrr_configuration_2n_dnv"
+    DIR[DTC,FUNC,VPP,DEVICE,UBUNTU]: "{DIR[DTC]}/vpp_device_configuration_ubuntu"
+
+    # Detailed tests operational data
+    DIR[DTO]: "{DIR[WORKING,SRC]}/test_operational_data"
+    DIR[DTO,PERF,VPP,ALL]: "{DIR[DTO]}/vpp_performance_operational_data"
+    DIR[DTO,PERF,VPP,3N,HSW]: "{DIR[DTO]}/vpp_performance_operational_data_3n_hsw"
+    DIR[DTO,PERF,VPP,3N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_3n_skx"
+    DIR[DTO,PERF,VPP,2N,SKX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_skx"
+    DIR[DTO,PERF,VPP,2N,CLX]: "{DIR[DTO]}/vpp_performance_operational_data_2n_clx"
+    DIR[DTO,PERF,VPP,3N,TSH]: "{DIR[DTO]}/vpp_performance_operational_data_3n_tsh"
+    DIR[DTO,PERF,VPP,3N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_3n_dnv"
+    DIR[DTO,PERF,VPP,2N,DNV]: "{DIR[DTO]}/vpp_performance_operational_data_2n_dnv"
+    DIR[DTO,PERF,VPP,3N,AWS]: "{DIR[DTO]}/vpp_performance_operational_data_3n_aws"
+    DIR[DTO,PERF,VPP,2N,AWS]: "{DIR[DTO]}/vpp_performance_operational_data_2n_aws"
+
+    # Latencies:
+    DIR[LAT,VPP]: "{DIR[WORKING,SRC]}/vpp_performance_tests/hdrh_packet_latency_by_percentile_graphs"
+    DIR[LAT,DPDK]: "{DIR[WORKING,SRC]}/dpdk_performance_tests/hdrh_packet_latency_by_percentile_graphs"
+
+    # .css patch file to fix tables generated by Sphinx
+    DIR[CSS_PATCH_FILE]: "{DIR[STATIC]}/theme_overrides.css"
+    DIR[CSS_PATCH_FILE2]: "{DIR[WORKING,SRC,STATIC]}/theme_overrides.css"
+
+  # Data sources are used in this order:
+  data-sources:
+    # JSON from S3
+    - type: "json"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.json.gz"
+      file-format: ".gz"
+      enabled: False
+    # XML from S3
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: False
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: False
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: False
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: False
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    # XML from docs.nexus
+    - type: "xml-docs"
+      url: "https://docs.fd.io/csit"
+      path: "report/_static/archive"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml-docs"
+      url: "https://docs.fd.io/csit"
+      path: "report/_static/archive"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml-docs"
+      url: "https://docs.fd.io/csit"
+      path: "report/_static/archive"
+      file-name: "robot-plugin.zip"
+      file-format: ".zip"
+      enabled: True
+
+  archive-inputs: True
+
+  mapping-file: ""
+
+  ignore-list: ""
+
+  make-dirs:
+  # List the directories which are created while preparing the environment.
+  # All directories MUST be defined in "paths" section.
+    - "DIR[WORKING,DATA]"
+    - "DIR[STATIC,VPP]"
+    - "DIR[STATIC,DPDK]"
+    - "DIR[STATIC,ARCH]"
+    - "DIR[BUILD,LATEX]"
+    - "DIR[WORKING,SRC]"
+    - "DIR[WORKING,SRC,STATIC]"
+
+  remove-dirs:
+  # List the directories which are deleted while cleaning the environment.
+  # All directories MUST be defined in "paths" section.
+  #  - "DIR[BUILD,HTML]"
+    - "DIR[WORKING,DATA]"
+
+  build-dirs:
+  # List the directories where the results (build) is stored.
+  # All directories MUST be defined in "paths" section.
+    - "DIR[BUILD,HTML]"
+    - "DIR[BUILD,LATEX]"
+
+  reverse-input: False  # Needed for trending, not important for the report
+
+  # TODO: Change in code needed, it was in type: "configuration"
+  limits:
+    nic:
+      x520: 24460000
+      x553: 29761905
+      x710: 35800000
+      xxv710: 35800000
+      xl710: 35800000
+      cx556a: 148809523.81
+      e810cq: 148809523.81
+
+    link:
+      10ge: 14880952.38
+      25ge: 37202380.95
+      40ge: 59523809.52
+      100ge: 148809523.81
+
+    pci:
+      pci-g3-x8: 74404761.90
+      pci-g3-x16: 148809523.81
+
+################################################################################
+###                               S T A T I C                                ###
+################################################################################
+
+- type: "static"
+  src-path: "{DIR[RST]}"
+  dst-path: "{DIR[WORKING,SRC]}"
+
+################################################################################
+###                               O U T P U T                                ###
+################################################################################
+
+- type: "output"
+  arch-file-format:  # moved from input, TODO: change it in the code
+    - ".gz"
+    - ".zip"
+  output: "report"
+  format:
+    html:
+    - full
+#     pdf:
+#     - minimal
diff --git a/resources/tools/presentation/specifications/report_local/layouts.yaml b/resources/tools/presentation/specifications/report_local/layouts.yaml
new file mode 100644 (file)
index 0000000..0f5b4a5
--- /dev/null
@@ -0,0 +1,875 @@
+################################################################################
+###                              L A Y O U T S                               ###
+################################################################################
+
+- type: "layouts"
+
+  plot-soak-throughput:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Critical Rate Lower Bound [Mpps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,50]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-service-density:
+    titlefont:
+      size: 16
+    xaxis:
+      side: "top"
+      autorange: True
+      fixedrange: False
+      showgrid: False
+      showline: False
+      showticklabels: False
+      ticks: ""
+      ticklen: 0
+      tickwidth: 0
+      zeroline: False
+    yaxis:
+      autorange: "reversed"
+      showgrid: False
+      showline: False
+      showticklabels: False
+      ticks: ""
+      ticklen: 0
+      tickwidth: 0
+      zeroline: False
+    showlegend: False
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    width: 700
+    height: 700
+    hoverlabel:
+      namelength: -1
+
+  plot-hoststack:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Bandwidth [Gbps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      rangemode: "tozero"
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(230, 230, 230)"
+      tickformat: ".3s"
+      tickfont:
+        size: 14
+      zeroline: False
+    autosize: False
+    margin:
+      t: 50
+      b: 20
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 800
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-throughput:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Throughput [Mpps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,50]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-throughput-gbps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Data Throughput [Gbps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,10]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-cps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Connection Rate [Mcps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,10]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-throughput-speedup-analysis:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Number of Cores [Qty]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Throughput [Mpps]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+      range: [0,100]
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 85
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+    annotations: [
+      {
+        text: "_ _          __          ...",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.14,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+      {
+        text: "    Perfect     Measured     Limit",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.15,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+    ]
+
+  plot-throughput-speedup-analysis-gbps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Number of Cores [Qty]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Throughput [Gbps]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+      range: [0,100]
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 85
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+    annotations: [
+      {
+        text: "_ _          __",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.13,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+      {
+        text: "    Perfect     Measured",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.15,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+    ]
+
+  plot-throughput-speedup-analysis-cps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Number of Cores [Qty]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Connection Rate [Mcps]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+      range: [0,100]
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 85
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+    annotations: [
+      {
+        text: "_ _          __",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.13,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+      {
+        text: "    Perfect     Measured",
+        align: "left",
+        showarrow: False,
+        xref: "paper",
+        yref: "paper",
+        xanchor: "left",
+        yanchor: "top",
+        x: 0,
+        y: -0.15,
+        font: {
+          family: "Consolas, Courier New",
+          size: 13
+        },
+      },
+    ]
+
+  plot-latency:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Direction</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: False
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Packet Latency [uSec]</b>"
+      titlefont:
+        size: 14
+      type: "linear"
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4s"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickformat: ".4s"
+      tickfont:
+        size: 14
+      zeroline: True
+      rangemode: "tozero"
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+    autosize: False
+    margin:
+        't': 50
+        'b': 150
+        'l': 80
+        'r': 10
+    showlegend: True
+    width: 700
+    height: 700
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-hdrh-latency:
+    title:
+      text: ""
+      xanchor: "center"
+      x: 0.5
+      font:
+        size: 16
+    width: 700
+    plot_bgcolor: "white"
+    annotations:
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Packet Latency [uSec]</b>"
+        x: 1
+        xanchor: "right"
+        xref: "paper"
+        y: -0.045
+        yanchor: "top"
+        yref: "paper"
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Probability [%]</b>"
+        textangle: 270
+        x: -0.06
+        xanchor: "center"
+        xref: "paper"
+        y: 0.5
+        yanchor: "middle"
+        yref: "paper"
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Direction: E-W</b>"
+        x: 0.24
+        xanchor: "center"
+        xref: "paper"
+        y: 1.05
+        yanchor: "bottom"
+        yref: "paper"
+      - font:
+          size: 14
+        showarrow: False
+        text: "<b>Direction: W-E</b>"
+        x: 0.74
+        xanchor: "center"
+        xref: "paper"
+        y: 1.05
+        yanchor: "bottom"
+        yref: "paper"
+
+  plot-hdrh-latency-percentile-x-log:
+    title:
+      text: "<b>Latency by Percentile Distribution</b>"
+      xanchor: "center"
+      x: 0.5
+      font:
+        size: 18
+    showlegend: True
+    legend:
+      traceorder: "normal"
+      orientation: "h"
+      font:
+        size: 16
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+    xaxis:
+      type: "log"
+      title: "<b>Percentile [%]</b>"
+      titlefont:
+        size: 14
+      autorange: False
+      fixedrange: True
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickvals: [1, 2, 1e1, 20, 1e2, 1e3, 1e4, 1e5, 1e6]
+      ticktext: [0, 50, 90, 95, 99, 99.9, 99.99, 99.999, 99.9999]
+      tickfont:
+        size: 14
+    yaxis:
+      title: "<b>One-Way Latency per Direction [uSec]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+    autosize: False
+    width: 700
+    height: 700
+    paper_bgcolor: "white"
+    plot_bgcolor: "white"
+
+  plot-hdrh-latency-by-percentile:
+    title:
+      text: "<b>Latency by Percentile Distribution</b>"
+      xanchor: "center"
+      x: 0.5
+      font:
+        size: 18
+    showlegend: True
+    legend:
+      traceorder: "normal"
+      orientation: "h"
+      font:
+        size: 16
+      xanchor: "left"
+      yanchor: "top"
+      x: 0
+      y: -0.2
+      bgcolor: "rgba(255, 255, 255, 0)"
+      bordercolor: "rgba(255, 255, 255, 0)"
+    xaxis:
+      type: "linear"
+      title: "<b>Percentile [%]</b>"
+      titlefont:
+        size: 14
+      autorange: False
+      fixedrange: False
+      range: [0, 100]
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickvals: [0, 25, 50, 75, 100]
+      ticktext: [0, 25, 50, 75, 100]
+      tickfont:
+        size: 14
+    yaxis:
+      title: "<b>One-Way Latency per Direction [uSec]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+    width: 700
+    height: 700
+    paper_bgcolor: "white"
+    plot_bgcolor: "white"
+
+  plot-scatter-error-bars-gbps:
+    titlefont:
+      size: 16
+    xaxis:
+      title: "<b>Test Cases [Index]</b>"
+      titlefont:
+        size: 14
+      autorange: True
+      fixedrange: False
+      gridcolor: "rgb(230, 230, 230)"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickmode: "linear"
+      tickfont:
+        size: 14
+      zeroline: False
+    yaxis:
+      title: "<b>Data Throughput [Gbps]</b>"
+      titlefont:
+        size: 14
+      gridcolor: "rgb(230, 230, 230)"
+      hoverformat: ".4r"
+      tickformat: ".3r"
+      linecolor: "rgb(220, 220, 220)"
+      linewidth: 1
+      showgrid: True
+      showline: True
+      showticklabels: True
+      tickcolor: "rgb(220, 220, 220)"
+      tickfont:
+        size: 14
+      zeroline: False
+      range: [0,10]
+    autosize: False
+    margin:
+      t: 50
+      b: 0
+      l: 80
+      r: 20
+    showlegend: True
+    legend:
+      orientation: "h"
+      font:
+        size: 14
+    width: 700
+    height: 900
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
diff --git a/resources/tools/presentation/specifications/trending/data_sets.yaml b/resources/tools/presentation/specifications/trending/data_sets.yaml
new file mode 100644 (file)
index 0000000..59b8600
--- /dev/null
@@ -0,0 +1,270 @@
+################################################################################
+###                            D A T A   S E T S                             ###
+################################################################################
+
+- type: "data-sets"
+
+  # Compressed failed tests (last builds)
+  table-last-failed-tests-3n-hsw:
+    csit-vpp-perf-mrr-daily-master:
+      - "lastCompletedBuild"
+  table-last-failed-tests-3n-skx:
+    csit-vpp-perf-mrr-daily-master-3n-skx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-2n-skx:
+    csit-vpp-perf-mrr-daily-master-2n-skx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-2n-clx:
+    csit-vpp-perf-mrr-daily-master-2n-clx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-2n-zn2:
+    csit-vpp-perf-mrr-daily-master-2n-zn2:
+      - "lastCompletedBuild"
+  table-last-failed-tests-3n-tsh:
+    csit-vpp-perf-mrr-daily-master-3n-tsh:
+      - "lastCompletedBuild"
+  table-last-failed-tests-2n-tx2:
+    csit-vpp-perf-mrr-daily-master-2n-tx2:
+      - "lastCompletedBuild"
+  table-last-failed-tests-3n-dnv:
+    csit-vpp-perf-mrr-daily-master-3n-dnv:
+      - "lastCompletedBuild"
+  table-last-failed-tests-2n-dnv:
+    csit-vpp-perf-mrr-daily-master-2n-dnv:
+      - "lastCompletedBuild"
+  table-last-failed-tests-3n-hsw-ndrpdr:
+    csit-vpp-perf-ndrpdr-weekly-master-3n-hsw:
+      - "lastCompletedBuild"
+  table-last-failed-tests-3n-skx-ndrpdr:
+    csit-vpp-perf-ndrpdr-weekly-master-3n-skx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-2n-skx-ndrpdr:
+    csit-vpp-perf-ndrpdr-weekly-master-2n-skx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-2n-clx-ndrpdr:
+    csit-vpp-perf-ndrpdr-weekly-master-2n-clx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-dpdk-3n-hsw:
+    csit-dpdk-perf-mrr-weekly-master:
+      - "lastCompletedBuild"
+  table-last-failed-tests-dpdk-3n-skx:
+    csit-dpdk-perf-mrr-weekly-master-3n-skx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-dpdk-2n-skx:
+    csit-dpdk-perf-mrr-weekly-master-2n-skx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-dpdk-2n-clx:
+    csit-dpdk-perf-mrr-weekly-master-2n-clx:
+      - "lastCompletedBuild"
+  table-last-failed-tests-dpdk-3n-tsh:
+    csit-dpdk-perf-mrr-weekly-master-3n-tsh:
+      - "lastCompletedBuild"
+  table-last-failed-tests-dpdk-2n-tx2:
+    csit-dpdk-perf-mrr-weekly-master-2n-tx2:
+      - "lastCompletedBuild"
+
+  # 3n-hsw
+  plot-performance-trending-all-3n-hsw:
+    csit-vpp-perf-mrr-daily-master:
+      start: 1100
+      end: "lastCompletedBuild"
+      max-builds: 180
+    csit-dpdk-perf-mrr-weekly-master:
+      start: 107
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-performance-trending-vpp-3n-hsw:
+    csit-vpp-perf-mrr-daily-master:
+      start: 1100
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-dpdk-3n-hsw:
+    csit-dpdk-perf-mrr-weekly-master:
+      start: 107
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  # 3n-skx
+  plot-performance-trending-all-3n-skx:
+    csit-vpp-perf-mrr-daily-master-3n-skx:
+      start: 834
+      end: "lastCompletedBuild"
+      max-builds: 180
+    csit-dpdk-perf-mrr-weekly-master-3n-skx:
+      start: 72
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-performance-trending-vpp-3n-skx:
+    csit-vpp-perf-mrr-daily-master-3n-skx:
+      start: 834
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-dpdk-3n-skx:
+    csit-dpdk-perf-mrr-weekly-master-3n-skx:
+      start: 72
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  # 2n-skx
+  plot-performance-trending-all-2n-skx:
+    csit-vpp-perf-mrr-daily-master-2n-skx:
+      start: 858
+      end: "lastCompletedBuild"
+      max-builds: 180
+    csit-dpdk-perf-mrr-weekly-master-2n-skx:
+      start: 78
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-performance-trending-vpp-2n-skx:
+    csit-vpp-perf-mrr-daily-master-2n-skx:
+      start: 858
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-dpdk-2n-skx:
+    csit-dpdk-perf-mrr-weekly-master-2n-skx:
+      start: 78
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-performance-trending-vpp-nfv-2n-skx:
+    csit-vpp-perf-mrr-weekly-master-2n-skx:
+      start: 66
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  # 2n-clx
+  plot-performance-trending-vpp-2n-clx:
+    csit-vpp-perf-mrr-daily-master-2n-clx:
+      start: 236
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-vpp-nfv-2n-clx:
+    csit-vpp-perf-mrr-weekly-master-2n-clx:
+      start: 37
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-performance-trending-dpdk-2n-clx:
+    csit-dpdk-perf-mrr-weekly-master-2n-clx:
+      start: 23
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  # 2n-zn2
+  plot-performance-trending-vpp-2n-zn2:
+    csit-vpp-perf-mrr-daily-master-2n-zn2:
+      start: 1
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-dpdk-2n-zn2:
+    csit-dpdk-perf-mrr-weekly-master-2n-zn2:
+      start: 1
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  # 3n-tsh
+  plot-performance-trending-all-3n-tsh:
+    csit-vpp-perf-mrr-daily-master-3n-tsh:
+      start: 144
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-vpp-3n-tsh:
+    csit-vpp-perf-mrr-daily-master-3n-tsh:
+      start: 144
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-dpdk-3n-tsh:
+    csit-dpdk-perf-mrr-weekly-master-3n-tsh:
+      start: 4
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  # 2n-tx2
+  plot-performance-trending-vpp-2n-tx2:
+    csit-vpp-perf-mrr-daily-master-2n-tx2:
+      start: 1
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  plot-performance-trending-dpdk-2n-tx2:
+    csit-dpdk-perf-mrr-weekly-master-2n-tx2:
+      start: 1
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  # 3n-dnv
+  plot-performance-trending-vpp-3n-dnv:
+    csit-vpp-perf-mrr-daily-master-3n-dnv:
+      start: 329
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  # 2n-dnv
+  plot-performance-trending-vpp-2n-dnv:
+    csit-vpp-perf-mrr-daily-master-2n-dnv:
+      start: 335
+      end: "lastCompletedBuild"
+      max-builds: 180
+
+  # NDRPDR
+  plot-ndrpdr-comparison-2n-skx:
+    csit-vpp-perf-ndrpdr-weekly-master-2n-skx:
+      start: 76
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-ndrpdr-comparison-3n-skx:
+    csit-vpp-perf-ndrpdr-weekly-master-3n-skx:
+      start: 76
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-ndrpdr-comparison-2n-clx:
+    csit-vpp-perf-ndrpdr-weekly-master-2n-clx:
+      start: 21
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  plot-ndrpdr-comparison-3n-hsw:
+    csit-vpp-perf-ndrpdr-weekly-master-3n-hsw:
+      start: 76
+      end: "lastCompletedBuild"
+      max-builds: 26
+
+  table-ndrpdr-comparison-2n-skx:
+    csit-vpp-perf-ndrpdr-weekly-master-2n-skx:
+      start: 76
+      end: "lastCompletedBuild"
+      max-builds: 26
+      reverse: True  # Must be reversed
+
+  table-ndrpdr-comparison-3n-skx:
+    csit-vpp-perf-ndrpdr-weekly-master-3n-skx:
+      start: 76
+      end: "lastCompletedBuild"
+      max-builds: 26
+      reverse: True  # Must be reversed
+
+  table-ndrpdr-comparison-2n-clx:
+    csit-vpp-perf-ndrpdr-weekly-master-2n-clx:
+      start: 21
+      end: "lastCompletedBuild"
+      max-builds: 26
+      reverse: True  # Must be reversed
+
+  table-ndrpdr-comparison-3n-hsw:
+    csit-vpp-perf-ndrpdr-weekly-master-3n-hsw:
+      start: 76
+      end: "lastCompletedBuild"
+      max-builds: 26
+      reverse: True  # Must be reversed
@@ -1,758 +1,3 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This is the specification of parameters for "Continuous Performance Trending
-# and Analysis" feature provided by PAL.
-
--
-  type: "environment"
-
-  paths:
-    # Top level directories:
-    ## Working directory
-    DIR[WORKING]: "_tmp"
-    ## Build directories
-    DIR[BUILD,HTML]: "_build"
-    ## Static .rst files
-    DIR[RST]: "../../../docs/cpta"
-
-    # Static html content
-    DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
-    DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
-    DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
-
-    # Working directories
-    ## Input data files (.zip, .xml)
-    DIR[WORKING,DATA]: "{DIR[WORKING]}/data"
-    ## Static source files from git
-    DIR[WORKING,SRC]: "{DIR[WORKING]}/src"
-    DIR[WORKING,SRC,STATIC]: "{DIR[WORKING,SRC]}/_static"
-
-    # .css patch file
-    DIR[CSS_PATCH_FILE]: "{DIR[STATIC]}/theme_overrides.css"
-    DIR[CSS_PATCH_FILE2]: "{DIR[WORKING,SRC,STATIC]}/theme_overrides.css"
-
-  urls:
-    URL[JENKINS,CSIT]: "https://jenkins.fd.io/view/csit/job"
-    URL[S3_STORAGE,LOG]: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
-    URL[NEXUS,LOG]: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
-    URL[NEXUS,DOC]: "https://docs.fd.io/csit"
-    DIR[NEXUS,DOC]: "trending/_static/archive"
-
-  make-dirs:
-  # List the directories which are created while preparing the environment.
-  # All directories MUST be defined in "paths" section.
-  - "DIR[WORKING,DATA]"
-  - "DIR[WORKING,SRC,STATIC]"
-  - "DIR[BUILD,HTML]"
-  - "DIR[STATIC,VPP]"
-  - "DIR[STATIC,ARCH]"
-  build-dirs:
-  # List the directories where the results (build) is stored.
-  # All directories MUST be defined in "paths" section.
-  - "DIR[BUILD,HTML]"
-
-  testbeds:
-    "10.30.51.45": "LF-2n-SKX-21"
-    "10.30.51.53": "LF-2n-SKX-22"
-    "10.30.51.55": "LF-2n-SKX-23"
-    "10.30.51.57": "LF-2n-SKX-24"
-    "10.32.8.19": "LF-2n-CLX-27"
-    "10.32.8.21": "LF-2n-CLX-28"
-    "10.32.8.23": "LF-2n-CLX-29"
-    "10.30.51.16": "LF-3n-HSW-01"
-    "10.30.51.20": "LF-3n-HSW-02"
-    "10.30.51.24": "LF-3n-HSW-03"
-    "10.30.51.48": "LF-3n-SKX-31"
-    "10.30.51.60": "LF-3n-SKX-32"
-    "10.30.51.49": "LF-3n-TSH-33"
-    "10.30.51.49": "LF-2n-TX2-34"
-    "10.32.8.25": "LF-2n-ZN2-210"
-    "10.32.8.10": "LF-DNV"
-
--
-  type: "configuration"
-
-  archive-inputs: False
-
-  mapping-file: "mapping_tc_names.yaml"
-
-  ignore-list: "ignored_tcs.yaml"
-
-  alerting:
-
-    alerts:
-
-# As Jenkins slave is not configured to send emails, this is now only as
-# a working example:
-#
-#      # Send the list of failed tests vie email.
-#      # Pre-requisites:
-#      # - SMTP server is installed on the Jenkins slave
-#      # - SMTP server is configured to send emails. Default configuration is
-#      #   sufficient.
-#      email-failed-tests:
-#        # Title is used in logs and also as the email subject.
-#        title: "Trending: Failed Tests"
-#        # Type of alert.
-#        type: "failed-tests"
-#        # How to send the alert. The used way must be specified in the
-#        # configuration part.
-#        way: "email"
-#        # Data to be included in the alert.
-#        # Here is used the list of tables generated by the function
-#        # "table_failed_tests_html".
-#        include:
-#        - "failed-tests-3n-hsw"
-#        - "failed-tests-3n-skx"
-#        - "failed-tests-2n-skx"
-#        # This url is used in the tables instead of the original one. The aim
-#        # is to make the links usable also from the email.
-#        url: "https://docs.fd.io/csit/master/trending/trending"
-
-      # Jenkins job sends the email with failed tests.
-      # Pre-requisites:
-      # - Jenkins job is configured to send emails in "Post-build Actions" -->
-      #   "Editable Email Notification".
-      jenkins-send-failed-tests:
-        title: "Trending: Failed Tests"
-        type: "failed-tests"
-        way: "jenkins"
-        include:
-          - "last-failed-tests-vpp-2n-skx-mrr"
-          - "last-failed-tests-vpp-3n-skx-mrr"
-          - "last-failed-tests-vpp-2n-clx-mrr"
-          - "last-failed-tests-vpp-2n-zn2-mrr"
-          - "last-failed-tests-vpp-3n-hsw-mrr"
-          - "last-failed-tests-vpp-3n-tsh-mrr"
-          - "last-failed-tests-vpp-2n-tx2-mrr"
-          - "last-failed-tests-vpp-2n-dnv-mrr"
-          - "last-failed-tests-vpp-3n-dnv-mrr"
-          - "last-failed-tests-dpdk-2n-skx-mrr"
-          - "last-failed-tests-dpdk-3n-skx-mrr"
-          - "last-failed-tests-dpdk-2n-clx-mrr"
-          - "last-failed-tests-dpdk-3n-hsw-mrr"
-          - "last-failed-tests-dpdk-3n-tsh-mrr"
-          - "last-failed-tests-dpdk-2n-tx2-mrr"
-          - "last-failed-tests-vpp-2n-skx-ndrpdr"
-          - "last-failed-tests-vpp-3n-skx-ndrpdr"
-          - "last-failed-tests-vpp-2n-clx-ndrpdr"
-          - "last-failed-tests-vpp-3n-hsw-ndrpdr"
-        urls:
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-skx"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-3n-skx"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-clx"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-zn2"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-3n-tsh"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-tx2"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-dnv"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-3n-dnv"
-          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-2n-skx"
-          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-3n-skx"
-          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-2n-clx"
-          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master"
-          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-3n-tsh"
-          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-2n-tx2"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-2n-skx"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-3n-skx"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-2n-clx"
-          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-3n-hsw"
-        url-details: "https://docs.fd.io/csit/master/trending/introduction/failures.html"
-
-    configurations:
-      # Configuration of the email notifications.
-      email:
-        # SMTP server
-        server: "localhost"
-        # List of recipients.
-        address-to:
-        - "csit-report@lists.fd.io"
-        # Sender
-        address-from: "testuser@testserver.com"
-
-      # Configuration of notifications sent by Jenkins.
-      jenkins:
-        # The directory in the workspace where the generated data is stored and
-        # then read by Jenkins job.
-        output-dir: "_build/_static/vpp"
-        # The name of the output files. ASCII text and HTML formats are
-        # generated.
-        output-file: "trending-failed-tests"
-        # If defined, all output files are zipped into this file.
-        zip-output: "failed-tests.tar.gz"
-
-  data-sets:
-
-    # Compressed failed tests (last builds)
-    table-last-failed-tests-3n-hsw:
-      csit-vpp-perf-mrr-daily-master:
-        - "lastCompletedBuild"
-    table-last-failed-tests-3n-skx:
-      csit-vpp-perf-mrr-daily-master-3n-skx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-2n-skx:
-      csit-vpp-perf-mrr-daily-master-2n-skx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-2n-clx:
-      csit-vpp-perf-mrr-daily-master-2n-clx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-2n-zn2:
-      csit-vpp-perf-mrr-daily-master-2n-zn2:
-        - "lastCompletedBuild"
-    table-last-failed-tests-3n-tsh:
-      csit-vpp-perf-mrr-daily-master-3n-tsh:
-        - "lastCompletedBuild"
-    table-last-failed-tests-2n-tx2:
-      csit-vpp-perf-mrr-daily-master-2n-tx2:
-        - "lastCompletedBuild"
-    table-last-failed-tests-3n-dnv:
-      csit-vpp-perf-mrr-daily-master-3n-dnv:
-        - "lastCompletedBuild"
-    table-last-failed-tests-2n-dnv:
-      csit-vpp-perf-mrr-daily-master-2n-dnv:
-        - "lastCompletedBuild"
-    table-last-failed-tests-3n-hsw-ndrpdr:
-      csit-vpp-perf-ndrpdr-weekly-master-3n-hsw:
-        - "lastCompletedBuild"
-    table-last-failed-tests-3n-skx-ndrpdr:
-      csit-vpp-perf-ndrpdr-weekly-master-3n-skx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-2n-skx-ndrpdr:
-      csit-vpp-perf-ndrpdr-weekly-master-2n-skx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-2n-clx-ndrpdr:
-      csit-vpp-perf-ndrpdr-weekly-master-2n-clx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-dpdk-3n-hsw:
-      csit-dpdk-perf-mrr-weekly-master:
-        - "lastCompletedBuild"
-    table-last-failed-tests-dpdk-3n-skx:
-      csit-dpdk-perf-mrr-weekly-master-3n-skx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-dpdk-2n-skx:
-      csit-dpdk-perf-mrr-weekly-master-2n-skx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-dpdk-2n-clx:
-      csit-dpdk-perf-mrr-weekly-master-2n-clx:
-        - "lastCompletedBuild"
-    table-last-failed-tests-dpdk-3n-tsh:
-      csit-dpdk-perf-mrr-weekly-master-3n-tsh:
-        - "lastCompletedBuild"
-    table-last-failed-tests-dpdk-2n-tx2:
-      csit-dpdk-perf-mrr-weekly-master-2n-tx2:
-        - "lastCompletedBuild"
-
-    # 3n-hsw
-    plot-performance-trending-all-3n-hsw:
-      csit-vpp-perf-mrr-daily-master:
-        start: 1100
-        end: "lastCompletedBuild"
-        max-builds: 180
-      csit-dpdk-perf-mrr-weekly-master:
-        start: 107
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-performance-trending-vpp-3n-hsw:
-      csit-vpp-perf-mrr-daily-master:
-        start: 1100
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-dpdk-3n-hsw:
-      csit-dpdk-perf-mrr-weekly-master:
-        start: 107
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    # 3n-skx
-    plot-performance-trending-all-3n-skx:
-      csit-vpp-perf-mrr-daily-master-3n-skx:
-        start: 834
-        end: "lastCompletedBuild"
-        max-builds: 180
-      csit-dpdk-perf-mrr-weekly-master-3n-skx:
-        start: 72
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-performance-trending-vpp-3n-skx:
-      csit-vpp-perf-mrr-daily-master-3n-skx:
-        start: 834
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-dpdk-3n-skx:
-      csit-dpdk-perf-mrr-weekly-master-3n-skx:
-        start: 72
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    # 2n-skx
-    plot-performance-trending-all-2n-skx:
-      csit-vpp-perf-mrr-daily-master-2n-skx:
-        start: 858
-        end: "lastCompletedBuild"
-        max-builds: 180
-      csit-dpdk-perf-mrr-weekly-master-2n-skx:
-        start: 78
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-performance-trending-vpp-2n-skx:
-      csit-vpp-perf-mrr-daily-master-2n-skx:
-        start: 858
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-dpdk-2n-skx:
-      csit-dpdk-perf-mrr-weekly-master-2n-skx:
-        start: 78
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-performance-trending-vpp-nfv-2n-skx:
-      csit-vpp-perf-mrr-weekly-master-2n-skx:
-        start: 66
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    # 2n-clx
-    plot-performance-trending-vpp-2n-clx:
-      csit-vpp-perf-mrr-daily-master-2n-clx:
-        start: 236
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-vpp-nfv-2n-clx:
-      csit-vpp-perf-mrr-weekly-master-2n-clx:
-        start: 37
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-performance-trending-dpdk-2n-clx:
-      csit-dpdk-perf-mrr-weekly-master-2n-clx:
-        start: 23
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    # 2n-zn2
-    plot-performance-trending-vpp-2n-zn2:
-      csit-vpp-perf-mrr-daily-master-2n-zn2:
-        start: 1
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-dpdk-2n-zn2:
-      csit-dpdk-perf-mrr-weekly-master-2n-zn2:
-        start: 1
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    # 3n-tsh
-    plot-performance-trending-all-3n-tsh:
-      csit-vpp-perf-mrr-daily-master-3n-tsh:
-        start: 144
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-vpp-3n-tsh:
-      csit-vpp-perf-mrr-daily-master-3n-tsh:
-        start: 144
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-dpdk-3n-tsh:
-      csit-dpdk-perf-mrr-weekly-master-3n-tsh:
-        start: 4
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    # 2n-tx2
-    plot-performance-trending-vpp-2n-tx2:
-      csit-vpp-perf-mrr-daily-master-2n-tx2:
-        start: 1
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    plot-performance-trending-dpdk-2n-tx2:
-      csit-dpdk-perf-mrr-weekly-master-2n-tx2:
-        start: 1
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    # 3n-dnv
-    plot-performance-trending-vpp-3n-dnv:
-      csit-vpp-perf-mrr-daily-master-3n-dnv:
-        start: 329
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    # 2n-dnv
-    plot-performance-trending-vpp-2n-dnv:
-      csit-vpp-perf-mrr-daily-master-2n-dnv:
-        start: 335
-        end: "lastCompletedBuild"
-        max-builds: 180
-
-    # NDRPDR
-    plot-ndrpdr-comparison-2n-skx:
-      csit-vpp-perf-ndrpdr-weekly-master-2n-skx:
-        start: 76
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-ndrpdr-comparison-3n-skx:
-      csit-vpp-perf-ndrpdr-weekly-master-3n-skx:
-        start: 76
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-ndrpdr-comparison-2n-clx:
-      csit-vpp-perf-ndrpdr-weekly-master-2n-clx:
-        start: 21
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    plot-ndrpdr-comparison-3n-hsw:
-      csit-vpp-perf-ndrpdr-weekly-master-3n-hsw:
-        start: 76
-        end: "lastCompletedBuild"
-        max-builds: 26
-
-    table-ndrpdr-comparison-2n-skx:
-      csit-vpp-perf-ndrpdr-weekly-master-2n-skx:
-        start: 76
-        end: "lastCompletedBuild"
-        max-builds: 26
-        reverse: True  # Must be reversed
-
-    table-ndrpdr-comparison-3n-skx:
-      csit-vpp-perf-ndrpdr-weekly-master-3n-skx:
-        start: 76
-        end: "lastCompletedBuild"
-        max-builds: 26
-        reverse: True  # Must be reversed
-
-    table-ndrpdr-comparison-2n-clx:
-      csit-vpp-perf-ndrpdr-weekly-master-2n-clx:
-        start: 21
-        end: "lastCompletedBuild"
-        max-builds: 26
-        reverse: True  # Must be reversed
-
-    table-ndrpdr-comparison-3n-hsw:
-      csit-vpp-perf-ndrpdr-weekly-master-3n-hsw:
-        start: 76
-        end: "lastCompletedBuild"
-        max-builds: 26
-        reverse: True  # Must be reversed
-
-  plot-layouts:
-
-    plot-cpta:
-      title: ""
-      titlefont:
-        size: 16
-      autosize: True
-      showlegend: True
-      width: 1100
-      height: 800
-      yaxis:
-        showticklabels: True
-        tickformat: ".5s"
-        title: "Throughput [Mpps]"
-        hoverformat: ".5s"
-        gridcolor: "rgb(238, 238, 238)"
-        linecolor: "rgb(238, 238, 238)"
-        showline: True
-        zeroline: False
-        tickcolor: "rgb(238, 238, 238)"
-        linewidth: 1
-        showgrid: True
-      xaxis:
-        title: 'Date [MMDD]'
-        type: "date"
-        autorange: True
-        fixedrange: False
-        showgrid: True
-        gridcolor: "rgb(238, 238, 238)"
-        showline: True
-        linecolor: "rgb(238, 238, 238)"
-        zeroline: False
-        linewidth: 1
-        showticklabels: True
-        tickcolor: "rgb(238, 238, 238)"
-        tickmode: "auto"
-        tickformat: "%m%d"
-        rangeselector:
-          buttons:
-          - count: 14
-            label: "2w"
-            step: "day"
-            stepmode: "backward"
-          - count: 1
-            label: "1m"
-            step: "month"
-            stepmode: "backward"
-          - count: 2
-            label: "2m"
-            step: "month"
-            stepmode: "backward"
-          - count: 3
-            label: "3m"
-            step: "month"
-            stepmode: "backward"
-          - step: "all"
-      margin:
-        r: 20
-        b: 5
-        t: 5
-        l: 70
-      legend:
-        orientation: "h"
-        xanchor: "auto"
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-        bordercolor: "rgb(238, 238, 238)"
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
-    plot-cpta-cps:
-      title: ""
-      titlefont:
-        size: 16
-      autosize: True
-      showlegend: True
-      width: 1100
-      height: 800
-      yaxis:
-        showticklabels: True
-        tickformat: ".5s"
-        title: "Connection Rate [Mcps]"
-        hoverformat: ".5s"
-        gridcolor: "rgb(238, 238, 238)"
-        linecolor: "rgb(238, 238, 238)"
-        showline: True
-        zeroline: False
-        tickcolor: "rgb(238, 238, 238)"
-        linewidth: 1
-        showgrid: True
-      xaxis:
-        title: 'Date [MMDD]'
-        type: "date"
-        autorange: True
-        fixedrange: False
-        showgrid: True
-        gridcolor: "rgb(238, 238, 238)"
-        showline: True
-        linecolor: "rgb(238, 238, 238)"
-        zeroline: False
-        linewidth: 1
-        showticklabels: True
-        tickcolor: "rgb(238, 238, 238)"
-        tickmode: "auto"
-        tickformat: "%m%d"
-        rangeselector:
-          buttons:
-          - count: 14
-            label: "2w"
-            step: "day"
-            stepmode: "backward"
-          - count: 1
-            label: "1m"
-            step: "month"
-            stepmode: "backward"
-          - count: 2
-            label: "2m"
-            step: "month"
-            stepmode: "backward"
-          - count: 3
-            label: "3m"
-            step: "month"
-            stepmode: "backward"
-          - step: "all"
-      margin:
-        r: 20
-        b: 5
-        t: 5
-        l: 70
-      legend:
-        orientation: "h"
-        xanchor: "auto"
-        traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
-        bordercolor: "rgb(238, 238, 238)"
-      paper_bgcolor: "#fff"
-      plot_bgcolor: "#fff"
-      hoverlabel:
-        namelength: -1
-
--
-  type: "static"
-  src-path: "{DIR[RST]}"
-  dst-path: "{DIR[WORKING,SRC]}"
-
--
-  type: "input"
-  general:
-    file-name: "output_info.xml.gz"
-    file-format: ".gz"
-    download-path:
-      - "{job}/{build}/archives/{filename}"
-      - "{job}/{build}/{filename}"
-    extract: "output.xml"
-    # Number of days from now to the past. Only files generated in this
-    # time period are used.
-    time-period: 180
-
-    zip-file-name: "robot-plugin.zip"
-    zip-file-format: ".zip"
-    zip-download-path: "{job}/{build}/robot/report/*zip*/{filename}"
-    zip-extract: "robot-plugin/output.xml"
-
-  builds:
-
-    # 2n-skx ndrpdr
-    csit-vpp-perf-ndrpdr-weekly-master-2n-skx:
-      start: 76
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 3n-skx ndrpdr
-    csit-vpp-perf-ndrpdr-weekly-master-3n-skx:
-      start: 76
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 2n-clx ndrpdr
-    csit-vpp-perf-ndrpdr-weekly-master-2n-clx:
-      start: 21
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 3n-hsw ndrpdr
-    csit-vpp-perf-ndrpdr-weekly-master-3n-hsw:
-      start: 76
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 3n-hsw
-    csit-vpp-perf-mrr-daily-master:
-      start: 1100
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    csit-dpdk-perf-mrr-weekly-master:
-      start: 113
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    # 3n-skx
-    csit-vpp-perf-mrr-daily-master-3n-skx:
-      start: 834
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    csit-dpdk-perf-mrr-weekly-master-3n-skx:
-      start: 78
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 2n-skx
-    csit-vpp-perf-mrr-daily-master-2n-skx:
-      start: 858
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    csit-vpp-perf-mrr-weekly-master-2n-skx:
-      start: 66
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    csit-dpdk-perf-mrr-weekly-master-2n-skx:
-      start: 78
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    csit-vpp-perf-mrr-daily-master-2n-clx:
-      start: 236
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    csit-vpp-perf-mrr-weekly-master-2n-clx:
-      start: 37
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    csit-dpdk-perf-mrr-weekly-master-2n-clx:
-      start: 23
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 2n-zn2
-    csit-vpp-perf-mrr-daily-master-2n-zn2:
-      start: 1
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    csit-dpdk-perf-mrr-weekly-master-2n-zn2:
-      start: 1
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 3n-tsh
-    csit-vpp-perf-mrr-daily-master-3n-tsh:
-      start: 144
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    csit-dpdk-perf-mrr-weekly-master-3n-tsh:
-      start: 4
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 2n-tx2
-    csit-vpp-perf-mrr-daily-master-2n-tx2:
-      start: 1
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    csit-dpdk-perf-mrr-weekly-master-2n-tx2:
-      start: 1
-      end: "lastCompletedBuild"
-      max-builds: 26
-
-    # 3n-dnv
-    csit-vpp-perf-mrr-daily-master-3n-dnv:
-      start: 329
-      end: "lastCompletedBuild"
-      max-builds: 180
-
-    # 2n-dnv
-    csit-vpp-perf-mrr-daily-master-2n-dnv:
-      start: 335
-      end: "lastCompletedBuild"
-      max-builds: 180
-
--
-  type: "output"
-  output: "trending"
-  format:
-    html:
-    - full
-
 ################################################################################
 ###                               T A B L E S                                ###
 ################################################################################
diff --git a/resources/tools/presentation/specifications/trending/environment.yaml b/resources/tools/presentation/specifications/trending/environment.yaml
new file mode 100644 (file)
index 0000000..dfa9f68
--- /dev/null
@@ -0,0 +1,265 @@
+################################################################################
+###                          E N V I R O N M E N T                           ###
+################################################################################
+
+- type: "environment"
+
+  spec-files:
+    - "specifications/trending/data_sets.yaml"
+    - "specifications/trending/layouts.yaml"
+    - "specifications/trending/elements.yaml"
+
+  paths:
+    # Top level directories:
+    ## Working directory
+    DIR[WORKING]: "_tmp"
+    ## Build directories
+    DIR[BUILD,HTML]: "_build"
+    ## Static .rst files
+    DIR[RST]: "../../../docs/cpta"
+
+    # Static html content
+    DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
+    DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
+    DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
+
+    # Working directories
+    ## Input data files (.zip, .xml)
+    DIR[WORKING,DATA]: "{DIR[WORKING]}/data"
+    ## Static source files from git
+    DIR[WORKING,SRC]: "{DIR[WORKING]}/src"
+    DIR[WORKING,SRC,STATIC]: "{DIR[WORKING,SRC]}/_static"
+
+    # .css patch file
+    DIR[CSS_PATCH_FILE]: "{DIR[STATIC]}/theme_overrides.css"
+    DIR[CSS_PATCH_FILE2]: "{DIR[WORKING,SRC,STATIC]}/theme_overrides.css"
+
+  urls:
+    URL[JENKINS,CSIT]: "https://jenkins.fd.io/view/csit/job"
+
+  make-dirs:
+  # List the directories which are created while preparing the environment.
+  # All directories MUST be defined in "paths" section.
+  - "DIR[WORKING,DATA]"
+  - "DIR[WORKING,SRC,STATIC]"
+  - "DIR[BUILD,HTML]"
+  - "DIR[STATIC,VPP]"
+  - "DIR[STATIC,ARCH]"
+  build-dirs:
+  # List the directories where the results (build) is stored.
+  # All directories MUST be defined in "paths" section.
+  - "DIR[BUILD,HTML]"
+
+  testbeds:
+    "10.30.51.45": "LF-2n-SKX-21"
+    "10.30.51.53": "LF-2n-SKX-22"
+    "10.30.51.55": "LF-2n-SKX-23"
+    "10.30.51.57": "LF-2n-SKX-24"
+    "10.32.8.19": "LF-2n-CLX-27"
+    "10.32.8.21": "LF-2n-CLX-28"
+    "10.32.8.23": "LF-2n-CLX-29"
+    "10.30.51.16": "LF-3n-HSW-01"
+    "10.30.51.20": "LF-3n-HSW-02"
+    "10.30.51.24": "LF-3n-HSW-03"
+    "10.30.51.48": "LF-3n-SKX-31"
+    "10.30.51.60": "LF-3n-SKX-32"
+    "10.30.51.49": "LF-3n-TSH-33"
+    "10.30.51.49": "LF-2n-TX2-34"
+    "10.32.8.25": "LF-2n-ZN2-210"
+    "10.32.8.10": "LF-DNV"
+
+  # Data sources are used in this order:
+  data-sources:
+    # JSON from S3
+    - type: "json"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.json.gz"
+      file-format: ".gz"
+      enabled: False
+    # XML
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output_info.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.nginx.service.consul/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/archives/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+    - type: "xml"
+      url: "https://logs.fd.io/production/vex-yul-rot-jenkins-1"
+      path: "{job}/{build}/{filename}"
+      file-name: "output.xml.gz"
+      file-format: ".gz"
+      enabled: True
+
+  archive-inputs: False
+
+  reverse-input: True  # Needed for trending, not important for the report
+
+  # Number of days from now to the past. Only files generated in this
+  # time period are used.
+  # Only for trending
+  time-period: 180
+
+  mapping-file: ""
+
+  ignore-list: ""
+
+  alerting:
+
+    alerts:
+
+# As Jenkins slave is not configured to send emails, this is now only as
+# a working example:
+#
+#      # Send the list of failed tests vie email.
+#      # Pre-requisites:
+#      # - SMTP server is installed on the Jenkins slave
+#      # - SMTP server is configured to send emails. Default configuration is
+#      #   sufficient.
+#      email-failed-tests:
+#        # Title is used in logs and also as the email subject.
+#        title: "Trending: Failed Tests"
+#        # Type of alert.
+#        type: "failed-tests"
+#        # How to send the alert. The used way must be specified in the
+#        # configuration part.
+#        way: "email"
+#        # Data to be included in the alert.
+#        # Here is used the list of tables generated by the function
+#        # "table_failed_tests_html".
+#        include:
+#        - "failed-tests-3n-hsw"
+#        - "failed-tests-3n-skx"
+#        - "failed-tests-2n-skx"
+#        # This url is used in the tables instead of the original one. The aim
+#        # is to make the links usable also from the email.
+#        url: "https://docs.fd.io/csit/master/trending/trending"
+
+      # Jenkins job sends the email with failed tests.
+      # Pre-requisites:
+      # - Jenkins job is configured to send emails in "Post-build Actions" -->
+      #   "Editable Email Notification".
+      jenkins-send-failed-tests:
+        title: "Trending: Failed Tests"
+        type: "failed-tests"
+        way: "jenkins"
+        include:
+          - "last-failed-tests-vpp-2n-skx-mrr"
+          - "last-failed-tests-vpp-3n-skx-mrr"
+          - "last-failed-tests-vpp-2n-clx-mrr"
+          - "last-failed-tests-vpp-2n-zn2-mrr"
+          - "last-failed-tests-vpp-3n-hsw-mrr"
+          - "last-failed-tests-vpp-3n-tsh-mrr"
+          - "last-failed-tests-vpp-2n-tx2-mrr"
+          - "last-failed-tests-vpp-2n-dnv-mrr"
+          - "last-failed-tests-vpp-3n-dnv-mrr"
+          - "last-failed-tests-dpdk-2n-skx-mrr"
+          - "last-failed-tests-dpdk-3n-skx-mrr"
+          - "last-failed-tests-dpdk-2n-clx-mrr"
+          - "last-failed-tests-dpdk-3n-hsw-mrr"
+          - "last-failed-tests-dpdk-3n-tsh-mrr"
+          - "last-failed-tests-dpdk-2n-tx2-mrr"
+          - "last-failed-tests-vpp-2n-skx-ndrpdr"
+          - "last-failed-tests-vpp-3n-skx-ndrpdr"
+          - "last-failed-tests-vpp-2n-clx-ndrpdr"
+          - "last-failed-tests-vpp-3n-hsw-ndrpdr"
+        urls:
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-skx"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-3n-skx"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-clx"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-zn2"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-3n-tsh"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-tx2"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-2n-dnv"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master-3n-dnv"
+          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-2n-skx"
+          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-3n-skx"
+          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-2n-clx"
+          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master"
+          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-3n-tsh"
+          - "https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master-2n-tx2"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-2n-skx"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-3n-skx"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-2n-clx"
+          - "https://jenkins.fd.io/view/csit/job/csit-vpp-perf-ndrpdr-weekly-master-3n-hsw"
+        url-details: "https://docs.fd.io/csit/master/trending/introduction/failures.html"
+
+    configurations:
+      # Configuration of the email notifications.
+      email:
+        # SMTP server
+        server: "localhost"
+        # List of recipients.
+        address-to:
+        - "csit-report@lists.fd.io"
+        # Sender
+        address-from: "testuser@testserver.com"
+
+      # Configuration of notifications sent by Jenkins.
+      jenkins:
+        # The directory in the workspace where the generated data is stored and
+        # then read by Jenkins job.
+        output-dir: "_build/_static/vpp"
+        # The name of the output files. ASCII text and HTML formats are
+        # generated.
+        output-file: "trending-failed-tests"
+        # If defined, all output files are zipped into this file.
+        zip-output: "failed-tests.tar.gz"
+
+################################################################################
+###                               S T A T I C                                ###
+################################################################################
+
+- type: "static"
+  src-path: "{DIR[RST]}"
+  dst-path: "{DIR[WORKING,SRC]}"
+
+################################################################################
+###                               O U T P U T                                ###
+################################################################################
+
+- type: "output"
+  arch-file-format:  # moved from input, TODO: change it in the code
+    - ".gz"
+    - ".zip"
+  output: "trending"
+  format:
+    html:
+    - full
diff --git a/resources/tools/presentation/specifications/trending/layouts.yaml b/resources/tools/presentation/specifications/trending/layouts.yaml
new file mode 100644 (file)
index 0000000..ccc4a39
--- /dev/null
@@ -0,0 +1,143 @@
+################################################################################
+###                              L A Y O U T S                               ###
+################################################################################
+
+- type: "layouts"
+
+  plot-cpta:
+    title: ""
+    titlefont:
+      size: 16
+    autosize: True
+    showlegend: True
+    width: 1100
+    height: 800
+    yaxis:
+      showticklabels: True
+      tickformat: ".5s"
+      title: "Throughput [Mpps]"
+      hoverformat: ".5s"
+      gridcolor: "rgb(238, 238, 238)"
+      linecolor: "rgb(238, 238, 238)"
+      showline: True
+      zeroline: False
+      tickcolor: "rgb(238, 238, 238)"
+      linewidth: 1
+      showgrid: True
+    xaxis:
+      title: 'Date [MMDD]'
+      type: "date"
+      autorange: True
+      fixedrange: False
+      showgrid: True
+      gridcolor: "rgb(238, 238, 238)"
+      showline: True
+      linecolor: "rgb(238, 238, 238)"
+      zeroline: False
+      linewidth: 1
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "auto"
+      tickformat: "%m%d"
+      rangeselector:
+        buttons:
+        - count: 14
+          label: "2w"
+          step: "day"
+          stepmode: "backward"
+        - count: 1
+          label: "1m"
+          step: "month"
+          stepmode: "backward"
+        - count: 2
+          label: "2m"
+          step: "month"
+          stepmode: "backward"
+        - count: 3
+          label: "3m"
+          step: "month"
+          stepmode: "backward"
+        - step: "all"
+    margin:
+      r: 20
+      b: 5
+      t: 5
+      l: 70
+    legend:
+      orientation: "h"
+      xanchor: "auto"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+      bordercolor: "rgb(238, 238, 238)"
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1
+
+  plot-cpta-cps:
+    title: ""
+    titlefont:
+      size: 16
+    autosize: True
+    showlegend: True
+    width: 1100
+    height: 800
+    yaxis:
+      showticklabels: True
+      tickformat: ".5s"
+      title: "Connection Rate [Mcps]"
+      hoverformat: ".5s"
+      gridcolor: "rgb(238, 238, 238)"
+      linecolor: "rgb(238, 238, 238)"
+      showline: True
+      zeroline: False
+      tickcolor: "rgb(238, 238, 238)"
+      linewidth: 1
+      showgrid: True
+    xaxis:
+      title: 'Date [MMDD]'
+      type: "date"
+      autorange: True
+      fixedrange: False
+      showgrid: True
+      gridcolor: "rgb(238, 238, 238)"
+      showline: True
+      linecolor: "rgb(238, 238, 238)"
+      zeroline: False
+      linewidth: 1
+      showticklabels: True
+      tickcolor: "rgb(238, 238, 238)"
+      tickmode: "auto"
+      tickformat: "%m%d"
+      rangeselector:
+        buttons:
+        - count: 14
+          label: "2w"
+          step: "day"
+          stepmode: "backward"
+        - count: 1
+          label: "1m"
+          step: "month"
+          stepmode: "backward"
+        - count: 2
+          label: "2m"
+          step: "month"
+          stepmode: "backward"
+        - count: 3
+          label: "3m"
+          step: "month"
+          stepmode: "backward"
+        - step: "all"
+    margin:
+      r: 20
+      b: 5
+      t: 5
+      l: 70
+    legend:
+      orientation: "h"
+      xanchor: "auto"
+      traceorder: "normal"  # "grouped" does not work: bug https://github.com/plotly/plotly.js/issues/1913
+      bordercolor: "rgb(238, 238, 238)"
+    paper_bgcolor: "#fff"
+    plot_bgcolor: "#fff"
+    hoverlabel:
+      namelength: -1