2.2. CSIT Release Notes

2.2.1. Changes in CSIT rls1707

  1. Test environment changes in VPP data plane performance tests:
    • Further characterization and optimizations of VPP vhost-user and VM test methodology and test environment;
      • Tests with varying Qemu virtio queue (a.k.a. vring) sizes: [vr256] default 256 descriptors, [vr1024] 1024 descriptors to optimize for packet throughput;
      • Tests with varying Linux CFS (Completely Fair Scheduler) settings: [cfs] default settings, [cfsrr1] CFS RoundRobin(1) policy applied to all data plane threads handling test packet path including all VPP worker threads and all Qemu testpmd poll-mode threads;
      • Resulting test cases are all combinations with [vr256,vr1024] and [cfs,cfsrr1] settings;
      • For more detail see performance results observations section in this report;
  2. Code updates and optimizations in CSIT performance framework:
  3. Changes to CSIT driver for TRex Traffic Generator:
    • Complete refactor of TRex CSIT driver;
    • Introduction of packet traffic profiles to improve usability and manageability of traffic profiles for a growing number of test scenarios.
    • Support for packet traffic profiles to test IPv4/IPv6 stateful and stateless DUT data plane features;
  4. Added VPP performance tests
    • Linux Container VPP memif virtual interface tests
      • VPP Memif virtual interface (shared memory interface) tests interconnecting VPP instances over memif. VPP vswitch instance runs in bare-metal user-mode handling Intel x520 NIC 10GbE interfaces and connecting over memif (Master side) virtual interfaces to another instance of VPP running in bare-metal Linux Container (LXC) with memif virtual interfaces (Slave side). LXC runs in a priviliged mode with VPP data plane worker threads pinned to dedicated physical CPU cores per usual CSIT practice. Both VPP run the same version of software. This test topology is equivalent to existing tests with vhost-user and VMs.
    • Stateful Security Groups
      • New tests of VPP stateful security-groups a.k.a. acl-plugin functionally compatible with networking-vpp OpenStack;
      • New tested security-groups access-control-lists (acl) configuration variants include: [iaclNsl] input acl stateless, [oaclNsl] output acl stateless, [iaclNsf] input acl stateful a.k.a. reflect, [oaclNsf] output acl stateful a.k.a. reflect, where N is number of access-control-entries (ace) in the acl.
      • Testing packet flows transmitted by TG: 100, 10k, 100k, always hitting the last permit entry in acl.
    • VPP vhost and VM tests
      • New VPP vhost-user and VM test cases to benchmark performance of VPP and VM topologies with Qemu and CFS policy combinations of [vr256,vr1024] x [cfs,cfsrr1];
      • Statistical analysis of repeatibility of results;

2.2.2. Performance Improvements

Substantial improvements in measured packet throughput have been observed in a number of CSIT rls1707 tests listed below, with relative increase of double-digit percentage points. Relative improvements for this release are calculated against the test results listed in CSIT rls1704 report. The comparison is calculated between the mean values based on collected and archived test results’ samples for involved VPP releases. Standard deviation has been also listed for CSIT rls1707. VPP-16.09 and VPP-17.01 numbers are provided for reference.

2.2.2.1. NDR Throughput

Non-Drop Rate Throughput discovery tests:

VPP Functionality Test Name VPP-16.09 [Mpps] VPP-17.01 [Mpps] VPP-17.04 mean [Mpps] VPP-17.07 mean [Mpps] VPP-17.07 stdev [Mpps] 17.04 to 17.07 change
IPv6 10ge2p1x520: 78B-1t1c-ethip6-ip6base-ndrdisc 3.0 7.3 8.1 10.0 0.2 23%
IPv6 COP 10ge2p1x520: 78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc 6.1 6.1 6.9 8.4 0.2 22%
IPv6 FIB 20k 10ge2p1x520: 78B-1t1c-ethip6-ip6scale20k-ndrdisc 6.9 6.5 6.9 8.3 0.2 20%
IPv6 iAcl 10ge2p1x520: 78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc 6.5 6.1 6.9 8.0 0.2 16%
IPv4 FIB 2M 10ge2p1x520: 64B-1t1c-ethip4-ip4scale2m-ndrdisc 8.5 7.8 8.1 9.2 0.1 14%
IPv4 COP 10ge2p1x520: 64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc 7.1 8.3 9.0 10.2 0.2 13%
IPv4 FIB 200k 10ge2p1x520: 64B-1t1c-ethip4-ip4scale200k-ndrdisc 8.5 9.0 9.7 10.8 0.2 11%
IPv4 FIB 20k 10ge2p1x520: 64B-1t1c-ethip4-ip4scale20k-ndrdisc 8.5 9.0 9.7 10.8 0.1 11%
IPv4 10ge2p1x520: 64B-1t1c-ethip4-ip4base-ndrdisc 8.7 9.7 10.6 11.8 0.2 11%
L2XC dot1q 10ge2p1x520: 64B-1t1c-dot1q-l2xcbase-ndrdisc 7.5 8.8 9.2 10.2 0.2 11%
L2XC 10ge2p1x520: 64B-1t1c-eth-l2xcbase-ndrdisc 9.4 12.7 13.3 14.7 0.3 11%
L2XC dot1ad 10ge2p1x520: 64B-1t1c-dot1ad-l2xcbase-ndrdisc 7.4 8.8 9.3 10.2 0.2 10%

