Appendix A. SR-IOV failover testing

For testing packet loss upon failure of active link on the bond, iperf tool is used in the validation lab.

Note

iperf was used for this test because it provides jitter and packet loss with millisecond granularity. However, iperf is not the tool of choice for testing on VMs as it uses kernel networking and does not take advantage of DPDK.

Client runs on VM2 sending traffic to VM1 (172.30.0.20 on port 8282):

[root@test-sriov2 network-scripts]# iperf3 -c 172.30.0.20 -p 8282 -u -l 16 -b 128000 -t 20
Connecting to host 172.30.0.20, port 8282
[  4] local 172.30.0.21 port 54765 connected to 172.30.0.20 port 8282
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec  14.1 KBytes   115 Kbits/sec  902
[  4]   1.00-2.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   2.00-3.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   3.00-4.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   4.00-5.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   5.00-6.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   6.00-7.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   7.00-8.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   8.00-9.00   sec  15.6 KBytes   128 Kbits/sec  1000
[  4]   9.00-10.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  10.00-11.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  11.00-12.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  12.00-13.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  13.00-14.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  14.00-15.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  15.00-16.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  16.00-17.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  17.00-18.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  18.00-19.00  sec  15.6 KBytes   128 Kbits/sec  1000
[  4]  19.00-20.00  sec  15.6 KBytes   128 Kbits/sec  1000
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-20.00  sec   311 KBytes   127 Kbits/sec  0.001 ms  300/19901 (1.5%)
[  4] Sent 19901 datagrams

iperf Done.

VM1 acts as the server listening on port 8282:

Server:
[root@test-sriov ~]# iperf3 -s -p 8282
-----------------------------------------------------------
Server listening on 8282
-----------------------------------------------------------
Accepted connection from 172.30.0.21, port 34606
[  5] local 172.30.0.20 port 8282 connected to 172.30.0.21 port 54765
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec  14.1 KBytes   115 Kbits/sec  0.001 ms  0/901 (0%)
[  5]   1.00-2.00   sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]   2.00-3.00   sec  15.6 KBytes   128 Kbits/sec  0.002 ms  0/1000 (0%)
[  5]   3.00-4.00   sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]   4.00-5.00   sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]   5.00-6.00   sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]   6.00-7.00   sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]   7.00-8.00   sec  10.9 KBytes  89.6 Kbits/sec  0.002 ms  300/1000 (30%) ⇐ Shutdown switchport
[  5]   8.00-9.00   sec  15.6 KBytes   128 Kbits/sec  0.002 ms  0/1000 (0%)
[  5]   9.00-10.00  sec  15.6 KBytes   128 Kbits/sec  0.002 ms  0/1000 (0%)
[  5]  10.00-11.00  sec  15.6 KBytes   128 Kbits/sec  0.002 ms  0/1000 (0%)
[  5]  11.00-12.00  sec  15.6 KBytes   128 Kbits/sec  0.002 ms  0/1000 (0%)
[  5]  12.00-13.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  13.00-14.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  14.00-15.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  15.00-16.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  16.00-17.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  17.00-18.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  18.00-19.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  19.00-20.00  sec  15.6 KBytes   128 Kbits/sec  0.001 ms  0/1000 (0%)
[  5]  20.00-20.04  sec  0.00 Bytes  0.00 bits/sec  0.001 ms  0/0 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-20.04  sec  0.00 Bytes  0.00 bits/sec  0.001 ms  300/19901 (1.5%)

Traffic switches over the the backup link.