CSIT-1110: Cherry-pick edits into new detection 86/12986/2
authorVratko Polak <vrpolak@cisco.com>
Mon, 11 Jun 2018 12:47:50 +0000 (14:47 +0200)
committerVratko Polak <vrpolak@cisco.com>
Mon, 11 Jun 2018 12:47:50 +0000 (14:47 +0200)
+ Edit methodology documentation.

Change-Id: I441e17862aba4a8572c7c532ed8995790111b4d4
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
21 files changed:
docs/cpta/new/data/index.rst [new file with mode: 0644]
docs/cpta/new/index.rst [new file with mode: 0644]
docs/cpta/new/indices.rst [new file with mode: 0644]
docs/cpta/new/introduction/index.rst [new file with mode: 0644]
docs/cpta/new/methodology/index.rst [new file with mode: 0644]
docs/cpta/new/trending/container_memif.rst [new file with mode: 0644]
docs/cpta/new/trending/dpdk.rst [new file with mode: 0644]
docs/cpta/new/trending/ip4.rst [new file with mode: 0644]
docs/cpta/new/trending/ip4_tunnels.rst [new file with mode: 0644]
docs/cpta/new/trending/ip6.rst [new file with mode: 0644]
docs/cpta/new/trending/ipsec.rst [new file with mode: 0644]
docs/cpta/new/trending/l2.rst [new file with mode: 0644]
docs/cpta/new/trending/link_bonding.rst [new file with mode: 0644]
docs/cpta/new/trending/srv6.rst [new file with mode: 0644]
docs/cpta/new/trending/vm_vhost_ip4.rst [new file with mode: 0644]
docs/cpta/new/trending/vm_vhost_l2.rst [new file with mode: 0644]
resources/tools/presentation/new/generator_CPTA.py
resources/tools/presentation/new/generator_tables.py
resources/tools/presentation/new/input_data_parser.py
resources/tools/presentation/new/specification.yaml
resources/tools/presentation/new/specification_CPTA.yaml

