2.4.1. L2 Ethernet Switching

Following sections include Throughput Speedup Analysis for VPP multi- core multi-thread configurations with no Hyper-Threading, specifically for tested 2t2c (2threads, 2cores) and 4t4c scenarios. 1t1c throughput results are used as a reference for reported speedup ratio. Input data used for the graphs comes from Phy-to-Phy 64B performance tests with VPP L2 Ethernet switching, including NDR throughput (zero packet loss) and PDR throughput (<0.5% packet loss).

2.4.1.1. NDR Throughput

VPP NDR 64B packet throughput speedup ratio is presented in the graphs below for 10ge2p1x520 and 40ge2p1xl710 network interface cards.

2.4.1.1.1. NIC 10ge2p1x520

CSIT source code for the test cases used for above plots can be found in CSIT git repository:

10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc
10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc
10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc
10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-ndrdisc
10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-ndrdisc
10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot:| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-ndrdisc
10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc
10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc
10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc13-64B-4t4c-dot1q-l2xcbase-ndrdisc
10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdscale100kmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdscale100kmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot:| tc13-64B-4t4c-eth-l2bdscale100kmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2dbscale10kmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2dbscale10kmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot:| tc13-64B-4t4c-eth-l2dbscale10kmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdscale1mmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdscale1mmaclrn-ndrdisc
10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot:| tc13-64B-4t4c-eth-l2bdscale1mmaclrn-ndrdisc
10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc

Figure 1. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized NDR Throughput for Phy-to-Phy L2 Ethernet Switching.

2.4.1.1.2. NIC 40ge2p1xl710

CSIT source code for the test cases used for above plots can be found in CSIT git repository:

40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc

Figure 2. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized NDR Throughput for Phy-to-Phy L2 Ethernet Switching.

2.4.1.2. PDR Throughput

VPP PDR 64B packet throughput speedup ratio is presented in the graphs below for 10ge2p1x520 and 40ge2p1xl710 network interface cards. PDR measured for 0.5% packet loss ratio.

2.4.1.2.1. NIC 10ge2p1x520

CSIT source code for the test cases used for above plots can be found in CSIT git repository:

10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc
10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc
10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc14-64B-4t4c-dot1ad-l2xcbase-pdrdisc
10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-pdrdisc
10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-pdrdisc
10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot:| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-pdrdisc
10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc
10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc
10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc14-64B-4t4c-dot1q-l2xcbase-pdrdisc
10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdscale100kmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdscale100kmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot:| tc14-64B-4t4c-eth-l2bdscale100kmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2dbscale10kmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2dbscale10kmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot:| tc14-64B-4t4c-eth-l2dbscale10kmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdscale1mmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdscale1mmaclrn-pdrdisc
10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot:| tc14-64B-4t4c-eth-l2bdscale1mmaclrn-pdrdisc
10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-pdrdisc

Figure 3. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized PDR Throughput for Phy-to-Phy L2 Ethernet Switching.