2.2.2.2. PDR Throughput

Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:

VPP Functionality Test Name VPP-16.09 [Mpps] VPP-17.01 [Mpps] VPP-17.04 mean [Mpps] VPP-17.07 mean [Mpps] VPP-17.07 stdev [Mpps] 17.04 to 17.07 change
IPv6 10ge2p1x520: 78B-1t1c-ethip6-ip6base-pdrdisc 7.7 7.3 8.1 10.1 0.3 25%
IPv6 FIB 20k 10ge2p1x520: 78B-1t1c-ethip6-ip6scale20k-pdrdisc 6.9 6.5 6.9 8.4 0.2 22%
IPv6 COP 10ge2p1x520: 78B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc 6.1 6.1 6.9 8.4 0.2 22%
IPv4 vhost 10ge2p1x520: 64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc 2.0 2.7 3.0 3.5 0.1 17%
IPv6 iAcl 10ge2p1x520: 78B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc 6.5 6.1 6.9 8.0 0.2 16%
L2XC-vhost-VM 10ge2p1x520: 64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc 2.6 3.2 3.2 3.6 0.1 12%
IPv4 FIB 200k 10ge2p1x520: 64B-1t1c-ethip4-ip4scale200k-pdrdisc 8.5 9.0 9.7 10.9 0.2 12%
IPv4 10ge2p1x520: 64B-1t1c-ethip4-ip4base-pdrdisc 8.7 9.7 10.6 11.9 0.2 12%
IPv4 FIB 2M 10ge2p1x520: 64B-1t1c-ethip4-ip4scale2m-pdrdisc 8.3 8.1 8.3 9.3 0.1 12%
IPv4 COP 10ge2p1x520: 64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc 7.1 8.3 9.2 10.3 0.2 12%
IPv4 FIB 20k 10ge2p1x520: 64B-1t1c-ethip4-ip4scale20k-pdrdisc 8.5 9.0 9.7 10.8 0.2 11%
L2XC dot1q 10ge2p1x520: 64B-1t1c-dot1q-l2xcbase-pdrdisc 7.5 8.8 9.2 10.2 0.2 11%
L2XC 10ge2p1x520: 64B-1t1c-eth-l2xcbase-pdrdisc 9.4 12.7 13.4 14.8 0.4 10%
L2XC VxLAN 10ge2p1x520: 64B-1t1c-ethip4vxlan-l2xcbase-pdrdisc 5.4 6.5 6.8 7.5 0.1 10%
IPv4 Policer 10ge2p1x520: 64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc 7.1 7.4 8.1 8.9 0.1 10%
L2XC dot1ad 10ge2p1x520: 64B-1t1c-dot1ad-l2xcbase-pdrdisc 7.4 8.8 9.3 10.2 0.2 10%
IPv4 iAcl 10ge2p1x520: 64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc 7.1 7.6 8.3 9.1 0.1 10%

Measured improvements are in line with VPP code optimizations listed in VPP-17.07 release notes.

2.2.3. Other Performance Changes

Other changes in measured packet throughput, with either minor relative increase or decrease, have been observed in a number of CSIT rls1707 tests listed below. Relative changes are calculated against the test results listed in CSIT rls1704 report.

2.2.3.1. NDR Throughput

Non-Drop Rate Throughput discovery tests:

VPP Functionality Test Name VPP-16.09 [Mpps] VPP-17.01 [Mpps] VPP-17.04 mean [Mpps] VPP-17.07 mean [Mpps] VPP-17.07 stdev [Mpps] 17.04 to 17.07 change
L2XC-vhost-VM 10ge2p1x520: 64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc 0.5 2.8 3.2 3.5 0.1 9%
L2XC VxLAN 10ge2p1x520: 64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc 5.4 6.5 6.8 7.4 0.0 9%
IPv4 Policer 10ge2p1x520: 64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc 6.9 7.4 8.1 8.8 0.1 9%
IPv4 iAcl 10ge2p1x520: 64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc 6.9 7.6 8.3 9.0 0.1 8%
IPv4 LISP 10ge2p1x520: 64B-1t1c-ethip4lispip4-ip4base-ndrdisc 4.4 4.8 5.5 5.9 0.0 7%
IPv6 FIB 2M 10ge2p1x520: 78B-1t1c-ethip6-ip6scale2m-ndrdisc 5.3 4.2 4.6 4.9 0.0 7%
L2XC 10ge2p1xl710: 64B-1t1c-eth-l2xcbase-ndrdisc 9.5 12.2 12.4 13.2 0.1 6%
IPv4 vhost 10ge2p1x520: 64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc 0.3 2.6 3.1 3.3 0.2 6%
L2BD-vhost-VM 10ge2p1x710: 64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc 0.4 2.7 3.2 3.2 0.1 0%
L2BD 10ge2p1x520: 64B-1t1c-eth-l2bdbasemaclrn-ndrdisc 7.8 10.4 10.8 10.7 0.2 -1%
IPv6 FIB 200k 10ge2p1x520: 78B-1t1c-ethip6-ip6scale200k-ndrdisc 6.5 5.3 5.3 5.1 1.5 -4%
LXC MEMIF 10ge2p1x520: 64B-1t1c-eth-l2xcbase-eth-2memif-1lxc-ndrdisc       3.4 1.3  

2.2.3.2. PDR Throughput

Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:

VPP Functionality Test Name VPP-16.09 [Mpps] VPP-17.01 [Mpps] VPP-17.04 mean [Mpps] VPP-17.07 mean [Mpps] VPP-17.07 stdev [Mpps] 17.04 to 17.07 change
IPv6 FIB 200k 10ge2p1x520: 78B-1t1c-ethip6-ip6scale200k-pdrdisc 6.9 5.3 5.3 5.7 0.1 8%
IPv4 LISP 10ge2p1x520: 64B-1t1c-ethip4lispip4-ip4base-pdrdisc 4.6 4.8 5.5 5.9 0.0 7%
IPv6 FIB 2M 10ge2p1x520: 78B-1t1c-ethip6-ip6scale2m-pdrdisc 5.3 4.2 4.6 4.9 0.0 7%
L2BD-vhost-VM 10ge2p1x520: 64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc 2.1 2.9 3.2 3.3 0.1 3%
L2BD 10ge2p1x520: 64B-1t1c-eth-l2bdbasemaclrn-pdrdisc 7.8 10.6 10.9 10.7 0.2 -2%
LXC MEMIF 10ge2p1x520: 64B-1t1c-eth-l2xcbase-eth-2memif-1lxc-pdrdisc       4.0 0.2  

2.2.4. Known Issues

Here is the list of known issues in CSIT rls1707 for VPP performance tests:

# Issue Jira ID Description
1 Security-groups acl-plugin scale tests failure with stateful acls if VPP with 2 worker threads CSIT-731 VPP-912 VPP with 2 worker threads crashes during security-groups iaclNsf and oaclNsf tests with 100k flows.
2 VPP fails memif tests in 4 worker 2 core setup CSIT-732 VPP-920 VPP with 4 worker threads running on 2 physical cores crashes during memif tests. Initial debugging points to DPDK code
3 NDR discovery test failures 1518B frame size for ip4scale200k, ip4scale2m scale IPv4 routed- forwarding tests. ip4scale20k tests are fine. VPP-663 VPP reporting errors: dpdk-input Rx ip checksum errors. Observed frequency: all test runs.
4 Vic1385 and Vic1227 low performance. VPP-664 Low NDR performance.
5 Sporadic NDR discovery test failures on x520. CSIT-750 Suspected issue with HW settings (BIOS, FW) in LF infrastructure. Issue can’t be replicated outside LF.
6 VPP in 2t2c setups - large variation of discovered NDR throughput values across multiple test runs with xl710 and x710 NICs. CSIT-568 Suspected NIC firmware or DPDK driver issue affecting NDR throughput. Applies to XL710 and X710 NICs, x520 NICs are fine.
7 Lower than expected NDR and PDR throughput with xl710 and x710 NICs, compared to x520 NICs. CSIT-569 Suspected NIC firmware or DPDK driver issue affecting NDR and PDR throughput. Applies to XL710 and X710 NICs.