diff --git a/docs/cpta/new/data/index.rst b/docs/cpta/new/data/index.rst
new file mode 100644 (file)
index 0000000..69c4c8d
--- /dev/null
@@ -0,0 +1,15 @@
+Performance Data
+================
+
+Performance test data used to generate the trendline graphs is available
+in a CSV and pretty ASCII formats:
+
+**VPP**
+
+    - `csv format <../_static/vpp/cpta-csit-vpp-perf-mrr-daily-master-trending.csv>`_,
+    - `pretty ASCII format <../_static/vpp/cpta-csit-vpp-perf-mrr-daily-master-trending.txt>`_.
+
+**DPDK**
+
+    - `csv format <../_static/vpp/cpta-csit-dpdk-perf-mrr-weekly-master-trending.csv>`_,
+    - `pretty ASCII format <../_static/vpp/cpta-csit-dpdk-perf-mrr-weekly-master-trending.txt>`_.
diff --git a/docs/cpta/new/index.rst b/docs/cpta/new/index.rst
new file mode 100644 (file)
index 0000000..b445a9b
--- /dev/null
@@ -0,0 +1,48 @@
+Continuous Performance Trending
+===============================
+
+This document contains VPP performance dashboard, trendline graphs and
+performance test data. It is generated using FD.io CSIT continuous
+performance trending and analysis jobs and is updated daily. See
+:ref:`trending_methodology` section for more details including trend
+analysis and anomaly detection methodology.
+
+.. toctree::
+   :maxdepth: 2
+   :caption: VPP Performance Dashboard
+
+   Dashboard <introduction/index>
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Trending Methodology
+
+   Methodology <methodology/index>
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Trendline Graphs
+
+   trending/l2
+   trending/ip4
+   trending/ip6
+   trending/ip4_tunnels
+   trending/vm_vhost_l2
+   trending/vm_vhost_ip4
+   trending/container_memif
+   trending/ipsec
+   trending/srv6
+   trending/link_bonding
+   trending/dpdk
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Performance Data
+
+   Download <data/index>
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Indices and tables
+
+   Index <indices>
diff --git a/docs/cpta/new/indices.rst b/docs/cpta/new/indices.rst
new file mode 100644 (file)
index 0000000..6dd0841
--- /dev/null
@@ -0,0 +1,4 @@
+Indices and tables
+==================
+
+* :ref:`genindex`
diff --git a/docs/cpta/new/introduction/index.rst b/docs/cpta/new/introduction/index.rst
new file mode 100644 (file)
index 0000000..016037b
--- /dev/null
@@ -0,0 +1,54 @@
+VPP Performance Dashboard
+=========================
+
+Description
+-----------
+
+Performance dashboard tables provide the latest VPP throughput trend,
+trend compliance and detected anomalies, all on a per VPP test case
+basis.  Linked trendline graphs enable further drill-down into the
+trendline compliance, sequence and nature of anomalies, as well as
+pointers to performance test builds/logs and VPP builds. Performance
+trending is currently based on the Maximum Receive Rate (MRR) tests. MRR
+tests measure the packet forwarding rate under the maximum load offered
+by traffic generator over a set trial duration, regardless of packet
+loss. See :ref:`trending_methodology` section for more detail including
+trend and anomaly calculations.
+
+Data samples are generated by the CSIT VPP performance trending jobs
+executed twice a day (target start: every 12 hrs, 02:00, 14:00 UTC). All
+trend and anomaly evaluation is based on a rolling window of <N=14> data
+samples, covering last 7 days.
+
+Legend to table:
+
+    - **Test Case** : name of FD.io CSIT test case, naming convention
+      `here <https://wiki.fd.io/view/CSIT/csit-test-naming>`_.
+    - **Trend [Mpps]** : last value of performance trend.
+    - **Short-Term Change [%]** : Relative change of last trend value
+      vs. last week trend value.
+    - **Long-Term Change [%]** : Relative change of last trend value vs.
+      maximum of trend values over the last quarter except last week.
+    - **Regressions [#]** : Number of regressions detected.
+    - **Progressions [#]** : Number of progressions detected.
+    - **Outliers [#]** : Number of outliers detected.
+
+Tested VPP worker-thread-core combinations (1t1c, 2t2c, 4t4c) are listed
+in separate tables in section 1.x. Followed by trending methodology in
+section 2. and trendline graphs in sections 3.x. Performance test  data
+used for trendline graphs is provided in sections 4.x.
+
+VPP worker on 1t1c
+------------------
+
+.. include:: ../../../_build/_static/vpp/performance-trending-dashboard-1t1c.rst
+
+VPP worker on 2t2c
+------------------
+
+.. include:: ../../../_build/_static/vpp/performance-trending-dashboard-2t2c.rst
+
+VPP worker on 4t4c
+------------------
+
+.. include:: ../../../_build/_static/vpp/performance-trending-dashboard-4t4c.rst
diff --git a/docs/cpta/new/methodology/index.rst b/docs/cpta/new/methodology/index.rst
new file mode 100644 (file)
index 0000000..ff69eb1
--- /dev/null
@@ -0,0 +1,208 @@
+.. _trending_methodology:
+
+Trending Methodology
+====================
+
+Overview
+--------
+
+This document describes a high-level design of a system for continuous
+performance measuring, trending and change detection for FD.io VPP SW
+data plane. It builds upon the existing FD.io CSIT framework with
+extensions to its throughput testing methodology, CSIT data analytics
+engine (PAL – Presentation-and-Analytics-Layer) and associated Jenkins
+jobs definitions.
+
+Proposed design replaces existing CSIT performance trending jobs and
+tests with new Performance Trending (PT) CSIT module and separate
+Performance Analysis (PA) module ingesting results from PT and
+analysing, detecting and reporting any performance anomalies using
+historical trending data and statistical metrics. PA does also produce
+trending dashboard and graphs with summary and drill-down views across
+all specified tests that can be reviewed and inspected regularly by
+FD.io developers and users community.
+
+Performance Tests
+-----------------
+
+Performance trending is currently relying on the Maximum Receive Rate
+(MRR) tests. MRR tests measure the packet forwarding rate under the
+maximum load offered by traffic generator over a set trial duration,
+regardless of packet loss. Maximum load for specified Ethernet frame
+size is set to the bi-directional link rate.
+
+Current parameters for performance trending MRR tests:
+
+- **Ethernet frame sizes**: 64B (78B for IPv6 tests) for all tests, IMIX for
+  selected tests (vhost, memif); all quoted sizes include frame CRC, but
+  exclude per frame transmission overhead of 20B (preamble, inter frame
+  gap).
+- **Maximum load offered**: 10GE and 40GE link (sub-)rates depending on NIC
+  tested, with the actual packet rate depending on frame size,
+  transmission overhead and traffic generator NIC forwarding capacity.
+
+  - For 10GE NICs the maximum packet rate load is 2* 14.88 Mpps for 64B,
+    a 10GE bi-directional link rate.
+  - For 40GE NICs the maximum packet rate load is 2* 18.75 Mpps for 64B,
+    a 40GE bi-directional link sub-rate limited by TG 40GE NIC used,
+    XL710.
+
+- **Trial duration**: 10sec.
+- **Execution frequency**: twice a day, every 12 hrs (02:00, 14:00 UTC).
+
+Note: MRR tests should be reporting bi-directional link rate (or NIC
+rate, if lower) if tested VPP configuration can handle the packet rate
+higher than bi-directional link rate, e.g. large packet tests and/or
+multi-core tests. In other words MRR = min(VPP rate, bi-dir link rate,
+NIC rate).
+
+Trend Analysis
+--------------
+
+All measured performance trend data is treated as time-series data that
+can be modelled as concatenation of groups, each group modelled
+using normal distribution. While sometimes the samples within a group
+are far from being distributed normally, we do not have a better tractable model.
+
+The group boundaries are selected based on `Minimum Description Length`_.
+
+TODO: Decide the level of detail for describing group selection.
+
+Anomaly Detection
+`````````````````
+
+Once the trend data is divided into groups, each group has its population average.
+The start of the following group is marked as a regression (or progression)
+if the new group's average is lower (higher) then the previous group's.
+
+Metrics
+```````
+
+TODO: Only needed for current trend compliance.
+
+Following statistical metrics are used as performance trend indicators
+over the rolling window of last <N> sets of historical measurement data:
+
+- **TMM** : **Trimmed Moving Median**, median across the data set of <N>
+  values excluding the outliers. Used as a trending value and as a
+  reference for anomaly detection.
+
+Trend Compliance
+````````````````
+
+TODO: Apply new detection algorithm also to trend compliance.
+
+Trend compliance metrics are targeted to provide an indication of trend
+changes over a short-term (i.e. weekly) and a long-term (i.e.
+quarterly), comparing the last trend value, TMM[last], to one from week
+ago, TMM[last - 1week] and to the maximum of trend values over last
+quarter except last week, max(TMM[(last - 3mths)..(last - 1week)]),
+respectively. This results in following trend compliance calculations:
+
++-------------------------+---------------------------------+-----------+------------------------------------------+
+| Trend Compliance Metric | Trend Change Formula            | Value     | Reference                                |
++=========================+=================================+===========+==========================================+
+| Short-Term Change       | (Value - Reference) / Reference | TMM[last] | TMM[last - 1week]                        |
++-------------------------+---------------------------------+-----------+------------------------------------------+
+| Long-Term Change        | (Value - Reference) / Reference | TMM[last] | max(TMM[(last - 3mths)..(last - 1week)]) |
++-------------------------+---------------------------------+-----------+------------------------------------------+
+
+Trend Presentation
+------------------
+
+Performance Dashboard
+`````````````````````
+
+Dashboard tables list a summary of per test-case VPP MRR performance
+trend and trend compliance metrics and detected number of anomalies.
+
+Separate tables are generated for tested VPP worker-thread-core
+combinations (1t1c, 2t2c, 4t4c). Test case names are linked to
+respective trending graphs for ease of navigation thru the test data.
+
+Trendline Graphs
+````````````````
+
+Trendline graphs show per test case measured MRR throughput values with
+associated gruop averages. The graphs are constructed as follows:
+
+- X-axis represents performance trend job build Id (csit-vpp-perf-mrr-
+  daily-master-build).
+- Y-axis represents MRR throughput in Mpps.
+- Markers to indicate anomaly classification:
+
+  - Outlier - gray circle around MRR value point.
+  - Regression - red circle.
+  - Progression - green circle.
+
+In addition the graphs show dynamic labels while hovering over graph
+data points, representing (trend job build Id, MRR value) and the actual
+vpp build number (b<XXX>) tested.
+
+
+Jenkins Jobs
+------------
+
+Performance Trending (PT)
+`````````````````````````
+
+CSIT PT runs regular performance test jobs measuring and collecting MRR
+data per test case. PT is designed as follows:
+
+1. PT job triggers:
+
+   a) Periodic e.g. daily.
+   b) On-demand gerrit triggered.
+
+2. Measurements and data calculations per test case:
+
+  a) Max Received Rate (MRR) - send packets at link rate over a trial
+     period, count total received packets, divide by trial period.
+
+3. Archive MRR per test case.
+4. Archive all counters collected at MRR.
+
+Performance Analysis (PA)
+`````````````````````````
+
+CSIT PA runs performance analysis including trendline calculation, trend
+compliance and anomaly detection using specified trend analysis metrics
+over the rolling window of last <N> sets of historical measurement data.
+PA is defined as follows:
+
+1. PA job triggers:
+
+   a) By PT job at its completion.
+   b) On-demand gerrit triggered.
+
+2. Download and parse archived historical data and the new data:
+
+   a) Download RF output.xml files from latest PT job and compressed
+      archived data.
+   b) Parse out the data filtering test cases listed in PA specification
+      (part of CSIT PAL specification file).
+
+3. Re-calculate new groups and their averages.
+
+4. Evaluate new test data (TODO: Update.):
+
+   a) If within the range of (TMA +/- 3*TMSD) => Result = Pass,
+      Reason = Normal. (to be updated base on the final Jenkins code).
+   b) If below the range => Result = Fail, Reason = Regression.
+   c) If above the range => Result = Pass, Reason = Progression.
+
+5. Generate and publish results
+
+   a) Relay evaluation result to job result. (to be updated base on the
+      final Jenkins code).
+   b) Generate a new set of trend summary dashboard and graphs.
+   c) Publish trend dashboard and graphs in html format on
+      https://docs.fd.io/.
+
+Testbed HW configuration
+------------------------
+
+The testbed HW configuration is described on
+`this FD.IO wiki page <https://wiki.fd.io/view/CSIT/CSIT_LF_testbed#FD.IO_CSIT_testbed_-_Server_HW_Configuration>`_.
+
+.. _Minimum Description Length: https://en.wikipedia.org/wiki/Minimum_description_length
diff --git a/docs/cpta/new/trending/container_memif.rst b/docs/cpta/new/trending/container_memif.rst
new file mode 100644 (file)
index 0000000..097349d
--- /dev/null
@@ -0,0 +1,326 @@
+L2 Container memif
+==================
+
+x520-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-l2sw-memif-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-l2sw-memif-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-l2sw-memif-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-l2sw-memif-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-l2sw-memif-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-l2sw-memif-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-64b-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-1t1c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-memif-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-2t2c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-memif-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-4t4c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-memif-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-l2-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x520-imix-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-1t1c"></a>
+    <center><b>
+
+:index:`x520-l2sw-memif-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-2t2c"></a>
+    <center><b>
+
+:index:`x520-l2sw-memif-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-4t4c"></a>
+    <center><b>
+
+:index:`x520-l2sw-memif-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-imix-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-1t1c"></a>
+    <center><b>
+
+:index:`x710-l2sw-memif-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-2t2c"></a>
+    <center><b>
+
+:index:`x710-l2sw-memif-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-4t4c"></a>
+    <center><b>
+
+:index:`x710-l2sw-memif-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-imix-base
+---------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-1t1c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-memif-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-2t2c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-memif-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-4t4c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-memif-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-container-memif-imix-l2-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/dpdk.rst b/docs/cpta/new/trending/dpdk.rst
new file mode 100644 (file)
index 0000000..0d72618
--- /dev/null
@@ -0,0 +1,326 @@
+DPDK
+====
+
+x520-64b
+--------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-dpdk-64b-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-dpdk-64b-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-dpdk-64b-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b
+--------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-dpdk-64b-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-dpdk-64b-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-dpdk-64b-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-64b
+---------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-1t1c"></a>
+    <center><b>
+
+:index:`xl710-dpdk-64b-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-2t2c"></a>
+    <center><b>
+
+:index:`xl710-dpdk-64b-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-4t4c"></a>
+    <center><b>
+
+:index:`xl710-dpdk-64b-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-64b-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x520-imix
+---------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-1t1c"></a>
+    <center><b>
+
+:index:`x520-dpdk-imix-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-2t2c"></a>
+    <center><b>
+
+:index:`x520-dpdk-imix-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-4t4c"></a>
+    <center><b>
+
+:index:`x520-dpdk-imix-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-imix
+---------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-1t1c"></a>
+    <center><b>
+
+:index:`x710-dpdk-imix-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-2t2c"></a>
+    <center><b>
+
+:index:`x710-dpdk-imix-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-4t4c"></a>
+    <center><b>
+
+:index:`x710-dpdk-imix-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-imix
+----------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-1t1c"></a>
+    <center><b>
+
+:index:`xl710-dpdk-imix-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-2t2c"></a>
+    <center><b>
+
+:index:`xl710-dpdk-imix-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-4t4c"></a>
+    <center><b>
+
+:index:`xl710-dpdk-imix-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-dpdk-imix-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/ip4.rst b/docs/cpta/new/trending/ip4.rst
new file mode 100644 (file)
index 0000000..61d4841
--- /dev/null
@@ -0,0 +1,272 @@
+IPv4 Routed-Forwarding
+======================
+
+x520-64b-base-scale
+-------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-ip4-64b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-ip4-64b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-ip4-64b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x520-64b-features
+-----------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c-features"></a>
+    <center><b>
+
+:index:`x520-ip4-64b-features-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-feature-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c-features"></a>
+    <center><b>
+
+:index:`x520-ip4-64b-features-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-feature-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c-features"></a>
+    <center><b>
+
+:index:`x520-ip4-64b-features-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-feature-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-base-scale
+-------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-ip4-64b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-ip4-64b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-ip4-64b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-features
+-----------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c-features"></a>
+    <center><b>
+
+:index:`x710-ip4-64b-features-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-feature-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c-features"></a>
+    <center><b>
+
+:index:`x710-ip4-64b-features-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-feature-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c-features"></a>
+    <center><b>
+
+:index:`x710-ip4-64b-features-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-feature-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-64b-base-scale-features
+-----------------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-1t1c"></a>
+    <center><b>
+
+:index:`xl710-ip4-64b-base-scale-features-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-2t2c"></a>
+    <center><b>
+
+:index:`xl710-ip4-64b-base-scale-features-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-4t4c"></a>
+    <center><b>
+
+:index:`xl710-ip4-64b-base-scale-features-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/ip4_tunnels.rst b/docs/cpta/new/trending/ip4_tunnels.rst
new file mode 100644 (file)
index 0000000..7464992
--- /dev/null
@@ -0,0 +1,110 @@
+IPv4 Overlay Tunnels
+====================
+
+x520-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-ip4tun-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-tunnels-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-ip4tun-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-tunnels-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-ip4tun-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-tunnels-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-ip4tun-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-tunnels-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-ip4tun-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-tunnels-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-ip4tun-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip4-tunnels-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/ip6.rst b/docs/cpta/new/trending/ip6.rst
new file mode 100644 (file)
index 0000000..9122c1e
--- /dev/null
@@ -0,0 +1,164 @@
+IPv6 Routed-Forwarding
+======================
+
+x520-78b-base-scale
+-------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-78b-1t1c"></a>
+    <center><b>
+
+:index:`x520-ip6-78b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-78b-2t2c"></a>
+    <center><b>
+
+:index:`x520-ip6-78b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-78b-4t4c"></a>
+    <center><b>
+
+:index:`x520-ip6-78b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-78b-base-scale
+-------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-78b-1t1c"></a>
+    <center><b>
+
+:index:`x710-ip6-78b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-78b-2t2c"></a>
+    <center><b>
+
+:index:`x710-ip6-78b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-78b-4t4c"></a>
+    <center><b>
+
+:index:`x710-ip6-78b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-78b-base-scale
+--------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-78b-1t1c"></a>
+    <center><b>
+
+:index:`xl710-ip6-78b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-78b-2t2c"></a>
+    <center><b>
+
+:index:`xl710-ip6-78b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-78b-4t4c"></a>
+    <center><b>
+
+:index:`xl710-ip6-78b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ip6-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/ipsec.rst b/docs/cpta/new/trending/ipsec.rst
new file mode 100644 (file)
index 0000000..6b54d3e
--- /dev/null
@@ -0,0 +1,56 @@
+IPv4 IPSec Crypto HW
+====================
+
+xl710-64b-base-scale
+--------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-1t1c"></a>
+    <center><b>
+
+:index:`xl710-ip4-ipsechw-64b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ipsec-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-2t2c"></a>
+    <center><b>
+
+:index:`xl710-ip4-ipsechw-64b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ipsec-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-4t4c"></a>
+    <center><b>
+
+:index:`xl710-ip4-ipsechw-64b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-ipsec-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/l2.rst b/docs/cpta/new/trending/l2.rst
new file mode 100644 (file)
index 0000000..0578153
--- /dev/null
@@ -0,0 +1,272 @@
+L2 Ethernet Switching
+=====================
+
+x520-64b-base-scale
+-------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-l2sw-64b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-l2sw-64b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-l2sw-64b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x520-64b-features
+-----------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c-features"></a>
+    <center><b>
+
+:index:`x520-l2sw-64b-features-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-feature-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c-features"></a>
+    <center><b>
+
+:index:`x520-l2sw-64b-features-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-feature-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c-features"></a>
+    <center><b>
+
+:index:`x520-l2sw-64b-features-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-feature-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-base-scale
+-------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-l2sw-64b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-l2sw-64b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-l2sw-64b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-features
+-----------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c-features"></a>
+    <center><b>
+
+:index:`x710-l2sw-64b-features-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-feature-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c-features"></a>
+    <center><b>
+
+:index:`x710-l2sw-64b-features-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-feature-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c-features"></a>
+    <center><b>
+
+:index:`x710-l2sw-64b-features-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-feature-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-64b-base-scale
+--------------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-1t1c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-64b-base-scale-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-2t2c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-64b-base-scale-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-4t4c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-64b-base-scale-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-l2-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/link_bonding.rst b/docs/cpta/new/trending/link_bonding.rst
new file mode 100644 (file)
index 0000000..e28b277
--- /dev/null
@@ -0,0 +1,220 @@
+Link Bonding
+============
+
+x520-64b
+--------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-lb-64b-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-64b-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-lb-64b-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-64b-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-lb-64b-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-64b-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+
+x520-imix
+---------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-1t1c"></a>
+    <center><b>
+
+:index:`x520-lb-imix-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-imix-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-2t2c"></a>
+    <center><b>
+
+:index:`x520-lb-imix-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-imix-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-4t4c"></a>
+    <center><b>
+
+:index:`x520-lb-imix-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-imix-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b
+--------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-lb-64b-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-64b-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-lb-64b-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-64b-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-lb-64b-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-64b-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+
+x710-imix
+---------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-1t1c"></a>
+    <center><b>
+
+:index:`x710-lb-imix-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-imix-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-2t2c"></a>
+    <center><b>
+
+:index:`x710-lb-imix-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-imix-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-4t4c"></a>
+    <center><b>
+
+:index:`x710-lb-imix-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-lb-imix-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/srv6.rst b/docs/cpta/new/trending/srv6.rst
new file mode 100644 (file)
index 0000000..e53d08e
--- /dev/null
@@ -0,0 +1,111 @@
+SRv6
+====
+
+x520-78b
+--------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-78b-1t1c"></a>
+    <center><b>
+
+:index:`x520-srv6-78b-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-srv6-78b-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-78b-2t2c"></a>
+    <center><b>
+
+:index:`x520-srv6-78b-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-srv6-78b-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-78b-4t4c"></a>
+    <center><b>
+
+:index:`x520-srv6-78b-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-srv6-78b-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+
+x520-imix
+---------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-1t1c"></a>
+    <center><b>
+
+:index:`x520-srv6-imix-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-srv6-imix-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-2t2c"></a>
+    <center><b>
+
+:index:`x520-srv6-imix-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-srv6-imix-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-4t4c"></a>
+    <center><b>
+
+:index:`x520-srv6-imix-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-srv6-imix-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/vm_vhost_ip4.rst b/docs/cpta/new/trending/vm_vhost_ip4.rst
new file mode 100644 (file)
index 0000000..f13d655
--- /dev/null
@@ -0,0 +1,218 @@
+IPv4 VM vhost
+=============
+
+x520-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-ip4-vhost-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-ethip4-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-ip4-vhost-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-ethip4-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-ip4-vhost-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-ethip4-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-ip4-vhost-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-ethip4-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-ip4-vhost-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-ethip4-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-ip4-vhost-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-ethip4-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x520-imix-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-1t1c"></a>
+    <center><b>
+
+:index:`x520-ip4-vhost-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-ethip4-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-2t2c"></a>
+    <center><b>
+
+:index:`x520-ip4-vhost-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-ethip4-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-4t4c"></a>
+    <center><b>
+
+:index:`x520-ip4-vhost-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-ethip4-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-imix-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-1t1c"></a>
+    <center><b>
+
+:index:`x710-ip4-vhost-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-ethip4-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-2t2c"></a>
+    <center><b>
+
+:index:`x710-ip4-vhost-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-ethip4-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-4t4c"></a>
+    <center><b>
+
+:index:`x710-ip4-vhost-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-ethip4-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
diff --git a/docs/cpta/new/trending/vm_vhost_l2.rst b/docs/cpta/new/trending/vm_vhost_l2.rst
new file mode 100644 (file)
index 0000000..4926928
--- /dev/null
@@ -0,0 +1,326 @@
+L2 VM vhost
+===========
+
+x520-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-1t1c"></a>
+    <center><b>
+
+:index:`x520-l2sw-vhost-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-2t2c"></a>
+    <center><b>
+
+:index:`x520-l2sw-vhost-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-64b-4t4c"></a>
+    <center><b>
+
+:index:`x520-l2sw-vhost-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-64b-base
+-------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-1t1c"></a>
+    <center><b>
+
+:index:`x710-l2sw-vhost-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-2t2c"></a>
+    <center><b>
+
+:index:`x710-l2sw-vhost-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-64b-4t4c"></a>
+    <center><b>
+
+:index:`x710-l2sw-vhost-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-64b-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-1t1c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-vhost-64b-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-2t2c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-vhost-64b-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-64b-4t4c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-vhost-64b-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-eth-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x520-imix-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-1t1c"></a>
+    <center><b>
+
+:index:`x520-l2sw-vhost-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-1t1c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-2t2c"></a>
+    <center><b>
+
+:index:`x520-l2sw-vhost-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-2t2c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x520-imix-4t4c"></a>
+    <center><b>
+
+:index:`x520-l2sw-vhost-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-4t4c-x520.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+x710-imix-base
+--------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-1t1c"></a>
+    <center><b>
+
+:index:`x710-l2sw-vhost-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-1t1c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-2t2c"></a>
+    <center><b>
+
+:index:`x710-l2sw-vhost-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-2t2c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="x710-imix-4t4c"></a>
+    <center><b>
+
+:index:`x710-l2sw-vhost-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-4t4c-x710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+xl710-imix-base
+---------------
+
+1t1c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-1t1c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-vhost-imix-base-1t1c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-1t1c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+2t2c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-2t2c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-vhost-imix-base-2t2c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-2t2c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+4t4c
+````
+
+.. raw:: html
+
+    <a name="xl710-imix-4t4c"></a>
+    <center><b>
+
+:index:`xl710-l2sw-vhost-imix-base-4t4c-mrr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="1100" height="800" frameborder="0" scrolling="no" src="../_static/vpp/cpta-vm-vhost-imix-eth-4t4c-xl710.html"></iframe>
+    <p><br><br></p>
+    </center>
index 1b4115f..4dc5e6f 100644 (file)
@@ -27,7 +27,7 @@ import pandas as pd
 from collections import OrderedDict
 from datetime import datetime
 
 from collections import OrderedDict
 from datetime import datetime
 
