From da2aa127ee071e37bc4d6060dd39476179e65365 Mon Sep 17 00:00:00 2001 From: Maciek Konstantynowicz Date: Sun, 5 Feb 2017 16:33:28 +0000 Subject: csit rls1701 report edits: - simplified section structure for clarity and readability, - updated overview sections, - moved not rls related content from rls_notes to overview sections, - removed section title suffixes: HW, VIRL. - completed vpp_unit_tests and vpp_unittest_results sections. - updated all documentation sections. - updated rls_notes sections for vpp performance and vpp functional. Change-Id: Id2c2abbf9d3531ec9f63ecd353f385a0b55ae1ba Signed-off-by: Maciek Konstantynowicz Signed-off-by: pmikus Signed-off-by: Maciek Konstantynowicz Signed-off-by: pmikus Signed-off-by: Maciek Konstantynowicz --- .../vpp_performance_tests/csit_release_notes.rst | 228 ++ .../report/vpp_performance_tests/documentation.rst | 6 + docs/report/vpp_performance_tests/index.rst | 12 + docs/report/vpp_performance_tests/overview.rst | 325 ++ .../packet_latency_graphs/index.rst | 11 + .../packet_latency_graphs/ipv4.rst | 100 + .../packet_latency_graphs/ipv4_tunnels.rst | 88 + .../packet_latency_graphs/ipv6.rst | 98 + .../packet_latency_graphs/ipv6_tunnels.rst | 83 + .../packet_latency_graphs/l2.rst | 103 + .../packet_latency_graphs/vm_vhost.rst | 100 + .../packet_throughput_graphs/index.rst | 11 + .../packet_throughput_graphs/ipv4.rst | 187 + .../packet_throughput_graphs/ipv4_tunnels.rst | 165 + .../packet_throughput_graphs/ipv6.rst | 183 + .../packet_throughput_graphs/ipv6_tunnels.rst | 155 + .../packet_throughput_graphs/l2.rst | 190 + .../packet_throughput_graphs/vm_vhost.rst | 191 + .../vpp_performance_tests/test_environment.rst | 3634 ++++++++++++++++++++ 19 files changed, 5870 insertions(+) create mode 100644 docs/report/vpp_performance_tests/csit_release_notes.rst create mode 100644 docs/report/vpp_performance_tests/documentation.rst create mode 100644 docs/report/vpp_performance_tests/index.rst create mode 100644 docs/report/vpp_performance_tests/overview.rst create mode 100644 docs/report/vpp_performance_tests/packet_latency_graphs/index.rst create mode 100644 docs/report/vpp_performance_tests/packet_latency_graphs/ipv4.rst create mode 100644 docs/report/vpp_performance_tests/packet_latency_graphs/ipv4_tunnels.rst create mode 100644 docs/report/vpp_performance_tests/packet_latency_graphs/ipv6.rst create mode 100644 docs/report/vpp_performance_tests/packet_latency_graphs/ipv6_tunnels.rst create mode 100644 docs/report/vpp_performance_tests/packet_latency_graphs/l2.rst create mode 100644 docs/report/vpp_performance_tests/packet_latency_graphs/vm_vhost.rst create mode 100644 docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst create mode 100644 docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst create mode 100644 docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst create mode 100644 docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst create mode 100644 docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst create mode 100644 docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst create mode 100644 docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst create mode 100644 docs/report/vpp_performance_tests/test_environment.rst (limited to 'docs/report/vpp_performance_tests') diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst new file mode 100644 index 0000000000..54fa73dfee --- /dev/null +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -0,0 +1,228 @@ +CSIT Release Notes +================== + +Changes in CSIT |release| +------------------------- + +#. Naming change for all VPP performance test suites and test cases. +#. VPP performance test environment changes + + - upgrade to Ubuntu 16.04 + - VM and vhost-user test environment optimizations + - addition of HW cryptodev devices in LFD FD.io physical testbed + +#. Added tests + + - NICs + + - Intel x710 (L2 Bridge Domain switched-forwarding, vhost-user) + - Cisco VIC1385 (L2 Bridge Domain switched-forwarding) + - Cisco VIC1227 (L2 Bridge Domain switched-forwarding) + + - vhost-user tests with VM + + - L2 Bridge Domain switched-forwarding with Intel x710 NIC + - L2 Bridge Domain switched-forwarding with VxLAN and Intel x520 NIC + - L2 Bridge Domain switched-forwarding with Intel xl710 NIC + + - Tests with VxLAN + + - L2 Bridge Domain switched-forwarding with Intel x520 NIC + - L2 Bridge Domain switched-forwarding with vhost-user, VM and Intel x520 + NIC + +Performance Improvements +------------------------ + +Substantial improvements in measured packet throughput, with relative increase +of double-digit percentage points, have been observed in a number of CSIT +|release| tests listed below. Relative improvements are calculated against the +test results in CSIT rls1609 report. + +NDR Throughput +~~~~~~~~~~~~~~ + +Non-Drop Rate Throughput discovery tests: + ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| VPP Functionality | Test Name | VPP-16.09 | VPP-17.01 | Relative Improvement | ++===================+=================================================================+===========+=================+======================+ +| L2XC | 10ge2p1x520: 64B-1t1c-eth-l2xcbase-ndrdisc | 9.4 Mpps | 12.7 Mpps | 35% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC | 10ge2p1xl710: 64B-1t1c-eth-l2xcbase-ndrdisc | 9.5 Mpps | 12.2..12.4 Mpps | 28..30% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC dot1ad | 10ge2p1x520: 64B-1t1c-dot1ad-l2xcbase-ndrdisc | 7.4 Mpps | 8.8..9.0 Mpps | 19..23% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC dot1q | 10ge2p1x520: 64B-1t1c-dot1q-l2xcbase-ndrdisc | 7.5 Mpps | 8.8..9.0 Mpps | 17..20% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC VxLAN | 10ge2p1x520: 64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc | 5.4 Mpps | 6.5 Mpps | 20% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC-vhost-VM | 10ge2p1x520: 64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc | 0.5 Mpps | 2.8..3.2 Mpps | 460..540% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2BD | 10ge2p1x520: 64B-1t1c-eth-l2bdbasemaclrn-ndrdisc | 7.8 Mpps | 10.4..10.6 Mpps | 33..36% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2BD-vhost-VM | 10ge2p1x520: 64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc | 0.4 Mpps | 2.7..2.8 Mpps | 575..600% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-ndrdisc | 8.7 Mpps | 9.7 Mpps | 12% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 COP | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc | 7.1 Mpps | 8.3..8.5 Mpps | 17..20% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 iAcl | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc | 6.9 Mpps | 7.6..7.8 Mpps | 10..13% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 vhost | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc | 0.3 Mpps | 2.6 Mpps | 767% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 | 10ge2p1x520: 78B-1t1c-ethip6-ip6base-ndrdisc | 3.0 Mpps | 7.3..7.7 Mpps | 143..157% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ + +PDR Throughput +~~~~~~~~~~~~~~ + +Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%: + ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| VPP Functionality | Test Name | VPP-16.09 | VPP-17.01 | Relative Improvement | ++===================+=================================================================+===========+=================+======================+ +| L2XC | 10ge2p1x520: 64B-1t1c-eth-l2xcbase-pdrdisc | 9.4 Mpps | 12.7..12.9 Mpps | 35..37% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC dot1ad | 10ge2p1x520: 64B-1t1c-dot1ad-l2xcbase-pdrdisc | 7.4 Mpps | 8.8..9.1 Mpps | 19..23% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC dot1q | 10ge2p1x520: 64B-1t1c-dot1q-l2xcbase-pdrdisc | 7.5 Mpps | 8.8..9.0 Mpps | 17..20% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC VxLAN | 10ge2p1x520: 64B-1t1c-ethip4vxlan-l2xcbase-pdrdisc | 5.4 Mpps | 6.5 Mpps | 20% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC-vhost-VM | 10ge2p1x520: 64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc | 2.6 Mpps | 3.2..3.3 Mpps | 23..26% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2BD | 10ge2p1x520: 64B-1t1c-eth-l2bdbasemaclrn-pdrdisc | 7.8 Mpps | 10.6 Mpps | 36% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2BD-vhost-VM | 10ge2p1x520: 64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc | 2.1 Mpps | 2.9 Mpps | 38% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-pdrdisc | 8.7 Mpps | 9.7 Mpps | 11% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 COP | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc | 7.1 Mpps | 8.3..8.5 Mpps | 17..20% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 vhost | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc | 2.0 Mpps | 2.7 Mpps | 35% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ + +Measured improvements are in line with VPP code optimizations listed in +`VPP-17.01 release notes +`_. + +Additionally, vhost-VM performance improvements are due to both VPP code +optimizations as well as due to the FD.io CSIT Linux KVM test environment +optimizations for vhost-VM tests - see section "2.1.7. Methodology: KVM VM +vhost". + + +Other Performance Changes +------------------------- + +Other changes in measured packet throughput, with either minor relative +increase or decrease, have been observed in a number of CSIT |release| tests +listed below. Relative changes are calculated against the test results in CSIT +rls1609 report. + +NDR Throughput +~~~~~~~~~~~~~~ + +Non-Drop Rate Throughput discovery tests: + ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| VPP Functionality | Test Name | VPP-16.09 | VPP-17.01 | Relative Change | ++===================+=================================================================+===========+=================+======================+ +| IPv4 FIB 200k | 10ge2p1x520: 64B-1t1c-ethip4-ip4scale200k-ndrdisc | 8.5 Mpps | 9.0 Mpps | 6% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 FIB 20k | 10ge2p1x520: 64B-1t1c-ethip4-ip4scale20k-ndrdisc | 8.5 Mpps | 9.0..9.2 Mpps | 6..8% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 FIB 2M | 10ge2p1x520: 64B-1t1c-ethip4-ip4scale2m-ndrdisc | 8.5 Mpps | 7.8..8.1 Mpps | -8..-5% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 Policer | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc | 6.9 Mpps | 7.4..7.6 Mpps | 7..10% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 LISP | 10ge2p1x520: 64B-1t1c-ethip4lispip4-ip4base-ndrdisc | 4.4 Mpps | 4.8 Mpps | 9% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 COP | 10ge2p1x520: 78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc | 6.1 Mpps | 6.1..6.5 Mpps | 0..7% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 FIB 200k | 10ge2p1x520: 78B-1t1c-ethip6-ip6scale200k-ndrdisc | 6.5 Mpps | 5.3..5.7 Mpps | -18..-12% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 FIB 20k | 10ge2p1x520: 78B-1t1c-ethip6-ip6scale20k-ndrdisc | 6.9 Mpps | 6.5 Mpps | -6% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 FIB 2M | 10ge2p1x520: 78B-1t1c-ethip6-ip6scale2m-ndrdisc | 5.3 Mpps | 4.2 Mpps | -21% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 iAcl | 10ge2p1x520: 78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc | 6.5 Mpps | 6.1..6.5 Mpps | -6..0% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ + +PDR Throughput +~~~~~~~~~~~~~~ + +Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%: + ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| VPP Functionality | Test Name | VPP-16.09 | VPP-17.01 | Relative Change | ++===================+=================================================================+===========+=================+======================+ +| IPv4 FIB 200k | 10ge2p1x520: 64B-1t1c-ethip4-ip4scale200k-pdrdisc | 8.5 Mpps | 9.0 Mpps | 6% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 FIB 20k | 10ge2p1x520: 64B-1t1c-ethip4-ip4scale20k-pdrdisc | 8.5 Mpps | 9.0..9.2 Mpps | 6..8% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 FIB 2M | 10ge2p1x520: 64B-1t1c-ethip4-ip4scale2m-pdrdisc | 8.3 Mpps | 8.1 Mpps | -2% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 iAcl | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc | 7.1 Mpps | 7.6..7.8 Mpps | 7..10% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 Policer | 10ge2p1x520: 64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc | 7.1 Mpps | 7.4..7.6 Mpps | 4..7% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 LISP | 10ge2p1x520: 64B-1t1c-ethip4lispip4-ip4base-pdrdisc | 4.6 Mpps | 4.8 Mpps | 9% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 | 10ge2p1x520: 78B-1t1c-ethip6-ip6base-pdrdisc | 7.7 Mpps | 7.3..7.7 Mpps | -5..0% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 COP | 10ge2p1x520: 78B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc | 6.1 Mpps | 6.1..6.5 Mpps | 0..7% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 FIB 200k | 10ge2p1x520: 78B-1t1c-ethip6-ip6scale200k-pdrdisc | 6.9 Mpps | 5.3..5.7 Mpps | -23..-17% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 FIB 20k | 10ge2p1x520: 78B-1t1c-ethip6-ip6scale20k-pdrdisc | 6.9 Mpps | 6.5 Mpps | -6% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 FIB 2M | 10ge2p1x520: 78B-1t1c-ethip6-ip6scale2m-pdrdisc | 5.3 Mpps | 4.2 Mpps | -21% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv6 iAcl | 10ge2p1x520: 78B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc | 6.5 Mpps | 6.1..6.5 Mpps | -6..0% | ++-------------------+-----------------------------------------------------------------+-----------+-----------------+----------------------+ + +Known Issues +------------ + +Here is the list of known issues in CSIT |release| for VPP performance tests: + ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| # | Issue | Description | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| 1 | Sporadic IPv4 routed-forwarding NDR discovery | Suspected issue with DPDK IPv4 checksum calculation. | +| | test failures for 1518B frame size | Observed frequency: sporadic, ca. 20% to 30% of test runs. | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| 2 | Vic1385 and Vic1227 NICs jumbo frames test | Suspected issue with VIC DPDK drivers that do not support jumbo | +| | failures (9000B) | frames (dropped rx-miss). Observed frequency: 100%. | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| 3 | Vic1385 and Vic1227 performance | Low performance of NDR results. Big difference between NDR and | +| | | PDR. . | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| 4 | Sporadic NDR discovery test failures on x520 | Suspected issue with HW settings (BIOS, FW) in LF | +| | | infrastructure. Issue can't be replicated outside LF. | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| 5 | Non-repeatible zig-zagging NDR throughput | Suspected NIC driver issue in multi-thread multi-core operation | +| | results for multi-thread multi-core tests | affectin NDR throughput. Applies to XL710 and X710 NICs tested. | +| | - 2t2c, 4t4c - for some tested NICs. | | ++---+-------------------------------------------------+-----------------------------------------------------------------+ + +Tests to be Added - Cryptodev +----------------------------- + +DPDK Cryptodev functionality support for both SW and HW crypto devices has +been introduced in VPP-17.01 release. CSIT functional and performance tests +have been also developed and merged. However due to the factors beyond CSIT +project control execution of those tests within the LF FD.io test environment +still need to complete. Once the results become available, they will be +published as an addendum to the current version of CSIT |release| report. + +Tests to be Added - SNAT44 +-------------------------- + +VPP SNAT44 functionality has been introduced in VPP-17.01 release. CSIT +performance tests are still in development and integration into LFD FD.io test +environment. Once the tests are fully integrated and results become available, +they will be published as an addendum to the current version of CSIT |release| +report. diff --git a/docs/report/vpp_performance_tests/documentation.rst b/docs/report/vpp_performance_tests/documentation.rst new file mode 100644 index 0000000000..5017580ca0 --- /dev/null +++ b/docs/report/vpp_performance_tests/documentation.rst @@ -0,0 +1,6 @@ +Documentation +============= + +`CSIT VPP Performance Tests Documentation +`_ contains detailed +functional description and input parameters for each test case. diff --git a/docs/report/vpp_performance_tests/index.rst b/docs/report/vpp_performance_tests/index.rst new file mode 100644 index 0000000000..bf58d8e92b --- /dev/null +++ b/docs/report/vpp_performance_tests/index.rst @@ -0,0 +1,12 @@ +VPP Performance Tests +===================== + +.. toctree:: + + overview + csit_release_notes + packet_throughput_graphs/index + packet_latency_graphs/index + test_environment + documentation + diff --git a/docs/report/vpp_performance_tests/overview.rst b/docs/report/vpp_performance_tests/overview.rst new file mode 100644 index 0000000000..d0ce5e7bcf --- /dev/null +++ b/docs/report/vpp_performance_tests/overview.rst @@ -0,0 +1,325 @@ +Overview +======== + +Tested Physical Topologies +-------------------------- + +CSIT VPP performance tests are executed on physical baremetal servers hosted by LF +FD.io project. Testbed physical topology is shown in the figure below. + +:: + + +------------------------+ +------------------------+ + | | | | + | +------------------+ | | +------------------+ | + | | | | | | | | + | | <-----------------> | | + | | DUT1 | | | | DUT2 | | + | +--^---------------+ | | +---------------^--+ | + | | | | | | + | | SUT1 | | SUT2 | | + +------------------------+ +------------------^-----+ + | | + | | + | +-----------+ | + | | | | + +------------------> TG <------------------+ + | | + +-----------+ + +SUT1 and SUT2 are two System Under Test servers (Cisco UCS C240, each with two +Intel XEON CPUs), TG is a Traffic Generator (TG, another Cisco UCS C240, with +two Intel XEON CPUs). SUTs run VPP SW application in Linux user-mode as a +Device Under Test (DUT). TG runs TRex SW application as a packet Traffic +Generator. Physical connectivity between SUTs and to TG is provided using +different NIC models that need to be tested for performance. Currently +installed and tested NIC models include: + +#. 2port10GE X520-DA2 Intel. +#. 2port10GE X710 Intel. +#. 2port10GE VIC1227 Cisco. +#. 2port40GE VIC1385 Cisco. +#. 2port40GE XL710 Intel. + +From SUT and DUT perspective, all performance tests involve forwarding packets +between two physical Ethernet ports (10GE or 40GE). Due to the number of +listed NIC models tested and available PCI slot capacity in SUT servers, in +all of the above cases both physical ports are located on the same NIC. In +some test cases this results in measured packet throughput being limited not +by VPP DUT but by either the physical interface or the NIC capacity. + +Going forward CSIT project will be looking to add more hardware into FD.io +performance labs to address larger scale multi-interface and multi-NIC +performance testing scenarios. + +For test cases that require DUT (VPP) to communicate with VM over vhost-user +interfaces, a VM is created on SUT1 and SUT2. DUT (VPP) test topology with VM +is shown in the figure below including applicable packet flow thru the VM +(marked in the figure with ``***``). + +:: + + +------------------------+ +------------------------+ + | +----------+ | | +----------+ | + | | VM | | | | VM | | + | | ****** | | | | ****** | | + | +--^----^--+ | | +--^----^--+ | + | *| |* | | *| |* | + | +------v----v------+ | | +------v----v------+ | + | | * * |**|***********|**| * * | | + | | ***** *******<----------------->******* ***** | | + | | * DUT1 | | | | DUT2 * | | + | +--^---------------+ | | +---------------^--+ | + | *| | | |* | + | *| SUT1 | | SUT2 |* | + +------------------------+ +------------------^-----+ + *| |* + *| |* + *| +-----------+ |* + *| | | |* + *+------------------> TG <------------------+* + ******************* | |******************** + +-----------+ + +For VM tests, packets are switched by DUT (VPP) twice, hence the +throughput rates measured by TG (and listed in this report) must be multiplied +by two to represent the actual DUT aggregate packet forwarding rate. + +Note that reported VPP performance results are specific to the SUT tested. +Current LF FD.io SUTs are based on Intel XEON E5-2699v3 2.3GHz CPUs. SUTs with +other CPUs are likely to yield different results. A good rule of thumb, that +can be applied to estimate VPP packet thoughput for Phy-to-Phy (NIC-to-NIC, +PCI-to-PCI) topology, is to expect the forwarding performance to be +proportional to CPU core frequency, assuming CPU is the only limiting factor +and all other SUT aspects equal to FD.io CSIT environment. The same rule of +thumb can be also applied for Phy-to-VM-to-Phy (NIC-to-VM-to-NIC) topology, +but due to much higher dependency on very high frequency memory operations and +sensitivity to Linux kernel scheduler settings and behaviour, this estimation +may not always yield good enough accuracy. + +Detailed LF FD.io test bed specification and physical topology are described +in `wiki CSIT LF FDio testbed `_. + +Performance Tests Coverage +-------------------------- + +Performance tests are split into the two main categories: + +- Throughput discovery - discovery of packet forwarding rate using binary search + in accordance to RFC2544. + + - NDR - discovery of Non Drop Rate packet throughput, at zero packet loss; + followed by packet one-way latency measurements at 10%, 50% and 100% of + discovered NDR throughput. + - PDR - discovery of Partial Drop Rate, with specified non-zero packet loss + currently set to 0.5%; followed by packet one-way latency measurements at + 100% of discovered PDR throughput. + +- Throughput verification - verification of packet forwarding rate against + previously discovered throughput rate. These tests are currently done against + 0.9 of reference NDR, with reference rates updated periodically. + +CSIT |release| includes following performance test suites, listed per NIC type: + +- 2port10GE X520-DA2 Intel + + - **L2XC** - L2 Cross-Connect switched-forwarding of untagged, dot1q, dot1ad + VLAN tagged Ethernet frames. + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning; disabled MAC learning i.e. static MAC tests to be added. + - **IPv4** - IPv4 routed-forwarding. + - **IPv6** - IPv6 routed-forwarding. + - **IPv4 Scale** - IPv4 routed-forwarding with 20k, 200k and 2M FIB entries. + - **IPv6 Scale** - IPv6 routed-forwarding with 20k, 200k and 2M FIB entries. + - **VM with vhost-user** - switching between NIC ports and VM over vhost-user + interfaces in different switching modes incl. L2 Cross-Connect, L2 + Bridge-Domain, VXLAN with L2BD, IPv4 routed-forwarding. + - **COP** - IPv4 and IPv6 routed-forwarding with COP address security. + - **iACL** - IPv4 and IPv6 routed-forwarding with iACL address security. + - **LISP** - LISP overlay tunneling for IPv4-over-IPV4, IPv6-over-IPv4, + IPv6-over-IPv6, IPv4-over-IPv6 in IPv4 and IPv6 routed-forwarding modes. + - **VXLAN** - VXLAN overlay tunnelling integration with L2XC and L2BD. + - **QoS Policer** - ingress packet rate measuring, marking and limiting + (IPv4). + +- 2port40GE XL710 Intel + + - **L2XC** - L2 Cross-Connect switched-forwarding of untagged Ethernet frames. + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + - **IPv4** - IPv4 routed-forwarding. + - **IPv6** - IPv6 routed-forwarding. + - **VM with vhost-user** - switching between NIC ports and VM over vhost-user + interfaces in different switching modes incl. L2 Bridge-Domain. + +- 2port10GE X710 Intel + + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + - **VM with vhost-user** - switching between NIC ports and VM over vhost-user + interfaces in different switching modes incl. L2 Bridge-Domain. + +- 2port10GE VIC1227 Cisco + + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + +- 2port40GE VIC1385 Cisco + + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + +Execution of performance tests takes time, especially the throughput discovery +tests. Due to limited HW testbed resources available within FD.io labs hosted +by Linux Foundation, the number of tests for NICs other than X520 (a.k.a. +Niantic) has been limited to few baseline tests. Over time we expect the HW +testbed resources to grow, and will be adding complete set of performance +tests for all models of hardware to be executed regularly and(or) +continuously. + +Performance Tests Naming +------------------------ + +CSIT |release| introduced a common structured naming convention for all +performance and functional tests. This change was driven by substantially +growing number and type of CSIT test cases. Firstly, the original practice did +not always follow any strict naming convention. Secondly test names did not +always clearly capture tested packet encapsulations, and the actual type or +content of the tests. Thirdly HW configurations in terms of NICs, ports and +their locality were not captured either. These were but few reasons that drove +the decision to change and define a new more complete and stricter test naming +convention, and to apply this to all existing and new test cases. + +The new naming should be intuitive for majority of the tests. The complete +description of CSIT test naming convention is provided on `CSIT test naming wiki +`_. + +Here few illustrative examples of the new naming usage for performance test +suites: + +#. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P** + + - *PortNICConfig-WireEncapsulation-PacketForwardingFunction- + PacketProcessingFunction1-...-PacketProcessingFunctionN-TestType* + - *10ge2p1x520-dot1q-l2bdbasemaclrn-ndrdisc.robot* => 2 ports of 10GE on + Intel x520 NIC, dot1q tagged Ethernet, L2 bridge-domain baseline switching + with MAC learning, NDR throughput discovery. + - *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrchk.robot* => 2 ports of 10GE + on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain baseline + switching with MAC learning, NDR throughput discovery. + - *10ge2p1x520-ethip4-ip4base-ndrdisc.robot* => 2 ports of 10GE on Intel + x520 NIC, IPv4 baseline routed forwarding, NDR throughput discovery. + - *10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot* => 2 ports of 10GE on + Intel x520 NIC, IPv6 scaled up routed forwarding, NDR throughput + discovery. + +#. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC, + P2V2P, NIC2VMchain2NIC, P2V2V2P** + + - *PortNICConfig-WireEncapsulation-PacketForwardingFunction- + PacketProcessingFunction1-...-PacketProcessingFunctionN-VirtEncapsulation- + VirtPortConfig-VMconfig-TestType* + - *10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 ports + of 10GE on Intel x520 NIC, dot1q tagged Ethernet, L2 bridge-domain + switching to/from two vhost interfaces and one VM, NDR throughput + discovery. + - *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 + ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain + switching to/from two vhost interfaces and one VM, NDR throughput + discovery. + - *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc.robot* => 2 + ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain + switching to/from four vhost interfaces and two VMs, NDR throughput + discovery. + +Methodology: Multi-Thread and Multi-Core +---------------------------------------- + +**HyperThreading** - CSIT |release| performance tests are executed with SUT +servers' Intel XEON CPUs configured in HyperThreading Disabled mode (BIOS +settings). This is the simplest configuration used to establish baseline +single-thread single-core SW packet processing and forwarding performance. +Subsequent releases of CSIT will add performance tests with Intel +HyperThreading Enabled (requires BIOS settings change and hard reboot). + +**Multi-core Test** - CSIT |release| multi-core tests are executed in the +following VPP thread and core configurations: + +#. 1t1c - 1 VPP worker thread on 1 CPU physical core. +#. 2t2c - 2 VPP worker threads on 2 CPU physical cores. +#. 4t4c - 4 VPP threads on 4 CPU physical cores. + +Note that in quite a few test cases running VPP on 2 or 4 physical cores hits +the tested NIC I/O bandwidth or packets-per-second limit. + +Methodology: Packet Throughput +------------------------------ + +Following values are measured and reported for packet throughput tests: + +- NDR binary search per RFC2544: + + - Packet rate: "RATE: pps + (2x )" + - Aggregate bandwidth: "BANDWIDTH: Gbps (untagged)" + +- PDR binary search per RFC2544: + + - Packet rate: "RATE: pps (2x + )" + - Aggregate bandwidth: "BANDWIDTH: Gbps (untagged)" + - Packet loss tolerance: "LOSS_ACCEPTANCE "" + +- NDR and PDR are measured for the following L2 frame sizes: + + - IPv4: 64B, IMIX_v4_1 (28x64B,16x570B,4x1518B), 1518B, 9000B. + - IPv6: 78B, 1518B, 9000B. + + +Methodology: Packet Latency +--------------------------- + +TRex Traffic Generator (TG) is used for measuring latency of VPP DUTs. Reported +latency values are measured using following methodology: + +- Latency tests are performed at 10%, 50% of discovered NDR rate (non drop rate) + for each NDR throughput test and packet size (except IMIX). +- TG sends dedicated latency streams, one per direction, each at the rate of + 10kpps at the prescribed packet size; these are sent in addition to the main + load streams. +- TG reports min/avg/max latency values per stream direction, hence two sets + of latency values are reported per test case; future release of TRex is + expected to report latency percentiles. +- Reported latency values are aggregate across two SUTs due to three node + topology used for all performance tests; for per SUT latency, reported value + should be divided by two. +- 1usec is the measurement accuracy advertised by TRex TG for the setup used in + FD.io labs used by CSIT project. +- TRex setup introduces an always-on error of about 2*2usec per latency flow - + additonal Tx/Rx interface latency induced by TRex SW writing and reading + packet timestamps on CPU cores without HW acceleration on NICs closer to the + interface line. + + +Methodology: KVM VM vhost +------------------------- + +CSIT |release| introduced environment configuration changes to KVM Qemu vhost- +user tests in order to more representatively measure VPP-17.01 performance in +configurations with vhost-user interfaces and VMs. + +Current setup of CSIT FD.io performance lab is using tuned settings for more +optimal performance of KVM Qemu: + +- Default Qemu virtio queue size of 256 descriptors. +- Adjusted Linux kernel CFS scheduler settings, as detailed on this CSIT wiki + page: https://wiki.fd.io/view/CSIT/csit-perf-env-tuning-ubuntu1604. + +Adjusted Linux kernel CFS settings make the NDR and PDR throughput performance +of VPP+VM system less sensitive to other Linux OS system tasks by reducing +their interference on CPU cores that are designated for critical software +tasks under test, namely VPP worker threads in host and Testpmd threads in +guest dealing with data plan. diff --git a/docs/report/vpp_performance_tests/packet_latency_graphs/index.rst b/docs/report/vpp_performance_tests/packet_latency_graphs/index.rst new file mode 100644 index 0000000000..8c3e941d41 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_latency_graphs/index.rst @@ -0,0 +1,11 @@ +Packet Latency Graphs +===================== + +.. toctree:: + + l2 + ipv4 + ipv6 + ipv4_tunnels + ipv6_tunnels + vm_vhost diff --git a/docs/report/vpp_performance_tests/packet_latency_graphs/ipv4.rst b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv4.rst new file mode 100644 index 0000000000..c46f0141a2 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv4.rst @@ -0,0 +1,100 @@ +IPv4 Routed-Forwarding +====================== + +This section provides a summary of VPP Phy-to-Phy IPv4 Routed-Forwarding +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + diff --git a/docs/report/vpp_performance_tests/packet_latency_graphs/ipv4_tunnels.rst b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv4_tunnels.rst new file mode 100644 index 0000000000..d3293cc6aa --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv4_tunnels.rst @@ -0,0 +1,88 @@ +IPv4 Overlay Tunnels +==================== + +This section provides a summary of VPP Phy-to-Phy IPv4 Overlay Tunnels +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2xcbase-ndrdisc + diff --git a/docs/report/vpp_performance_tests/packet_latency_graphs/ipv6.rst b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv6.rst new file mode 100644 index 0000000000..38bcf71de6 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv6.rst @@ -0,0 +1,98 @@ +IPv6 Routed-Forwarding +====================== + +This section provides a summary of VPP Phy-to-Phy IPv6 Routed-Forwarding +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv6 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv6 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ipolicemarkbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv6 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + diff --git a/docs/report/vpp_performance_tests/packet_latency_graphs/ipv6_tunnels.rst b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv6_tunnels.rst new file mode 100644 index 0000000000..94bf9a811f --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_latency_graphs/ipv6_tunnels.rst @@ -0,0 +1,83 @@ +IPv6 Overlay Tunnels +==================== + +This section provides a summary of VPP Phy-to-Phy IPv6 Overlay Tunnels +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv6 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv6 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv6 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip6-ip6base-ndrdisc + + diff --git a/docs/report/vpp_performance_tests/packet_latency_graphs/l2.rst b/docs/report/vpp_performance_tests/packet_latency_graphs/l2.rst new file mode 100644 index 0000000000..a487306dad --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_latency_graphs/l2.rst @@ -0,0 +1,103 @@ +L2 Ethernet Switching +===================== + +This section provides a summary of VPP Phy-to-Phy L2 Ethernet switching +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy L2 Ethernet Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy L2 Ethernet Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy L2 Ethernet Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + diff --git a/docs/report/vpp_performance_tests/packet_latency_graphs/vm_vhost.rst b/docs/report/vpp_performance_tests/packet_latency_graphs/vm_vhost.rst new file mode 100644 index 0000000000..6421db1c59 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_latency_graphs/vm_vhost.rst @@ -0,0 +1,100 @@ +VM vhost Connections +==================== + +This section provides a summary of VPP Phy-to-VM-to-Phy VM vhost-user +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-VM-to-Phy VM vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-VM-to-Phy VM vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-VM-to-Phy VM vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst new file mode 100644 index 0000000000..bf2a87fab7 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst @@ -0,0 +1,11 @@ +Packet Throughput Graphs +======================== + +.. toctree:: + + l2 + ipv4 + ipv6 + ipv4_tunnels + ipv6_tunnels + vm_vhost diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst new file mode 100644 index 0000000000..c413adb51e --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst @@ -0,0 +1,187 @@ +IPv4 Routed-Forwarding +====================== + +Following sections provide a summary of VPP Phy-to-Phy IPv4 Routed-Forwarding +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-pdrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale200k-pdrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale20k-pdrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-pdrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale200k-pdrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale20k-pdrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-pdrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale200k-pdrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale20k-pdrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale2m-pdrdisc + diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst new file mode 100644 index 0000000000..23ac3fc001 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst @@ -0,0 +1,165 @@ +IPv4 Overlay Tunnels +==================== + +Following sections provide a summary of VPP Phy-to-Phy IPv4 Overlay Tunnels +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2xcbase-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4lispip4-ip4base-pdrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4lispip6-ip4base-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2xcbase-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4lispip4-ip4base-pdrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4lispip6-ip4base-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2xcbase-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4lispip4-ip4base-pdrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4lispip6-ip4base-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2xcbase-pdrdisc + diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst new file mode 100644 index 0000000000..e04f2c6822 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst @@ -0,0 +1,183 @@ +IPv6 Routed-Forwarding +====================== + +Following sections provide a summary of VPP Phy-to-Phy IPv6 Routed-Forwarding +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ipolicemarkbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-pdrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale200k-pdrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale20k-pdrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-pdrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale200k-pdrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale20k-pdrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-pdrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale200k-pdrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale20k-pdrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale2m-pdrdisc + + diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst new file mode 100644 index 0000000000..1a57998018 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst @@ -0,0 +1,155 @@ +IPv6 Overlay Tunnels +==================== + +Following sections provide a summary of VPP Phy-to-Phy IPv6 Overlay Tunnels +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip6-ip6base-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6lispip4-ip6base-pdrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6lispip6-ip6base-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6lispip4-ip6base-pdrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6lispip6-ip6base-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6lispip4-ip6base-pdrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6lispip6-ip6base-pdrdisc + diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst new file mode 100644 index 0000000000..89429a6192 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst @@ -0,0 +1,190 @@ +L2 Ethernet Switching +===================== + +Following sections provide a summary of VPP Phy-to-Phy L2 Ethernet switching +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% packet +loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1ad-l2xcbase-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2xcbase-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc + diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst new file mode 100644 index 0000000000..b5bc0dd5a3 --- /dev/null +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst @@ -0,0 +1,191 @@ +VM vhost Connections +==================== + +Following sections provide a summary of VPP Phy-to-VM-to-Phy VM vhost-user +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-.*vhost.*-pdrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-.*vhost.*-pdrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-.*vhost.*-pdrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + diff --git a/docs/report/vpp_performance_tests/test_environment.rst b/docs/report/vpp_performance_tests/test_environment.rst new file mode 100644 index 0000000000..0fd22213b9 --- /dev/null +++ b/docs/report/vpp_performance_tests/test_environment.rst @@ -0,0 +1,3634 @@ +Test Environment +================ + +To execute performance tests, there are three identical testbeds, each testbed +consists of two SUTs and one TG. + +SUT Configuration - Host HW +--------------------------- +Hardware details (CPU, memory, NIC layout) are described in +`CSIT/CSIT_LF_testbed `_ in +summary: + +- All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz, + 18c, 512GB RAM), +- BIOS settings are default except for the following: + + - Hyperthreading disabled, + - SpeedStep disabled + - TurboBoost disabled + - Power Technology: Performance + +- Hosts run Ubuntu 16.04.1, kernel 4.4.0-42-generic +- Linux kernel boot command line option "intel_pstate=disable" is applied to + both SUTs and TG. In addition, on SUTs, only cores 0 and 18 (the first core on + each socket) are available to the Linux operating system and generic tasks, + all other CPU cores are isolated and reserved for VPP. +- In addition to CIMC and Management, each TG has 4x Intel X710 10GB NIC + (=8 ports) and 2x Intel XL710 40GB NIC (=4 ports), whereas each SUT has: + + - 1x Intel X520 NIC (10GB, 2 ports), + - 1x Cisco VIC 1385 (40GB, 2 ports), + - 1x Intel XL710 NIC (40GB, 2 ports), + - 1x Intel X710 NIC (10GB, 2 ports), + - 1x Cisco VIC 1227 (10GB, 2 ports). + - This allows for a total of five ring topologies, each using ports on + specific NIC model, enabling per NIC model benchmarking. + +**NIC types** + +- 0a:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ + Network Connection (rev 01) Subsystem: Intel Corporation Ethernet Server + Adapter X520-2 +- 0a:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ + Network Connection (rev 01) Subsystem: Intel Corporation Ethernet Server + Adapter X520-2 +- 06:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1227 PCIe Ethernet NIC +- 07:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1227 PCIe Ethernet NIC +- 13:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1385 PCIe Ethernet NIC +- 15:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1385 PCIe Ethernet NIC +- 85:00.0 Ethernet controller: Intel Corporation Ethernet Controller XL710 + for 40GbE QSFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged + Network Adapter XL710-Q2 +- 85:00.1 Ethernet controller: Intel Corporation Ethernet Controller XL710 + for 40GbE QSFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged + Network Adapter XL710-Q2 +- 87:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for + 10GbE SFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged Network + Adapter X710-2 +- 87:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 for + 10GbE SFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged Network + Adapter X710-2 + +SUT Configuration - Host OS Linux +--------------------------------- + +Software details (OS, configuration) is described in +`CSIT/CSIT_LF_testbed `_ in +summary: + +.. code-block:: xml + + +
+ + + 1 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + +
+
+ + + 127 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + 0 + + + + + 127 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 127 + + + + + 0 + /dev/null || echo Debian` + GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8" + GRUB_CMDLINE_LINUX="isolcpus=1-17,19-35 nohz_full=1-17,19-35 rcu_nocbs=1-17,19-35 intel_pstate=disable" + + # Uncomment to enable BadRAM filtering, modify to suit your needs + # This works with Linux (no patch required) and with any kernel that obtains + # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) + #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" + + # Uncomment to disable graphical terminal (grub-pc only) + #GRUB_TERMINAL=console + GRUB_TERMINAL=serial + GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" + + # The resolution used on graphical terminal + # note that you can use only modes which your graphic card supports via VBE + # you can see them in real GRUB with the command `vbeinfo' + #GRUB_GFXMODE=640x480 + + # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux + #GRUB_DISABLE_LINUX_UUID=true + + # Uncomment to disable generation of recovery mode menu entries + #GRUB_DISABLE_RECOVERY="true" + + # Uncomment to get a beep at grub start + #GRUB_INIT_TUNE="480 440 1" + ]]> + + + + 1 + + + + + 0 + mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + 6: enp23s0f0: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 + link/ether 00:fe:c8:e5:68:32 brd ff:ff:ff:ff:ff:ff + ]]> + + + + 0 + + + + + 0 + + +
+
+ + + 127 + + + + + 0 + + +
+
+ + + 0 + + + + +
+
+ + + 1 + + + + + 127 + + + + + 1 + + +
+
+ +DUT Configuration - VPP +----------------------- + +**VPP Version** + +17.01-release_amd64 + +**VPP Compile Parameters** + +VPP Compile Job: https://jenkins.fd.io/view/vpp/job/vpp-merge-1701-ubuntu1604/ + +**VPP Install Parameters** + +:: + + $ dpkg -i --force-all + +**VPP Startup Configuration** + +VPP startup configuration changes per test case with different settings for CPU +cores, rx-queues and no-multi-seg parameter. Startup config is aligned with +applied test case tag: + +Tagged by **1T1C**:: + + $ cat /etc/vpp/startup.conf + unix { + nodaemon + log /tmp/vpe.log + cli-listen localhost:5002 + full-coredump + } + api-trace { + on + } + cpu { + main-core 0 corelist-workers 1 + } + dpdk { + socket-mem 1024,1024 + dev default { + num-rx-queues 1 + } + dev 0000:0a:00.1 + dev 0000:0a:00.0 + no-multi-seg + } + ip6 { + hash-buckets 2000000 + heap-size 3G + } + +Tagged by **2T1C**:: + + $ cat /etc/vpp/startup.conf + unix { + nodaemon + log /tmp/vpe.log + cli-listen localhost:5002 + full-coredump + } + api-trace { + on + } + cpu { + main-core 0 corelist-workers 1,2 + } + dpdk { + socket-mem 1024,1024 + dev default { + num-rx-queues 1 + } + dev 0000:0a:00.1 + dev 0000:0a:00.0 + no-multi-seg + } + ip6 { + hash-buckets 2000000 + heap-size 3G + } + +Tagged by **4T4C**:: + + $ cat /etc/vpp/startup.conf + unix { + nodaemon + log /tmp/vpe.log + cli-listen localhost:5002 + full-coredump + } + api-trace { + on + } + cpu { + main-core 0 corelist-workers 1,2,3,4 + } + dpdk { + socket-mem 1024,1024 + dev default { + num-rx-queues 1 + } + dev 0000:0a:00.1 + dev 0000:0a:00.0 + no-multi-seg + } + ip6 { + hash-buckets 2000000 + heap-size 3G + } + + +TG Configuration - TRex +----------------------- + +**TG Version** + +TRex v2.09 + +**DPDK version** + +DPDK v16.07 (20e2b6eba13d9eb61b23ea75f09f2aa966fa6325 - in DPDK repo) + +**TG Build Script used** + +https://gerrit.fd.io/r/gitweb?p=csit.git;a=blob;f=resources/tools/t-rex/t-rex-installer.sh;h=e89b06f9b12499996df18e5e3399fcd660ebc017;hb=refs/heads/rls1701 + +**TG Startup Configuration** + +:: + + $ cat /etc/trex_cfg.yaml + - port_limit : 2 + version : 2 + interfaces : ["0000:0d:00.0","0000:0d:00.1"] + port_info : + - dest_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf5] + src_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf4] + - dest_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf4] + src_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf5] + +**TG common API - pointer to driver** + +https://gerrit.fd.io/r/gitweb?p=csit.git;a=blob;f=resources/tools/t-rex/t-rex-stateless.py;h=24f4a997389ba3f10ad42e1f9564ef915fd58b44;hb=refs/heads/rls1701 -- cgit 1.2.3-korg