+.. _vpp_performance_tests_release_notes:
+
Release Notes
=============
Changes in |csit-release|
-------------------------
-#. **VPP performance tests**
-
- - *MRR tests* - Maximum Receive Rate tests measure the packet forwarding rate
- under the maximum load offered by traffic generator over a set trial
- duration, regardless of packet loss. MRR tests are used for continuous
- performance trending and for comparison between releases.
-
- - *MLR tests* - NDR and PDR tests measure the packet forwarding rate using
- MLRsearch library by traffic generator. All tests that previously used
- binary search were converted to MLRsearch.
-
- - *L2patch tests* - Tests measure performance of L2patch, cross linking
- RX and TX of two physical interfaces.
-
- - *2-node tests* - Baseline set of 2-node tests covering base ip4, ip4,
- l2patch, l2bd, l2xc.
-
- - *Generated tests* - Simplified and unified test structure,
- semi-autogenerated by generator script. Test generator is currently able
- to create test combinations with various frame size and cores combinations.
- All existing test cases were converted to new format.
-
- - *Simultaneous multithreading* - SMT-aware automatic detection and
- resource configuration including thread affinity, number of rx queues and
- DPDK I/O mbufs. Tests are automatically tagged during execution indicating
- configuration.
-
- - *Intel Skylake* - Topologies consisting of 2-node and 3-node using
- SuperMirco servers each equipped with two Intel Xeon Skylake Platinum
- processors.
-
-#. **Presentation and Analytics Layer**
-
- - *Performance trending* - Added continuous performance trending and
- analysis. New Performance Trending and Performance Analysis jobs
- executed regular throughput tests, with results being subsequently
- analysed and trend and anomalies summarized and presented in VPP
- Performance Dashboard and trendline graphs.
-
-#. **Test Framework Optimizations**
-
- - *Performance tests efficiency* - Qemu build/install optimizations,
- warmup phase handling, vpp restart handling. Resulted in improved
- stability and reduced total execution time by 30% for single pkt
- size e.g. 64B/78B.
-
- - *General code housekeeping* - ongoing RF keywords optimizations,
- removal of redundant RF keywords.
-
-Performance Changes
--------------------
-
-Relative performance changes in measured packet throughput in |csit-release|
-are calculated against the results from |csit-release-1|
-report. Listed mean and standard deviation values are computed based on
-a series of the same tests executed against respective VPP releases to
-verify test results repeatability, with percentage change calculated for
-mean values. Note that the standard deviation is quite high for a small
-number of packet throughput tests, what indicates poor test results
-repeatability and makes the relative change of mean throughput value not
-fully representative for these tests. The root causes behind poor
-results repeatability vary between the test cases.
-
-NDR Changes
-~~~~~~~~~~~
-
-NDR throughput changes between releases are available in a
-CSV and pretty ASCII formats:
-
- - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.csv>`_,
- - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.csv>`_,
- - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.txt>`_,
- - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.txt>`_.
-
-.. note::
-
- Test results have been generated by
- `FD.io test executor vpp performance job 3n-hsw`_,
- with Robot Framework result
- files csit-vpp-perf-|srelease|-\*.zip
- `archived here <../_static/archive/>`_.
-
-PDR Changes
-~~~~~~~~~~~
-
-PDR throughput changes between releases are available in a
-CSV and pretty ASCII formats:
-
- - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.csv>`_,
- - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.csv>`_,
- - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.txt>`_,
- - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.txt>`_.
-
-.. note::
-
- Test results have been generated by
- `FD.io test executor vpp performance job 3n-hsw`_,
- with Robot Framework result
- files csit-vpp-perf-|srelease|-\*.zip
- `archived here <../_static/archive/>`_.
-
-MRR Changes
-~~~~~~~~~~~
-
-MRR small packet throughput changes between releases are available in a
-CSV and pretty ASCII formats:
-
- - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-mrr.csv>`_,
- - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.csv>`_,
- - `csv format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.csv>`_,
- - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-mrr.txt>`_,
- - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.txt>`_,
- - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.txt>`_.
-
-.. note::
-
- Test results have been generated by
- `FD.io test executor vpp performance job 3n-hsw`_,
- with Robot Framework result
- files csit-vpp-perf-|srelease|-\*.zip
- `archived here <../_static/archive/>`_.
-
-Comparison Across Testbeds
---------------------------
-
-Relative performance changes in measured packet throughputon 3-Node Skx testbed
-are calculated against the results measured on 3-Node Hsw testbed.
-
-NDR Changes
-~~~~~~~~~~~
-
-NDR changes between testbeds are available in a
-CSV and pretty ASCII formats:
-
- - `csv format for ndr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-ndr.csv>`_,
- - `pretty ASCII format for ndr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-ndr.txt>`_.
-
-.. note::
-
- Test results have been generated by
- `FD.io test executor vpp performance job 3n-hsw`_ and
- `FD.io test executor vpp performance job 3n-skx`_
- with Robot Framework result
- files csit-vpp-perf-|srelease|-\*.zip
- `archived here <../_static/archive/>`_.
+#. VPP PERFORMANCE TESTS
-PDR Changes
-~~~~~~~~~~~
+ - **Added new performance testbed 3n-snr** (3 Node SnowRidge, with Intel
+ Atom processors).
-PDR throughput changes between testbeds are available in a
-CSV and pretty ASCII formats:
+ - **Added GTPU HW offload tests** using VPP GTPU hardware offload
+ with Intel e810 4p25ge NICs (3n-icx testbeds only). These tests
+ were already there in CSIT-2206, but were yielding invalid
+ results due to using TRex v2.97 that was incompatible with e810
+ NICs used for those tests.
- - `csv format for pdr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-pdr.csv>`_,
- - `pretty ASCII format for pdr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-pdr.txt>`_.
+ - **Added Wireguard tests** using VPP software crypto (3n-icx, 3n-snr
+ testbeds) and using built-in hardware crypto QAT device (3n-snr testbed
+ only).
-.. note::
+ - **Reduction of tests**: Removed certain test variations executed
+ iteratively for the report (as well as in daily and weekly
+ trending) due to physical testbeds overload.
- Test results have been generated by
- `FD.io test executor vpp performance job 3n-hsw`_ and
- `FD.io test executor vpp performance job 3n-skx`_
- with Robot Framework result
- files csit-vpp-perf-|srelease|-\*.zip
- `archived here <../_static/archive/>`_.
+#. TEST FRAMEWORK
-MRR Changes
-~~~~~~~~~~~
+ - CSIT-2210 executes all VPP v22.10 performance tests using vpp ubuntu2204
+ images, due to CSIT execution environment change as noted below. This
+ applies to all performance testbeds except Denverton. Consequently, VPP
+ v22.06 has not been re-tested in CSIT-2210 environment, as no ubuntu204
+ images are available for that VPP version. Performance comparison
+ between VPP v22.10 (current version) vs VPP v22.06 (previous version)
+ may be impacted by VPP build environment change (ubuntu2004 to ubuntu
+ 2204) change and CSIT environment change. See :ref:`vpp_rca` for
+ details.
-MRR throughput changes between testbeds are available in a
-CSV and pretty ASCII formats:
+ - **CSIT test environment** version has been updated to ver. 11, see
+ :ref:`test_environment_versioning`.
- - `csv format for mrr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-mrr.csv>`_,
- - `pretty ASCII format for mrr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-mrr.txt>`_.
+ - **TCP TPUT profiles** had to be changed, as newer TRex versions
+ are not deterministic enough when deciding when to send an ACK.
-.. note::
+ - **CSIT PAPI support**: Due to issues with PAPI performance, and
+ deprecation of VAT, VPP CLI is used in CSIT for many VPP scale
+ tests. See :ref:`vpp_known_issues`.
- Test results have been generated by
- `FD.io test executor vpp performance job 3n-hsw`_ and
- `FD.io test executor vpp performance job 3n-skx`_
- with Robot Framework result
- files csit-vpp-perf-|srelease|-\*.zip
- `archived here <../_static/archive/>`_.
+ - **General Code Housekeeping**: Ongoing code optimizations and bug
+ fixes.
-Throughput Trending
--------------------
+#. PRESENTATION AND ANALYTICS LAYER
-In addition to reporting throughput changes between VPP releases, CSIT
-provides continuous performance trending for VPP master branch:
+ - **C-Dash** `performance dashboard <http://csit.fd.io/>`_ got updated UI and
+ updated backend increasing its performance and robustness.
-#. `VPP Performance Dashboard <https://docs.fd.io/csit/master/trending/introduction/index.html>`_
- - per VPP test case throughput trend, trend compliance and summary of
- detected anomalies.
+.. raw:: latex
-#. `Trending Methodology <https://docs.fd.io/csit/master/trending/methodology/index.html>`_
- - throughput test metrics, trend calculations and anomaly
- classification (progression, regression, outlier).
+ \clearpage
-#. `Trendline Graphs <https://docs.fd.io/csit/master/trending/trending/index.html>`_
- - per VPP build MRR throughput measurements against the trendline
- with anomaly highlights, with associated CSIT test jobs.
+.. _vpp_known_issues:
Known Issues
------------
-List of known issues in |csit-release| for VPP performance tests:
-
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+
-| # | Issue | Jira ID | Description |
-+===+=================================================+============+=================================================================+
-| 1 | Sporadic (1 in 200) NDR discovery test failures | CSIT-570 | DPDK reporting rx-errors, indicating L1 issue. Suspected issue |
-| | on x520. | | with HW combination of X710-X520 in LF testbeds. Not observed |
-| | | | outside of LF testbeds. |
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+
-| 2 | High failure rate of api call | VPP-1361 | Failure rate: 30-40% of tests failing due to interfaces not |
-| | sw_interface_set_flags [admin-up|link-up] | | in link-up state after API call sw_interface_set_flags. |
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+
-| 3 | Scale IPSecHW Interface mode throughput | CSIT-1234 | IPSec throughput regression: NDR -28%..-31%, PDR -28%..-31%, |
-| | regression. | | MRR -40%. Affects IPSec HW Scale 1000tnl tests with Int mode. |
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+
+New
+___
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `CSIT-1864 | 2n-clx: half of the packets lost on PDR tests. |
+| | <https://jira.fd.io/browse/CSIT-1864>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 2 | `CSIT-1868 | 2n-clx: ALL ldpreload-nginx tests fails when trying to start nginx. |
+| | <https://jira.fd.io/browse/CSIT-1868>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 3 | `CSIT-1871 | 3n-snr: 25GE interface between SUT and TG/TRex goes down randomly. |
+| | <https://jira.fd.io/browse/CSIT-1871>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 4 | `CSIT-1877 | 3n-alt, 3n-tsh: VM tests failing to boot VM. |
+| | <https://jira.fd.io/browse/CSIT-1877>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 5 | `CSIT-1883 | 3n-snr: All hwasync wireguard tests failing when trying to verify device. |
+| | <https://jira.fd.io/browse/CSIT-1883>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 6 | `CSIT-1884 | 2n-clx, 2n-icx: All NAT44DET NDR PDR IMIX over 1M sessions BIDIR tests failing to create enough sessions. |
+| | <https://jira.fd.io/browse/CSIT-1884>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 7 | `CSIT-1885 | 3n-icx: 9000b ip4 ip6 l2 NDRPDR AVF tests are failing to forward traffic. |
+| | <https://jira.fd.io/browse/CSIT-1885>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 8 | `CSIT-1886 | 3n-icx: Wireguard tests with 100 and more tunnels are failing PDR criteria. |
+| | <https://jira.fd.io/browse/CSIT-1886>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+Previous
+________
+
+Issues reported in previous releases which still affect the current results.
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `CSIT-1782 | Multicore AVF tests are failing when trying to create interface. |
+| | <https://jira.fd.io/browse/CSIT-1782>`_ | Frequency is reduced by CSIT workaround, but occasional failures do still happen. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 2 | `CSIT-1785 | NAT44ED tests failing to establish all TCP sessions. |
+| | <https://jira.fd.io/browse/CSIT-1785>`_ | At least for max scale, in allotted time (limited by session 500s timeout) due to worse |
+| +-----------------------------------------+ slow path performance than previously measured and calibrated for. |
+| | `VPP-1972 | CSIT removed the max scale NAT tests to avoid this issue. |
+| | <https://jira.fd.io/browse/VPP-1972>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 3 | `CSIT-1799 | All NAT44-ED 16M sessions CPS scale tests fail while setting NAT44 address range. |
+| | <https://jira.fd.io/browse/CSIT-1799>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 4 | `CSIT-1800 | All Geneve L3 mode scale tests (1024 tunnels) are failing. |
+| | <https://jira.fd.io/browse/CSIT-1800>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 5 | `CSIT-1801 | 9000B payload frames not forwarded over tunnels due to violating supported Max Frame Size (VxLAN, LISP, |
+| | <https://jira.fd.io/browse/CSIT-1801>`_ | SRv6). |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 6 | `CSIT-1802 | AF-XDP - NDR tests failing from time to time. |
+| | <https://jira.fd.io/browse/CSIT-1802>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 7 | `CSIT-1804 | All testbeds: NDR tests failing from time to time. |
+| | <https://jira.fd.io/browse/CSIT-1804>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 8 | `CSIT-1808 | All tests with 9000B payload frames not forwarded over memif interfaces. |
+| | <https://jira.fd.io/browse/CSIT-1808>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 9 | `CSIT-1827 | 3n-icx, 3n-skx: all AVF crypto tests sporadically fail. 1518B with no traffic, IMIX with excessive |
+| | <https://jira.fd.io/browse/CSIT-1827>`_ | packet loss. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 10 | `CSIT-1835 | 3n-icx: QUIC vppecho BPS tests failing on timeout when checking hoststack finished. |
+| | <https://jira.fd.io/browse/CSIT-1835>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 11 | `CSIT-1849 | 2n-skx, 2n-clx, 2n-icx: UDP 16m TPUT tests fail to create all sessions. |
+| | <https://jira.fd.io/browse/CSIT-1849>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+Fixed
+_____
+
+Issues reported in previous releases which were fixed in this release:
+
++----+-----------------------------------------+---------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+=========================================================================================================+
+| 1 | `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. |
+| +-----------------------------------------+ Currently, the time critical code uses VAT running large files with exec statements and CLI commands. |
+| | `VPP-1763 | Still, we needed to reduce the number of scale tests run to keep overall duration reasonable. |
+| | <https://jira.fd.io/browse/VPP-1763>`_ | More improvements needed to achieve sufficient configuration speed. |
++----+-----------------------------------------+---------------------------------------------------------------------------------------------------------+
+
+.. _vpp_rca:
+
+Root Cause Analysis for Performance Changes
+-------------------------------------------
+
+List of RCAs in |csit-release| for VPP performance changes:
+
++----+-----------------------------------------+--------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+====================================================================+
+| 1 | `CSIT-1887 | rls2210 RCA: ASTF tests |
+| | <https://jira.fd.io/browse/CSIT-1887>`_ | TRex upgrade decreased TRex performance. NAT results not affected, |
+| | | except on Denverton due to interference from VPP-2010. |
++----+-----------------------------------------+--------------------------------------------------------------------+
+| 2 | `CSIT-1888 | rls2210 RCA: testbed differences, especially for ipsec |
+| | <https://jira.fd.io/browse/CSIT-1888>`_ | Not caused by VPP code nor CSIT code. |
+| | | Most probable cause is clang-14 behavior. |
++----+-----------------------------------------+--------------------------------------------------------------------+
+| 3 | `CSIT-1889 | rls2210 RCA: policy-outbound-nocrypto |
+| | <https://jira.fd.io/browse/CSIT-1889>`_ | When VPP added spd fast path matching (Gerrit 36097), |
+| | | it decreased MRR of the corresponding tests, at least on 3-alt. |
++----+-----------------------------------------+--------------------------------------------------------------------+