-from utils import archive_input_data, execute_command,\
+from utils import archive_input_data, execute_command, \
     classify_anomalies, Worker
 
 
     classify_anomalies, Worker
 
 
@@ -87,22 +87,22 @@ def generate_cpta(spec, data):
     return ret_code
 
 
     return ret_code
 
 
-def _generate_trending_traces(in_data, build_info, moving_win_size=10,
+def _generate_trending_traces(in_data, job_name, build_info,
                               show_trend_line=True, name="", color=""):
     """Generate the trending traces:
      - samples,
                               show_trend_line=True, name="", color=""):
     """Generate the trending traces:
      - samples,
-     - trimmed moving median (trending line)
      - outliers, regress, progress
      - outliers, regress, progress
+     - average of normal samples (trending line)
 
     :param in_data: Full data set.
 
     :param in_data: Full data set.
+    :param job_name: The name of job which generated the data.
     :param build_info: Information about the builds.
     :param build_info: Information about the builds.
-    :param moving_win_size: Window size.
     :param show_trend_line: Show moving median (trending plot).
     :param name: Name of the plot
     :param color: Name of the color for the plot.
     :type in_data: OrderedDict
     :param show_trend_line: Show moving median (trending plot).
     :param name: Name of the plot
     :param color: Name of the color for the plot.
     :type in_data: OrderedDict
+    :type job_name: str
     :type build_info: dict
     :type build_info: dict
-    :type moving_win_size: int
     :type show_trend_line: bool
     :type name: str
     :type color: str
     :type show_trend_line: bool
     :type name: str
     :type color: str
@@ -116,10 +116,15 @@ def _generate_trending_traces(in_data, build_info, moving_win_size=10,
     hover_text = list()
     xaxis = list()
     for idx in data_x:
     hover_text = list()
     xaxis = list()
     for idx in data_x:
-        hover_text.append("vpp-ref: {0}<br>csit-ref: mrr-daily-build-{1}".
-                          format(build_info[str(idx)][1].rsplit('~', 1)[0],
-                                 idx))
-        date = build_info[str(idx)][0]
+        if "dpdk" in job_name:
+            hover_text.append("dpdk-ref: {0}<br>csit-ref: mrr-weekly-build-{1}".
+                              format(build_info[job_name][str(idx)][1].
+                                     rsplit('~', 1)[0], idx))
+        elif "vpp" in job_name:
+            hover_text.append("vpp-ref: {0}<br>csit-ref: mrr-daily-build-{1}".
+                              format(build_info[job_name][str(idx)][1].
+                                     rsplit('~', 1)[0], idx))
+        date = build_info[job_name][str(idx)][0]
         xaxis.append(datetime(int(date[0:4]), int(date[4:6]), int(date[6:8]),
                               int(date[9:11]), int(date[12:])))
 
         xaxis.append(datetime(int(date[0:4]), int(date[4:6]), int(date[6:8]),
                               int(date[9:11]), int(date[12:])))
 
@@ -227,7 +232,10 @@ def _generate_trending_traces(in_data, build_info, moving_win_size=10,
     )
     traces.append(trace_anomalies)
 
     )
     traces.append(trace_anomalies)
 
-    return traces, anomaly_classification[-1]
+    if anomaly_classification:
+        return traces, anomaly_classification[-1]
+    else:
+        return traces, None
 
 
 def _generate_all_charts(spec, input_data):
 
 
 def _generate_all_charts(spec, input_data):
@@ -250,7 +258,7 @@ def _generate_all_charts(spec, input_data):
         logs.append(("INFO", "  Generating the chart '{0}' ...".
                      format(graph.get("title", ""))))
 
         logs.append(("INFO", "  Generating the chart '{0}' ...".
                      format(graph.get("title", ""))))
 
-        job_name = spec.cpta["data"].keys()[0]
+        job_name = graph["data"].keys()[0]
 
         csv_tbl = list()
         res = list()
 
         csv_tbl = list()
         res = list()
@@ -264,8 +272,10 @@ def _generate_all_charts(spec, input_data):
             return
 
         chart_data = dict()
             return
 
         chart_data = dict()
-        for job in data:
-            for index, bld in job.items():
+        for job, job_data in data.iteritems():
+            if job != job_name:
+                continue
+            for index, bld in job_data.items():
                 for test_name, test in bld.items():
                     if chart_data.get(test_name, None) is None:
                         chart_data[test_name] = OrderedDict()
                 for test_name, test in bld.items():
                     if chart_data.get(test_name, None) is None:
                         chart_data[test_name] = OrderedDict()
@@ -278,7 +288,7 @@ def _generate_all_charts(spec, input_data):
         # Add items to the csv table:
         for tst_name, tst_data in chart_data.items():
             tst_lst = list()
         # Add items to the csv table:
         for tst_name, tst_data in chart_data.items():
             tst_lst = list()
-            for bld in builds_lst:
+            for bld in builds_dict[job_name]:
                 itm = tst_data.get(int(bld), '')
                 tst_lst.append(str(itm))
             csv_tbl.append("{0},".format(tst_name) + ",".join(tst_lst) + '\n')
                 itm = tst_data.get(int(bld), '')
                 tst_lst.append(str(itm))
             csv_tbl.append("{0},".format(tst_name) + ",".join(tst_lst) + '\n')
@@ -294,8 +304,8 @@ def _generate_all_charts(spec, input_data):
             test_name = test_name.split('.')[-1]
             trace, rslt = _generate_trending_traces(
                 test_data,
             test_name = test_name.split('.')[-1]
             trace, rslt = _generate_trending_traces(
                 test_data,
+                job_name=job_name,
                 build_info=build_info,
                 build_info=build_info,
-                moving_win_size=win_size,
                 name='-'.join(test_name.split('-')[3:-1]),
                 color=COLORS[index])
             traces.extend(trace)
                 name='-'.join(test_name.split('-')[3:-1]),
                 color=COLORS[index])
             traces.extend(trace)
@@ -320,30 +330,32 @@ def _generate_all_charts(spec, input_data):
                 logs.append(("WARNING", "No data for the plot. Skipped."))
 
         data_out = {
                 logs.append(("WARNING", "No data for the plot. Skipped."))
 
         data_out = {
+            "job_name": job_name,
             "csv_table": csv_tbl,
             "results": res,
             "logs": logs
         }
         data_q.put(data_out)
 
             "csv_table": csv_tbl,
             "results": res,
             "logs": logs
         }
         data_q.put(data_out)
 
-    job_name = spec.cpta["data"].keys()[0]
-
-    builds_lst = list()
-    for build in spec.input["builds"][job_name]:
-        status = build["status"]
-        if status != "failed" and status != "not found":
-            builds_lst.append(str(build["build"]))
-
-    # Get "build ID": "date" dict:
-    build_info = OrderedDict()
-    for build in builds_lst:
-        try:
-            build_info[build] = (
-                input_data.metadata(job_name, build)["generated"][:14],
-                input_data.metadata(job_name, build)["version"]
+    builds_dict = dict()
+    for job in spec.input["builds"].keys():
+        if builds_dict.get(job, None) is None:
+            builds_dict[job] = list()
+        for build in spec.input["builds"][job]:
+            status = build["status"]
+            if status != "failed" and status != "not found":
+                builds_dict[job].append(str(build["build"]))
+
+    # Create "build ID": "date" dict:
+    build_info = dict()
+    for job_name, job_data in builds_dict.items():
+        if build_info.get(job_name, None) is None:
+            build_info[job_name] = OrderedDict()
+        for build in job_data:
+            build_info[job_name][build] = (
+                input_data.metadata(job_name, build).get("generated", ""),
+                input_data.metadata(job_name, build).get("version", "")
             )
             )
-        except KeyError:
-            build_info[build] = ("", "")
 
     work_queue = multiprocessing.JoinableQueue()
     manager = multiprocessing.Manager()
 
     work_queue = multiprocessing.JoinableQueue()
     manager = multiprocessing.Manager()
@@ -368,21 +380,24 @@ def _generate_all_charts(spec, input_data):
     anomaly_classifications = list()
 
     # Create the header:
     anomaly_classifications = list()
 
     # Create the header:
-    csv_table = list()
-    header = "Build Number:," + ",".join(builds_lst) + '\n'
-    csv_table.append(header)
-    build_dates = [x[0] for x in build_info.values()]
-    header = "Build Date:," + ",".join(build_dates) + '\n'
-    csv_table.append(header)
-    vpp_versions = [x[1] for x in build_info.values()]
-    header = "VPP Version:," + ",".join(vpp_versions) + '\n'
-    csv_table.append(header)
+    csv_tables = dict()
+    for job_name in builds_dict.keys():
+        if csv_tables.get(job_name, None) is None:
+            csv_tables[job_name] = list()
+        header = "Build Number:," + ",".join(builds_dict[job_name]) + '\n'
+        csv_tables[job_name].append(header)
+        build_dates = [x[0] for x in build_info[job_name].values()]
+        header = "Build Date:," + ",".join(build_dates) + '\n'
+        csv_tables[job_name].append(header)
+        versions = [x[1] for x in build_info[job_name].values()]
+        header = "Version:," + ",".join(versions) + '\n'
+        csv_tables[job_name].append(header)
 
     while not data_queue.empty():
         result = data_queue.get()
 
         anomaly_classifications.extend(result["results"])
 
     while not data_queue.empty():
         result = data_queue.get()
 
         anomaly_classifications.extend(result["results"])
-        csv_table.extend(result["csv_table"])
+        csv_tables[result["job_name"]].extend(result["csv_table"])
 
         for item in result["logs"]:
             if item[0] == "INFO":
 
         for item in result["logs"]:
             if item[0] == "INFO":
@@ -404,33 +419,34 @@ def _generate_all_charts(spec, input_data):
         worker.join()
 
     # Write the tables:
         worker.join()
 
     # Write the tables:
-    file_name = spec.cpta["output-file"] + "-trending"
-    with open("{0}.csv".format(file_name), 'w') as file_handler:
-        file_handler.writelines(csv_table)
-
-    txt_table = None
-    with open("{0}.csv".format(file_name), 'rb') as csv_file:
-        csv_content = csv.reader(csv_file, delimiter=',', quotechar='"')
-        line_nr = 0
-        for row in csv_content:
-            if txt_table is None:
-                txt_table = prettytable.PrettyTable(row)
-            else:
-                if line_nr > 1:
-                    for idx, item in enumerate(row):
-                        try:
-                            row[idx] = str(round(float(item) / 1000000, 2))
-                        except ValueError:
-                            pass
-                try:
-                    txt_table.add_row(row)
-                except Exception as err:
-                    logging.warning("Error occurred while generating TXT table:"
-                                    "\n{0}".format(err))
-            line_nr += 1
-        txt_table.align["Build Number:"] = "l"
-    with open("{0}.txt".format(file_name), "w") as txt_file:
-        txt_file.write(str(txt_table))
+    for job_name, csv_table in csv_tables.items():
+        file_name = spec.cpta["output-file"] + "-" + job_name + "-trending"
+        with open("{0}.csv".format(file_name), 'w') as file_handler:
+            file_handler.writelines(csv_table)
+
+        txt_table = None
+        with open("{0}.csv".format(file_name), 'rb') as csv_file:
+            csv_content = csv.reader(csv_file, delimiter=',', quotechar='"')
+            line_nr = 0
+            for row in csv_content:
+                if txt_table is None:
+                    txt_table = prettytable.PrettyTable(row)
+                else:
+                    if line_nr > 1:
+                        for idx, item in enumerate(row):
+                            try:
+                                row[idx] = str(round(float(item) / 1000000, 2))
+                            except ValueError:
+                                pass
+                    try:
+                        txt_table.add_row(row)
+                    except Exception as err:
+                        logging.warning("Error occurred while generating TXT "
+                                        "table:\n{0}".format(err))
+                line_nr += 1
+            txt_table.align["Build Number:"] = "l"
+        with open("{0}.txt".format(file_name), "w") as txt_file:
+            txt_file.write(str(txt_table))
 
     # Evaluate result:
     if anomaly_classifications:
 
     # Evaluate result:
     if anomaly_classifications:
index 12f1601..564ed78 100644 (file)
@@ -450,24 +450,16 @@ def table_performance_comparison(table, input_data):
                         item.extend([None, None])
             else:
                 item.extend([None, None])
                         item.extend([None, None])
             else:
                 item.extend([None, None])
-        if tbl_dict[tst_name]["ref-data"]:
-            data_t = tbl_dict[tst_name]["ref-data"]
-            # TODO: Specify window size.
-            if data_t:
-                item.append(round(mean(data_t) / 1000000, 2))
-                item.append(round(stdev(data_t) / 1000000, 2))
-            else:
-                item.extend([None, None])
+        data_t = tbl_dict[tst_name]["ref-data"]
+        if data_t:
+            item.append(round(mean(data_t) / 1000000, 2))
+            item.append(round(stdev(data_t) / 1000000, 2))
         else:
             item.extend([None, None])
         else:
             item.extend([None, None])
-        if tbl_dict[tst_name]["cmp-data"]:
-            data_t = tbl_dict[tst_name]["cmp-data"]
-            # TODO: Specify window size.
-            if data_t:
-                item.append(round(mean(data_t) / 1000000, 2))
-                item.append(round(stdev(data_t) / 1000000, 2))
-            else:
-                item.extend([None, None])
+        data_t = tbl_dict[tst_name]["cmp-data"]
+        if data_t:
+            item.append(round(mean(data_t) / 1000000, 2))
+            item.append(round(stdev(data_t) / 1000000, 2))
         else:
             item.extend([None, None])
         if item[-4] is not None and item[-2] is not None and item[-4] != 0:
         else:
             item.extend([None, None])
         if item[-4] is not None and item[-2] is not None and item[-4] != 0:
@@ -647,24 +639,16 @@ def table_performance_comparison_mrr(table, input_data):
     tbl_lst = list()
     for tst_name in tbl_dict.keys():
         item = [tbl_dict[tst_name]["name"], ]
     tbl_lst = list()
     for tst_name in tbl_dict.keys():
         item = [tbl_dict[tst_name]["name"], ]
-        if tbl_dict[tst_name]["ref-data"]:
-            data_t = tbl_dict[tst_name]["ref-data"]
-            # TODO: Specify window size.
-            if data_t:
-                item.append(round(mean(data_t) / 1000000, 2))
-                item.append(round(stdev(data_t) / 1000000, 2))
-            else:
-                item.extend([None, None])
+        data_t = tbl_dict[tst_name]["ref-data"]
+        if data_t:
+            item.append(round(mean(data_t) / 1000000, 2))
+            item.append(round(stdev(data_t) / 1000000, 2))
         else:
             item.extend([None, None])
         else:
             item.extend([None, None])
-        if tbl_dict[tst_name]["cmp-data"]:
-            data_t = tbl_dict[tst_name]["cmp-data"]
-            # TODO: Specify window size.
-            if data_t:
-                item.append(round(mean(data_t) / 1000000, 2))
-                item.append(round(stdev(data_t) / 1000000, 2))
-            else:
-                item.extend([None, None])
+        data_t = tbl_dict[tst_name]["cmp-data"]
+        if data_t:
+            item.append(round(mean(data_t) / 1000000, 2))
+            item.append(round(stdev(data_t) / 1000000, 2))
         else:
             item.extend([None, None])
         if item[1] is not None and item[3] is not None and item[1] != 0:
         else:
             item.extend([None, None])
         if item[1] is not None and item[3] is not None and item[1] != 0:
@@ -768,13 +752,13 @@ def table_performance_trending_dashboard(table, input_data):
         if len(tbl_dict[tst_name]["data"]) < 3:
             continue
 
         if len(tbl_dict[tst_name]["data"]) < 3:
             continue
 
-        pd_data = pd.Series(tbl_dict[tst_name]["data"])
-        last_key = pd_data.keys()[-1]
-        win_size = min(pd_data.size, table["window"])
-        win_first_idx = pd_data.size - win_size
-        key_14 = pd_data.keys()[win_first_idx]
-        long_win_size = min(pd_data.size, table["long-trend-window"])
-        median_t = pd_data.rolling(window=win_size, min_periods=2).median()
+        data_t = pd.Series(tbl_dict[tst_name]["data"])
+        last_key = data_t.keys()[-1]
+        win_size = min(data_t.size, table["window"])
+        win_first_idx = data_t.size - win_size
+        key_14 = data_t.keys()[win_first_idx]
+        long_win_size = min(data_t.size, table["long-trend-window"])
+        median_t = data_t.rolling(window=win_size, min_periods=2).median()
         median_first_idx = median_t.size - long_win_size
         try:
             max_median = max(
         median_first_idx = median_t.size - long_win_size
         try:
             max_median = max(
@@ -804,7 +788,7 @@ def table_performance_trending_dashboard(table, input_data):
                 ((last_median_t - max_median) / max_median) * 100, 2)
 
         # Classification list:
                 ((last_median_t - max_median) / max_median) * 100, 2)
 
         # Classification list:
-        classification_lst, _ = classify_anomalies(pd_data)
+        classification_lst, _ = classify_anomalies(data_t)
 
         if classification_lst:
             if isnan(rel_change_last) and isnan(rel_change_long):
 
         if classification_lst:
             if isnan(rel_change_last) and isnan(rel_change_long):
@@ -833,7 +817,7 @@ def table_performance_trending_dashboard(table, input_data):
 
     file_name = "{0}{1}".format(table["output-file"], table["output-file-ext"])
 
 
     file_name = "{0}{1}".format(table["output-file"], table["output-file-ext"])
 
-    logging.info("      Writing file: '{0}'".format(file_name))
+    logging.info("    Writing file: '{0}'".format(file_name))
     with open(file_name, "w") as file_handler:
         file_handler.write(header_str)
         for test in tbl_sorted:
     with open(file_name, "w") as file_handler:
         file_handler.write(header_str)
         for test in tbl_sorted:
@@ -841,7 +825,7 @@ def table_performance_trending_dashboard(table, input_data):
 
     txt_file_name = "{0}.txt".format(table["output-file"])
     txt_table = None
 
     txt_file_name = "{0}.txt".format(table["output-file"])
     txt_table = None
-    logging.info("      Writing file: '{0}'".format(txt_file_name))
+    logging.info("    Writing file: '{0}'".format(txt_file_name))
     with open(file_name, 'rb') as csv_file:
         csv_content = csv.reader(csv_file, delimiter=',', quotechar='"')
         for row in csv_content:
     with open(file_name, 'rb') as csv_file:
         csv_content = csv.reader(csv_file, delimiter=',', quotechar='"')
         for row in csv_content:
@@ -917,7 +901,13 @@ def table_performance_trending_dashboard_html(table, input_data):
             anchor = "#"
             feature = ""
             if c_idx == 0:
             anchor = "#"
             feature = ""
             if c_idx == 0:
-                if "memif" in item:
+                if "lbdpdk" in item or "lbvpp" in item:
+                    file_name = "link_bonding.html"
+
+                elif "testpmd" in item or "l3fwd" in item:
+                    file_name = "dpdk.html"
+
+                elif "memif" in item:
                     file_name = "container_memif.html"
 
                 elif "srv6" in item:
                     file_name = "container_memif.html"
 
                 elif "srv6" in item:
@@ -980,13 +970,12 @@ def table_performance_trending_dashboard_html(table, input_data):
                 ref = ET.SubElement(td, "a", attrib=dict(href=url))
                 ref.text = item
 
                 ref = ET.SubElement(td, "a", attrib=dict(href=url))
                 ref.text = item
 
-            if c_idx > 0:
+            else:
                 td.text = item
 
     try:
         with open(table["output-file"], 'w') as html_file:
                 td.text = item
 
     try:
         with open(table["output-file"], 'w') as html_file:
-            logging.info("      Writing file: '{0}'".
-                         format(table["output-file"]))
+            logging.info("    Writing file: '{0}'".format(table["output-file"]))
             html_file.write(".. raw:: html\n\n\t")
             html_file.write(ET.tostring(dashboard))
             html_file.write("\n\t<p><br><br></p>\n")
             html_file.write(".. raw:: html\n\n\t")
             html_file.write(ET.tostring(dashboard))
             html_file.write("\n\t<p><br><br></p>\n")
index beec34c..0bb2b6c 100644 (file)
@@ -176,7 +176,10 @@ class ExecutionChecker(ResultVisitor):
     REGEX_TOLERANCE = re.compile(r'^[\D\d]*LOSS_ACCEPTANCE:\s(\d*\.\d*)\s'
                                  r'[\D\d]*')
 
     REGEX_TOLERANCE = re.compile(r'^[\D\d]*LOSS_ACCEPTANCE:\s(\d*\.\d*)\s'
                                  r'[\D\d]*')
 
-    REGEX_VERSION = re.compile(r"(return STDOUT Version:\s*)(.*)")
+    REGEX_VERSION_VPP = re.compile(r"(return STDOUT Version:\s*)(.*)")
+
+    REGEX_VERSION_DPDK = re.compile(r"(return STDOUT testpmd)([\d\D\n]*)"
+                                    r"(RTE Version: 'DPDK )(.*)(')")
 
     REGEX_TCP = re.compile(r'Total\s(rps|cps|throughput):\s([0-9]*).*$')
 
 
     REGEX_TCP = re.compile(r'Total\s(rps|cps|throughput):\s([0-9]*).*$')
 
@@ -197,6 +200,9 @@ class ExecutionChecker(ResultVisitor):
         # VPP version
         self._version = None
 
         # VPP version
         self._version = None
 
+        # Timestamp
+        self._timestamp = None
+
         # Number of VAT History messages found:
         # 0 - no message
         # 1 - VAT History of DUT1
         # Number of VAT History messages found:
         # 0 - no message
         # 1 - VAT History of DUT1
@@ -227,7 +233,9 @@ class ExecutionChecker(ResultVisitor):
         # Dictionary defining the methods used to parse different types of
         # messages
         self.parse_msg = {
         # Dictionary defining the methods used to parse different types of
         # messages
         self.parse_msg = {
-            "setup-version": self._get_version,
+            "timestamp": self._get_timestamp,
+            "vpp-version": self._get_vpp_version,
+            "dpdk-version": self._get_dpdk_version,
             "teardown-vat-history": self._get_vat_history,
             "test-show-runtime": self._get_show_run
         }
             "teardown-vat-history": self._get_vat_history,
             "test-show-runtime": self._get_show_run
         }
@@ -241,7 +249,7 @@ class ExecutionChecker(ResultVisitor):
         """
         return self._data
 
         """
         return self._data
 
-    def _get_version(self, msg):
+    def _get_vpp_version(self, msg):
         """Called when extraction of VPP version is required.
 
         :param msg: Message to process.
         """Called when extraction of VPP version is required.
 
         :param msg: Message to process.
@@ -250,12 +258,41 @@ class ExecutionChecker(ResultVisitor):
         """
 
         if msg.message.count("return STDOUT Version:"):
         """
 
         if msg.message.count("return STDOUT Version:"):
-            self._version = str(re.search(self.REGEX_VERSION, msg.message).
+            self._version = str(re.search(self.REGEX_VERSION_VPP, msg.message).
                                 group(2))
             self._data["metadata"]["version"] = self._version
                                 group(2))
             self._data["metadata"]["version"] = self._version
-            self._data["metadata"]["generated"] = msg.timestamp
             self._msg_type = None
 
             self._msg_type = None
 
+    def _get_dpdk_version(self, msg):
+        """Called when extraction of DPDK version is required.
+
+        :param msg: Message to process.
+        :type msg: Message
+        :returns: Nothing.
+        """
+
+        if msg.message.count("return STDOUT testpmd"):
+            try:
+                self._version = str(re.search(
+                    self.REGEX_VERSION_DPDK, msg.message). group(4))
+                self._data["metadata"]["version"] = self._version
+            except IndexError:
+                pass
+            finally:
+                self._msg_type = None
+
+    def _get_timestamp(self, msg):
+        """Called when extraction of timestamp is required.
+
+        :param msg: Message to process.
+        :type msg: Message
+        :returns: Nothing.
+        """
+
+        self._timestamp = msg.timestamp[:14]
+        self._data["metadata"]["generated"] = self._timestamp
+        self._msg_type = None
+
     def _get_vat_history(self, msg):
         """Called when extraction of VAT command history is required.
 
     def _get_vat_history(self, msg):
         """Called when extraction of VAT command history is required.
 
@@ -557,7 +594,11 @@ class ExecutionChecker(ResultVisitor):
             self._lookup_kw_nr += 1
             self._show_run_lookup_nr = 0
             self._msg_type = "test-show-runtime"
             self._lookup_kw_nr += 1
             self._show_run_lookup_nr = 0
             self._msg_type = "test-show-runtime"
-            test_kw.messages.visit(self)
+        elif test_kw.name.count("Start The L2fwd Test") and not self._version:
+            self._msg_type = "dpdk-version"
+        else:
+            return
+        test_kw.messages.visit(self)
 
     def end_test_kw(self, test_kw):
         """Called when keyword ends. Default implementation does nothing.
 
     def end_test_kw(self, test_kw):
         """Called when keyword ends. Default implementation does nothing.
@@ -591,8 +632,14 @@ class ExecutionChecker(ResultVisitor):
         """
         if setup_kw.name.count("Show Vpp Version On All Duts") \
                 and not self._version:
         """
         if setup_kw.name.count("Show Vpp Version On All Duts") \
                 and not self._version:
-            self._msg_type = "setup-version"
-            setup_kw.messages.visit(self)
+            self._msg_type = "vpp-version"
+
+        elif setup_kw.name.count("Setup performance global Variables") \
+                and not self._timestamp:
+            self._msg_type = "timestamp"
+        else:
+            return
+        setup_kw.messages.visit(self)
 
     def end_setup_kw(self, setup_kw):
         """Called when keyword ends. Default implementation does nothing.
 
     def end_setup_kw(self, setup_kw):
         """Called when keyword ends. Default implementation does nothing.
index 97e616a..3064b2b 100644 (file)
@@ -10,7 +10,7 @@
     DIR[BUILD,LATEX]: "_build_latex"
 
     # Static .rst files
     DIR[BUILD,LATEX]: "_build_latex"
 
     # Static .rst files
-    DIR[RST]: "../../../docs/report"
+    DIR[RST]: "../../../../docs/report"
 
     # Working directories
     ## Input data files (.zip, .xml)
 
     # Working directories
     ## Input data files (.zip, .xml)
index 971d7c6..f7e25c8 100644 (file)
     ## Build directories
     DIR[BUILD,HTML]: "_build"
     ## Static .rst files
     ## Build directories
     DIR[BUILD,HTML]: "_build"
     ## Static .rst files
-    DIR[RST]: "../../../../docs/cpta"
+    DIR[RST]: "../../../../docs/cpta/new"
 
     # Static html content
     DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
     DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
 
     # 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"
 
     # Working directories
     DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
 
     # Working directories
   type: "configuration"
 
   data-sets:
   type: "configuration"
 
   data-sets:
-    plot-performance-trending:
+    plot-performance-trending-all:
       csit-vpp-perf-mrr-daily-master:
       csit-vpp-perf-mrr-daily-master:
-#      - 15
-#      - 20
-#      - 25
-#      - 30
-#      - 35
-#      - 40
-#      - 45
-#      - 50
-#      - 55
-#      - 60
-#      - 65
-#      - 70
-#      - 75
-#      - 80
-#      - 85
-#      - 90
-#      - 95
         start: 15
         start: 15
-        end: "lastCompletedBuild" # "lastSuccessfulBuild"  # take all from the 'start'
+        end: "lastCompletedBuild"
+      csit-dpdk-perf-mrr-weekly-master:
+        start: 3
+        end: "lastCompletedBuild"
+    plot-performance-trending-vpp:
+      csit-vpp-perf-mrr-daily-master:
+        start: 15
+        end: "lastCompletedBuild"
+    plot-performance-trending-dpdk:
+      csit-dpdk-perf-mrr-weekly-master:
+        start: 3
+        end: "lastCompletedBuild"
 
   plot-layouts:
 
   plot-layouts:
-    plot-cpta:
+
+    plot-cpta-vpp:
       title: ""
       autosize: False
       showlegend: True
       title: ""
       autosize: False
       showlegend: True
       hoverlabel:
         namelength: -1
 
       hoverlabel:
         namelength: -1
 
+    plot-cpta-dpdk:
+      title: ""
+      autosize: False
+      showlegend: True
+      width: 1100
+      height: 800
+      yaxis:
+        showticklabels: True
+        tickformat: ".3s"
+        title: "Throughput [pps]"
+        hoverformat: ".4s"
+        range: []
+        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: '<a href="https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-mrr-weekly-master" target="_blank">csit-dpdk-perf-mrr-weekly-master</a>/<a href="http://fast.dpdk.org/rel/" target="_blank">dpdk-build</a>'
+        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)"
+        autotick: True
+        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: 200
+        t: 5
+        l: 70
+      legend:
+        orientation: "h"
+        # y: -0.5
+        xanchor: "center"
+        traceorder: "normal"
+        tracegroupgap: 20
+        bordercolor: "rgb(238, 238, 238)"
+      hoverlabel:
+        namelength: -1
+
 -
   type: "static"
   src-path: "{DIR[RST]}"
   dst-path: "{DIR[WORKING,SRC]}"
 
 -
 -
   type: "static"
   src-path: "{DIR[RST]}"
   dst-path: "{DIR[WORKING,SRC]}"
 
 -
