Report: GSO release notes
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
index 600926d..eff392d 100644 (file)
-CSIT Release Notes\r
-==================\r
-\r
-Changes in CSIT |release|\r
--------------------------\r
-\r
-#. Added VPP performance tests\r
-\r
-   - **Container Topologies Orchestrated by K8s with VPP memif tests**\r
-\r
-   - Added tests with VPP in L2 Cross-Connect and Bridge-Domain\r
-     configurations containers, with service chain topologies orchestrated by\r
-     Kubernetes. Added following forwarding topologies: i) "Parallel" with\r
-     packets flowing from NIC via VPP to container and back to VPP and NIC;\r
-     ii) "Chained" a.k.a. "Snake" with packets flowing via VPP to container,\r
-     back to VPP, to next container, back to VPP and so on until the last\r
-     container in chain, then back to VPP and NIC; iii) "Horizontal" with\r
-     packets flowing via VPP to container, then via "horizontal" memif to\r
-     next container, and so on until the last container, then back to VPP and\r
-     NIC;.\r
-\r
-   - **VPP TCP/IP stack**\r
-\r
-     - Added tests for VPP TCP/IP stack using VPP built-in HTTP server.\r
-       WRK traffic generator is used as a client-side;\r
-\r
-   - **SRv6 tests**\r
-\r
-     - Initial SRv6 (Segment Routing IPv6) tests verifying performance of\r
-       IPv6 and SRH (Segment Routing Header) encapsulation, decapsulation,\r
-       lookups and rewrites based on configured End and End.DX6 SRv6 egress\r
-       functions;\r
-\r
-   - **IPSecSW tests**\r
-\r
-     - SW computed IPSec encryption with AES-GCM, CBC-SHA1 ciphers, in\r
-       combination with IPv4 routed-forwarding;\r
-\r
-#. Presentation and Analytics Layer\r
-\r
-     - Added throughput speedup analysis for multi-core and multi-thread\r
-       VPP tests into Presentation and Analytics Layer (PAL) for automated\r
-       CSIT test results analysis;\r
-\r
-#. Other improvements\r
-\r
-     - **Framework optimizations**\r
-\r
-       - Ability to run CSIT framework on ARM architecture;\r
-\r
-       - Overall stability improvements;\r
-\r
-Performance Changes\r
--------------------\r
-\r
-Substantial changes in measured packet throughput have been observed in a\r
-number of CSIT |release| tests listed below. Relative changes for this release\r
-are calculated against the test results listed in CSIT |release-1| report. The\r
-comparison is calculated between the mean values based on collected and\r
-archived test results' samples for involved VPP releases. Standard deviation\r
-has been also listed for CSIT |release|.\r
-\r
-NDR Throughput: Best 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: ../../../_build/_static/vpp/performance-changes-ndr-1t1c-top.csv\r
-\r
-.. only:: latex\r
-\r
-   .. raw:: latex\r
-\r
-      \makeatletter\r
-      \csvset{\r
-        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{5cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
-      }\r
-      \makeatother\r
-\r
-      {\tiny\r
-      \csvautobooklongtable[separator=comma,\r
-        respect all,\r
-        no check column count,\r
-        perfimprovements column width=1cm,\r
-        late after line={\\\hline},\r
-        late after last line={\end{longtable}}\r
-        ]{../_build/_static/vpp/performance-changes-ndr-1t1c-top.csv}\r
-      }\r
-\r
-NDR Throughput: Worst 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: ../../../_build/_static/vpp/performance-changes-ndr-1t1c-bottom.csv\r
-\r
-.. only:: latex\r
-\r
-   .. raw:: latex\r
-\r
-      \makeatletter\r
-      \csvset{\r
-        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{6cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
-      }\r
-      \makeatother\r
-\r
-      {\tiny\r
-      \csvautobooklongtable[separator=comma,\r
-        respect all,\r
-        no check column count,\r
-        perfimprovements column width=1cm,\r
-        late after line={\\\hline},\r
-        late after last line={\end{longtable}}\r
-        ]{../_build/_static/vpp/performance-changes-ndr-1t1c-bottom.csv}\r
-      }\r
-\r
-.. only:: html\r
-\r
-      NDR Throughput: All Changes\r
-      ~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-      Complete results for all NDR tests are available in a CSV and pretty\r
-      ASCII formats:\r
-\r
-        - `csv format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.csv>`_,\r
-        - `csv format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.csv>`_,\r
-        - `csv format for 4t4c <../_static/vpp/performance-changes-ndr-4t4c-full.csv>`_,\r
-        - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.txt>`_,\r
-        - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.txt>`_,\r
-        - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-ndr-4t4c-full.txt>`_.\r
-\r
-PDR Throughput: Best 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: ../../../_build/_static/vpp/performance-changes-pdr-1t1c-top.csv\r
-\r
-.. only:: latex\r
-\r
-   .. raw:: latex\r
-\r
-      \makeatletter\r
-      \csvset{\r
-        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{5cm} m{#2} m{#2} m{#2} m{#2} m{#2}}\csv@tablehead},\r
-      }\r
-      \makeatother\r
-\r
-      {\tiny\r
-      \csvautobooklongtable[separator=comma,\r
-        respect all,\r
-        no check column count,\r
-        perfimprovements column width=1cm,\r
-        late after line={\\\hline},\r
-        late after last line={\end{longtable}}\r
-        ]{../_build/_static/vpp/performance-changes-pdr-1t1c-top.csv}\r
-      }\r
-\r
-PDR Throughput: Worst 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: ../../../_build/_static/vpp/performance-changes-pdr-1t1c-bottom.csv\r
-\r
-.. only:: latex\r
-\r
-   .. raw:: latex\r
-\r
-      \makeatletter\r
-      \csvset{\r
-        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{6cm} m{#2} m{#2} m{#2} m{#2} m{#2}}\csv@tablehead},\r
-      }\r
-      \makeatother\r
-\r
-      {\tiny\r
-      \csvautobooklongtable[separator=comma,\r
-        respect all,\r
-        no check column count,\r
-        perfimprovements column width=1cm,\r
-        late after line={\\\hline},\r
-        late after last line={\end{longtable}}\r
-        ]{../_build/_static/vpp/performance-changes-pdr-1t1c-bottom.csv}\r
-      }\r
-\r
-.. only:: html\r
-\r
-      PDR Throughput: All Changes\r
-      ~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-            Complete results for all PDR tests are available in a CSV and pretty\r
-            ASCII formats:\r
-\r
-              - `csv format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.csv>`_,\r
-              - `csv format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.csv>`_,\r
-              - `csv format for 4t4c <../_static/vpp/performance-changes-pdr-4t4c-full.csv>`_,\r
-              - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.txt>`_,\r
-              - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.txt>`_,\r
-              - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-pdr-4t4c-full.txt>`_.\r
-\r
-Measured improvements are in line with VPP code optimizations listed in\r
-`VPP-17.10 release notes\r
-<https://docs.fd.io/vpp/17.10/release_notes_1710.html>`_.\r
-\r
-Known Issues\r
-------------\r
-\r
-Here is the list of known issues in CSIT |release| for VPP performance tests:\r
-\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| # | Issue                                           | Jira ID    | Description                                                     |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 1 | Vic1385 and Vic1227 low performance.            | VPP-664    | Low NDR performance.                                            |\r
-|   |                                                 |            |                                                                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 2 | Sporadic NDR discovery test failures on x520.   | CSIT-750   | Suspected issue with HW combination of X710-X520 in LF          |\r
-|   |                                                 |            | infrastructure. Issue can't be replicated outside LF.           |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 3 | VPP in 2t2c setups - large variation            | CSIT-568   | Suspected NIC firmware or DPDK driver issue affecting NDR       |\r
-|   | of discovered NDR throughput values across      |            | throughput. Applies to XL710 and X710 NICs, x520 NICs are fine. |\r
-|   | multiple test runs with xl710 and x710 NICs.    |            |                                                                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 4 | Lower than expected NDR throughput with         | CSIT-569   | Suspected NIC firmware or DPDK driver issue affecting NDR and   |\r
-|   | xl710 and x710 NICs, compared to x520 NICs.     |            | PDR throughput. Applies to XL710 and X710 NICs.                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
+Release Notes
+=============
+
+Changes in |csit-release|
+-------------------------
+
+#. VPP PERFORMANCE TESTS
+
+   - CSIT test environment is versioned, see
+     :ref:`test_environment_versioning`.
+
+   - **GENEVE tests**: Added VPP performance tests for GENEVE tunnels.
+     See :ref:`geneve_methodology` for more details.
+
+
+   - **GSO tests**: Added VPP performance tests for GSOtap and GSOvirtio.
+     All tested topologies are compared with GSO enabled and disabled.
+     In |csit-release| there is only 1t1c tests running.
+     See :ref:`gso_methodology` for more details.
+
+
+   - **NAT44 tests**: Added new test type, pure throughput tests.
+     They are similar to PPS tests, but they employ ramp-up trials
+     to ensure all sessions are created (and not timing out)
+     for performance trials.
+
+   - **Jumbo for ipsec**: Test cases with 9000 byte frames are re-enabled
+     in ipsec suites.
+
+   - **Randomized profiles**: Improved repeatability and cycle length.
+     For details, see :ref:`packet_flow_ordering`.
+
+   - **Arm 2n-tx2 testbed**: New physical testbed type installed in
+     FD.io CSIT, with VPP and DPDK performance data added to CSIT
+     trending and this report.
+
+   - **Framework speedup**: Shortened overall test job duration
+     by using a different test selection mechanism (using --test
+     instead of --include) and by avoiding unnecessary PAPI reconnects.
+
+#. TEST FRAMEWORK
+
+   - **TRex ASTF**: Improved capability to run TRex in advanced stateful mode.
+
+   - **CSIT PAPI support**: Due to issues with PAPI performance, VAT is
+     still used in CSIT for all VPP scale tests. See known issues below.
+
+   - **General Code Housekeeping**: Ongoing code optimizations,
+     speed ups and bug fixes.
+
+#. PRESENTATION AND ANALYTICS LAYER
+
+   - **Graphs improvements**: Updated Packet Latency graphs,
+     see :ref:`latency_methodology`.
+
+.. raw:: latex
+
+    \clearpage
+
+.. _vpp_known_issues:
+
+Known Issues
+------------
+
+List of known issues in |csit-release| for VPP performance tests:
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| #  | JiraID                                  | Issue Description                                                                                         |
++====+=========================================+===========================================================================================================+
+|  1 | `CSIT-570                               | Sporadic (1 in 200) NDR discovery test failures on x520. DPDK reporting rx-errors, indicating L1 issue.   |
+|    | <https://jira.fd.io/browse/CSIT-570>`_  | Suspected issue with HW combination of X710-X520 in LF testbeds. Not observed outside of LF testbeds.     |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  2 | `VPP-662                                | 9000B packets not supported by NICs VIC1227 and VIC1387.                                                  |
+|    | <https://jira.fd.io/browse/VPP-662>`_   |                                                                                                           |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  3 | `CSIT-1763                              | Adapt ramp-up phase of nat44 tests for different frame sizes.                                             |
+|    | <https://jira.fd.io/browse/CSIT-1763>`_ | Currently ramp-up phase rate and duration values are correctly set for tests with 64B frame size.         |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  4 | `CSIT-1671                              | All CSIT scale tests can not use PAPI due to much slower performance compared to VAT/CLI (it takes much   |
+|    | <https://jira.fd.io/browse/CSIT-1671>`_ | longer to program VPP). This needs to be addressed on the PAPI side.                                      |
+|    +-----------------------------------------+ The usual PAPI library spends too much time parsing arguments, so even with async processing (hundreds of |
+|    | `VPP-1763                               | commands in flight over socket), the VPP configuration for large scale tests (millions of messages) takes |
+|    | <https://jira.fd.io/browse/VPP-1763>`_  | too long.                                                                                                 |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  5 | `VPP-1934                               | [i40e] Interfaces are not brought up from carrier-down.                                                   |
+|    | <https://jira.fd.io/browse/VPP-1934>`_  | In case of i40e -based interface (e.g Intel x700 series NIC) is bound to kernel driver (i40e) and is in   |
+|    |                                         | state "no-carrier" (<NO-CARRIER,BROADCAST,MULTICAST,UP>) because previously it was disabled via           |
+|    |                                         | "I40E_AQ_PHY_LINK_ENABLED" call, then VPP during initialization of AVF interface is not re-enabling       |
+|    |                                         | interface link via i40e driver to up.                                                                     |
+|    |                                         | CSIT implemented `workaround for AVF interface <https://gerrit.fd.io/r/c/csit/+/29086>`_ until fixed.     |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+Root Cause Analysis for Performance Changes
+-------------------------------------------
+
+List of RCAs in |csit-release| for VPP performance changes:
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| #  | JiraID                                  | Issue Description                                                                                         |
++====+=========================================+===========================================================================================================+
+|  1 | `VPP-1972                               | One VPP change has decreased performance of NAT44ed processing, both slow path and fast path.             |
+|    | <https://jira.fd.io/browse/VPP-1972>`   |                                                                                                           |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+