-  type: "input"  # Ignored in debug mode
-#  general:
-#    file-name: "robot-plugin.zip"
-#    file-format: ".zip"
-#    download-path: "{job}/{build}/robot/report/*zip*/{filename}"
-#    extract: "robot-plugin/output.xml"
+  type: "input"
   general:
     file-name: "output.xml.gz"
     file-format: ".gz"
   general:
     file-name: "output.xml.gz"
     file-format: ".gz"
     extract: "output.xml"
   builds:
     csit-vpp-perf-mrr-daily-master:
     extract: "output.xml"
   builds:
     csit-vpp-perf-mrr-daily-master:
-#    - 15
-#    - 20
-#    - 25
-#    - 30
-#    - 35
-#    - 40
-#    - 45
-#    - 50
-#    - 55
-#    - 60
-#    - 65
-#    - 70
-#    - 75
-#    - 80
-#    - 85
-#    - 90
-#    - 95
       start: 15
       end: "lastCompletedBuild"  # take all from the 'start'
       start: 15
       end: "lastCompletedBuild"  # take all from the 'start'
+    csit-dpdk-perf-mrr-weekly-master:
+      start: 3
+      end: "lastCompletedBuild"
 
 -
   type: "output"
 
 -
   type: "output"
   algorithm: "table_performance_trending_dashboard"
   output-file-ext: ".csv"
   output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-1t1c"
   algorithm: "table_performance_trending_dashboard"
   output-file-ext: ".csv"
   output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-1t1c"
-  data: "plot-performance-trending"
+  data: "plot-performance-trending-all"
   filter: "'MRR' and '1T1C'"
   parameters:
   - "name"
   filter: "'MRR' and '1T1C'"
   parameters:
   - "name"
   algorithm: "table_performance_trending_dashboard"
   output-file-ext: ".csv"
   output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t2c"
   algorithm: "table_performance_trending_dashboard"
   output-file-ext: ".csv"
   output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-2t2c"
-  data: "plot-performance-trending"
+  data: "plot-performance-trending-all"
   filter: "'MRR' and '2T2C'"
   parameters:
   - "name"
   filter: "'MRR' and '2T2C'"
   parameters:
   - "name"
   algorithm: "table_performance_trending_dashboard"
   output-file-ext: ".csv"
   output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-4t4c"
   algorithm: "table_performance_trending_dashboard"
   output-file-ext: ".csv"
   output-file: "{DIR[STATIC,VPP]}/performance-trending-dashboard-4t4c"
-  data: "plot-performance-trending"
+  data: "plot-performance-trending-all"
   filter: "'MRR' and '4T4C'"
   parameters:
   - "name"
   filter: "'MRR' and '4T4C'"
   parameters:
   - "name"
   algorithm: "cpta"
   output-file-type: ".html"
   output-file: "{DIR[STATIC,VPP]}/cpta"
   algorithm: "cpta"
   output-file-type: ".html"
   output-file: "{DIR[STATIC,VPP]}/cpta"
-  data: "plot-performance-trending"
   plots:
 
 # L2 - x520
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-1t1c-x520"
   plots:
 
 # L2 - x520
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-2t2c-x520"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-4t4c-x520"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-1t1c-x520"
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-2t2c-x520"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-4t4c-x520"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # L2 - xl710
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-1t1c-xl710"
 
 # L2 - xl710
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-2t2c-xl710"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-4t4c-xl710"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # L2 - x710
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-1t1c-x710"
 
 # L2 - x710
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-2t2c-x710"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-4t4c-x710"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-1t1c-x710"
 
     - title: "VPP 1T1C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-2t2c-x710"
 
     - title: "VPP 2T2C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-4t4c-x710"
 
     - title: "VPP 4T4C L2 64B Packet Throughput - Trending"
       output-file-name: "l2-feature-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv4 - x520
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-1t1c-x520"
 
 # IPv4 - x520
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-2t2c-x520"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-4t4c-x520"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-1t1c-x520"
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-2t2c-x520"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-4t4c-x520"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv4 - xl710
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-1t1c-xl710"
 
 # IPv4 - xl710
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-2t2c-xl710"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-4t4c-xl710"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv4 - x710
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-1t1c-x710"
 
 # IPv4 - x710
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '1T1C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-2t2c-x710"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '2T2C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-4t4c-x710"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and ('BASE' or 'SCALE') and '4T4C' and 'IP4FWD' and not 'FEATURE' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-1t1c-x710"
 
     - title: "VPP 1T1C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-2t2c-x710"
 
     - title: "VPP 2T2C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-4t4c-x710"
 
     - title: "VPP 4T4C IPv4 64B Packet Throughput - Trending"
       output-file-name: "ip4-feature-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'FEATURE' and '4T4C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv4 Tunnels - x520
 
     - title: "VPP 1T1C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-1t1c-x520"
 
 # IPv4 Tunnels - x520
 
     - title: "VPP 1T1C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'ENCAP' and 'MRR' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'ENCAP' and 'MRR' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-2t2c-x520"
 
     - title: "VPP 2T2C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'ENCAP' and 'MRR' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'ENCAP' and 'MRR' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-4t4c-x520"
 
     - title: "VPP 4T4C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'ENCAP' and 'MRR' and '4T4C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'ENCAP' and 'MRR' and '4T4C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv4 Tunnels - x710
 
     - title: "VPP 1T1C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-1t1c-x710"
 
 # IPv4 Tunnels - x710
 
     - title: "VPP 1T1C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'ENCAP' and 'MRR' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'ENCAP' and 'MRR' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-2t2c-x710"
 
     - title: "VPP 2T2C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'ENCAP' and 'MRR' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'ENCAP' and 'MRR' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-4t4c-x710"
 
     - title: "VPP 4T4C IPv4 Tunnels 64B Packet Throughput - Trending"
       output-file-name: "ip4-tunnels-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'ENCAP' and 'MRR' and '4T4C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'ENCAP' and 'MRR' and '4T4C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv6 - x520
 
     - title: "VPP 1T1C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-1t1c-x520"
 
 # IPv6 - x520
 
     - title: "VPP 1T1C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST' and not 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST' and not 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-2t2c-x520"
 
     - title: "VPP 2T2C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST' and not 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST' and not 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-4t4c-x520"
 
     - title: "VPP 4T4C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST' and not 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST' and not 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv6 - xl710
 
     - title: "VPP 1T1C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-1t1c-xl710"
 
 # IPv6 - xl710
 
     - title: "VPP 1T1C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-2t2c-xl710"
 
     - title: "VPP 2T2C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-4t4c-xl710"
 
     - title: "VPP 4T4C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPv6 - x710
 
     - title: "VPP 1T1C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-1t1c-x710"
 
 # IPv6 - x710
 
     - title: "VPP 1T1C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-2t2c-x710"
 
     - title: "VPP 2T2C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-4t4c-x710"
 
     - title: "VPP 4T4C IPv6 78B Packet Throughput - Trending"
       output-file-name: "ip6-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '78B' and ('BASE' or 'SCALE' or 'FEATURE') and '4T4C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Container memif - x520, 64B
 
     - title: "VPP 1T1C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-1t1c-x520"
 
 # Container memif - x520, 64B
 
     - title: "VPP 1T1C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-2t2c-x520"
 
     - title: "VPP 2T2C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-4t4c-x520"
 
     - title: "VPP 4T4C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and '64B' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Container memif - x520, IMIX
 
     - title: "VPP 1T1C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-1t1c-x520"
 
 # Container memif - x520, IMIX
 
     - title: "VPP 1T1C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and 'IMIX' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and 'IMIX' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-2t2c-x520"
 
     - title: "VPP 2T2C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and 'IMIX' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and 'IMIX' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-4t4c-x520"
 
     - title: "VPP 4T4C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and 'IMIX' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'MRR' and 'IMIX' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Container memif - xl710, 64B
 
     - title: "VPP 1T1C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-1t1c-xl710"
 
 # Container memif - xl710, 64B
 
     - title: "VPP 1T1C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-2t2c-xl710"
 
     - title: "VPP 2T2C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-4t4c-xl710"
 
     - title: "VPP 4T4C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and '64B' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Container memif - xl710, IMIX
 
     - title: "VPP 1T1C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-1t1c-xl710"
 
 # Container memif - xl710, IMIX
 
     - title: "VPP 1T1C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and 'IMIX' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and 'IMIX' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-2t2c-xl710"
 
     - title: "VPP 2T2C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and 'IMIX' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and 'IMIX' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-4t4c-xl710"
 
     - title: "VPP 4T4C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'MRR' and 'IMIX' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'MRR' and 'IMIX' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Container memif - x710, 64B
 
     - title: "VPP 1T1C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-1t1c-x710"
 
 # Container memif - x710, 64B
 
     - title: "VPP 1T1C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-2t2c-x710"
 
     - title: "VPP 2T2C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-4t4c-x710"
 
     - title: "VPP 4T4C L2 Container memif 64B Packet Throughput - Trending"
       output-file-name: "container-memif-l2-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and '64B' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Container memif - x520, IMIX
 
     - title: "VPP 1T1C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-1t1c-x710"
 
 # Container memif - x520, IMIX
 
     - title: "VPP 1T1C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and 'IMIX' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and 'IMIX' and 'BASE' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-2t2c-x710"
 
     - title: "VPP 2T2C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and 'IMIX' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and 'IMIX' and 'BASE' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-4t4c-x710"
 
     - title: "VPP 4T4C L2 Container memif IMIX Packet Throughput - Trending"
       output-file-name: "container-memif-imix-l2-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'MRR' and 'IMIX' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'MRR' and 'IMIX' and 'BASE' and '4T4C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x520, ethip4, 64B
 
     - title: "VPP 1T1C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-1t1c-x520"
 
 # VM vhost - x520, ethip4, 64B
 
     - title: "VPP 1T1C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-2t2c-x520"
 
     - title: "VPP 2T2C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-4t4c-x520"
 
     - title: "VPP 4T4C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x520, ethip4, IMIX
 
     - title: "VPP 1T1C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-1t1c-x520"
 
 # VM vhost - x520, ethip4, IMIX
 
     - title: "VPP 1T1C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-2t2c-x520"
 
     - title: "VPP 2T2C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-4t4c-x520"
 
     - title: "VPP 4T4C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x520, eth, 64B
 
     - title: "VPP 1T1C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-1t1c-x520"
 
 # VM vhost - x520, eth, 64B
 
     - title: "VPP 1T1C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-2t2c-x520"
 
     - title: "VPP 2T2C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-4t4c-x520"
 
     - title: "VPP 4T4C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x520, eth, IMIX
 
     - title: "VPP 1T1C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-1t1c-x520"
 
 # VM vhost - x520, eth, IMIX
 
     - title: "VPP 1T1C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-2t2c-x520"
 
     - title: "VPP 2T2C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-4t4c-x520"
 
     - title: "VPP 4T4C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - xl710, eth, 64B
 
     - title: "VPP 1T1C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-1t1c-xl710"
 
 # VM vhost - xl710, eth, 64B
 
     - title: "VPP 1T1C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-2t2c-xl710"
 
     - title: "VPP 2T2C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-4t4c-xl710"
 
     - title: "VPP 4T4C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - xl710, eth, IMIX
 
     - title: "VPP 1T1C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-1t1c-xl710"
 
 # VM vhost - xl710, eth, IMIX
 
     - title: "VPP 1T1C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-2t2c-xl710"
 
     - title: "VPP 2T2C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-4t4c-xl710"
 
     - title: "VPP 4T4C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x710, ethip4, 64B
 
     - title: "VPP 1T1C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-1t1c-x710"
 
 # VM vhost - x710, ethip4, 64B
 
     - title: "VPP 1T1C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-2t2c-x710"
 
     - title: "VPP 2T2C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-4t4c-x710"
 
     - title: "VPP 4T4C VM vhost ethip4 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-ethip4-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x710, ethip4, IMIX
 
     - title: "VPP 1T1C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-1t1c-x710"
 
 # VM vhost - x710, ethip4, IMIX
 
     - title: "VPP 1T1C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-2t2c-x710"
 
     - title: "VPP 2T2C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-4t4c-x710"
 
     - title: "VPP 4T4C VM vhost ethip4 IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-ethip4-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x710, eth, 64B
 
     - title: "VPP 1T1C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-1t1c-x710"
 
 # VM vhost - x710, eth, 64B
 
     - title: "VPP 1T1C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-2t2c-x710"
 
     - title: "VPP 2T2C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-4t4c-x710"
 
     - title: "VPP 4T4C VM vhost eth 64B Packet Throughput - Trending"
       output-file-name: "vm-vhost-eth-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # VM vhost - x710, eth, IMIX
 
     - title: "VPP 1T1C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-1t1c-x710"
 
 # VM vhost - x710, eth, IMIX
 
     - title: "VPP 1T1C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
 
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-2t2c-x710"
 
     - title: "VPP 2T2C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-4t4c-x710"
 
     - title: "VPP 4T4C VM vhost eth IMIX Packet Throughput - Trending"
       output-file-name: "vm-vhost-imix-eth-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '4T4C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # IPSec
 
     - title: "VPP 1T1C IPSec 64B Packet Throughput - Trending"
       output-file-name: "ipsec-1t1c-xl710"
 
 # IPSec
 
     - title: "VPP 1T1C IPSec 64B Packet Throughput - Trending"
       output-file-name: "ipsec-1t1c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and '64B' and 'IP4FWD' and 'MRR' and '1T1C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and '64B' and 'IP4FWD' and 'MRR' and '1T1C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C IPSec 64B Packet Throughput - Trending"
       output-file-name: "ipsec-2t2c-xl710"
 
     - title: "VPP 2T2C IPSec 64B Packet Throughput - Trending"
       output-file-name: "ipsec-2t2c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and '64B' and 'IP4FWD' and 'MRR' and '2T2C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and '64B' and 'IP4FWD' and 'MRR' and '2T2C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C IPSec 64B Packet Throughput - Trending"
       output-file-name: "ipsec-4t4c-xl710"
 
     - title: "VPP 4T4C IPSec 64B Packet Throughput - Trending"
       output-file-name: "ipsec-4t4c-xl710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-XL710' and '64B' and 'IP4FWD' and 'MRR' and '4T4C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN') and not 'VHOST'"
       parameters:
       - "result"
       filter: "'NIC_Intel-XL710' and '64B' and 'IP4FWD' and 'MRR' and '4T4C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN') and not 'VHOST'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # SRv6 - x520
 
     - title: "VPP 1T1C SRv6 78B MRR Trending"
       output-file-name: "srv6-78b-1t1c-x520"
 
 # SRv6 - x520
 
     - title: "VPP 1T1C SRv6 78B MRR Trending"
       output-file-name: "srv6-78b-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '78B' and 'MRR' and '1T1C' and 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '78B' and 'MRR' and '1T1C' and 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C SRv6 78B MRR Trending"
       output-file-name: "srv6-78b-2t2c-x520"
 
     - title: "VPP 2T2C SRv6 78B MRR Trending"
       output-file-name: "srv6-78b-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '78B' and 'MRR' and '2T2C' and 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '78B' and 'MRR' and '2T2C' and 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C SRv6 78B MRR Trending"
       output-file-name: "srv6-78b-4t4c-x520"
 
     - title: "VPP 4T4C SRv6 78B MRR Trending"
       output-file-name: "srv6-78b-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '78B' and 'MRR' and '4T4C' and 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '78B' and 'MRR' and '4T4C' and 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 1T1C SRv6 IMIX MRR Trending"
       output-file-name: "srv6-imix-1t1c-x520"
 
     - title: "VPP 1T1C SRv6 IMIX MRR Trending"
       output-file-name: "srv6-imix-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C SRv6 IMIX MRR Trending"
       output-file-name: "srv6-imix-2t2c-x520"
 
     - title: "VPP 2T2C SRv6 IMIX MRR Trending"
       output-file-name: "srv6-imix-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C SRv6 IMIX MRR Trending"
       output-file-name: "srv6-imix-4t4c-x520"
 
     - title: "VPP 4T4C SRv6 IMIX MRR Trending"
       output-file-name: "srv6-imix-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'SRv6'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'SRv6'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Link Bonding - x520
 
     - title: "VPP 1T1C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-1t1c-x520"
 
 # Link Bonding - x520
 
     - title: "VPP 1T1C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-2t2c-x520"
 
     - title: "VPP 2T2C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-4t4c-x520"
 
     - title: "VPP 4T4C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 1T1C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-1t1c-x520"
 
     - title: "VPP 1T1C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-1t1c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-2t2c-x520"
 
     - title: "VPP 2T2C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-2t2c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-4t4c-x520"
 
     - title: "VPP 4T4C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-4t4c-x520"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
 # Link Bonding - x710
 
     - title: "VPP 1T1C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-1t1c-x710"
 
 # Link Bonding - x710
 
     - title: "VPP 1T1C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-2t2c-x710"
 
     - title: "VPP 2T2C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-4t4c-x710"
 
     - title: "VPP 4T4C Link Bonding 64B MRR Trending"
       output-file-name: "lb-64b-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 1T1C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-1t1c-x710"
 
     - title: "VPP 1T1C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-1t1c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '1T1C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 2T2C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-2t2c-x710"
 
     - title: "VPP 2T2C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-2t2c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '2T2C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
 
     - title: "VPP 4T4C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-4t4c-x710"
 
     - title: "VPP 4T4C Link Bonding IMIX MRR Trending"
       output-file-name: "lb-imix-4t4c-x710"
-      data: "plot-performance-trending"
+      data: "plot-performance-trending-vpp"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
       filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '4T4C' and 'LBOND'"
       parameters:
       - "result"
-      layout: "plot-cpta"
+      layout: "plot-cpta-vpp"
+
+# DPDK - x520 - 64B
+
+    - title: "DPDK 1T1C 64B MRR Trending"
+      output-file-name: "dpdk-64b-1t1c-x520"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '1T1C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 2T2C 64B MRR Trending"
+      output-file-name: "dpdk-64b-2t2c-x520"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '2T2C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 4T4C 64B MRR Trending"
+      output-file-name: "dpdk-64b-4t4c-x520"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X520-DA2' and '64B' and 'MRR' and '4T4C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+# DPDK - x710 - 64B
+
+    - title: "DPDK 1T1C 64B MRR Trending"
+      output-file-name: "dpdk-64b-1t1c-x710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '1T1C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 2T2C 64B MRR Trending"
+      output-file-name: "dpdk-64b-2t2c-x710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '2T2C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 4T4C 64B MRR Trending"
+      output-file-name: "dpdk-64b-4t4c-x710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X710' and '64B' and 'MRR' and '4T4C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+# DPDK - xl710 - 64B
+
+    - title: "DPDK 1T1C 64B MRR Trending"
+      output-file-name: "dpdk-64b-1t1c-xl710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '1T1C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 2T2C 64B MRR Trending"
+      output-file-name: "dpdk-64b-2t2c-xl710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '2T2C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 4T4C 64B MRR Trending"
+      output-file-name: "dpdk-64b-4t4c-xl710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-XL710' and '64B' and 'MRR' and '4T4C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+# DPDK - x520 - IMIX
+
+    - title: "DPDK 1T1C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-1t1c-x520"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '1T1C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 2T2C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-2t2c-x520"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '2T2C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 4T4C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-4t4c-x520"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X520-DA2' and 'IMIX' and 'MRR' and '4T4C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+# DPDK - x710 - IMIX
+
+    - title: "DPDK 1T1C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-1t1c-x710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '1T1C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 2T2C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-2t2c-x710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '2T2C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 4T4C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-4t4c-x710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-X710' and 'IMIX' and 'MRR' and '4T4C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+# DPDK - xl710 - IMIX
+
+    - title: "DPDK 1T1C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-1t1c-xl710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '1T1C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 2T2C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-2t2c-xl710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '2T2C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"
+
+    - title: "DPDK 4T4C IMIX MRR Trending"
+      output-file-name: "dpdk-imix-4t4c-xl710"
+      data: "plot-performance-trending-dpdk"
+      filter: "'NIC_Intel-XL710' and 'IMIX' and 'MRR' and '4T4C' and 'DPDK'"
+      parameters:
+      - "result"
+      layout: "plot-cpta-dpdk"