Skip to content

Instantly share code, notes, and snippets.

@fadenb
Last active Nov 25, 2020
Embed
What would you like to do?
FFMUC Iperf Testing 2020-11-25

Iperf Testing FFMUC 2020-11-25

Setup

  • Hetzner KVM host
  • VM with 6 vCPU
  • Virtio nic (4 queues)
  • FFMUC x86 offloader image

Tests

Iperf test of the wireguard link

Iperf is running directly on the offloader VM

root@fadenb-offloader-test:~# iperf3 -c fe80::281:8eff:fef0:73aa%wg_mesh_vpn
Connecting to host fe80::281:8eff:fef0:73aa%wg_mesh_vpn, port 5201
[  5] local fe80::2f8:17ff:fed9:88ab port 34708 connected to fe80::281:8eff:fef0:73aa port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  28.0 MBytes   235 Mbits/sec    0   1.22 MBytes       
[  5]   1.00-2.00   sec   110 MBytes   923 Mbits/sec    2   1.71 MBytes       
[  5]   2.00-3.00   sec   105 MBytes   881 Mbits/sec    1   1.28 MBytes       
[  5]   3.00-4.00   sec   101 MBytes   849 Mbits/sec    0   1.35 MBytes       
[  5]   4.00-5.00   sec   106 MBytes   891 Mbits/sec    0   1.40 MBytes       
[  5]   5.00-6.00   sec   102 MBytes   860 Mbits/sec    0   1.43 MBytes       
[  5]   6.00-7.00   sec  91.2 MBytes   765 Mbits/sec    0   1.45 MBytes       
[  5]   7.00-8.00   sec  92.5 MBytes   776 Mbits/sec    0   1.49 MBytes       
[  5]   8.00-9.00   sec   101 MBytes   849 Mbits/sec    0   1.54 MBytes       
[  5]   9.00-10.00  sec   106 MBytes   891 Mbits/sec    0   1.59 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   944 MBytes   792 Mbits/sec    3             sender
[  5]   0.00-10.04  sec   938 MBytes   783 Mbits/sec                  receiver

iperf Done.
root@fadenb-offloader-test:~# 

Iperf test of the wireguard link + vxlan on top

Iperf is running directly on the offloader VM

root@fadenb-offloader-test:~# iperf3 -c fe80::2cee:e3ff:feb1:6aec%mesh-vpn
Connecting to host fe80::2cee:e3ff:feb1:6aec%mesh-vpn, port 5201
[  5] local fe80::586e:52ff:fee6:c9df port 47488 connected to fe80::2cee:e3ff:feb1:6aec port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  92.6 MBytes   777 Mbits/sec   19   1.73 MBytes       
[  5]   1.00-2.00   sec   100 MBytes   839 Mbits/sec    1   1.34 MBytes       
[  5]   2.00-3.00   sec   100 MBytes   839 Mbits/sec    0   1.46 MBytes       
[  5]   3.00-4.00   sec  96.2 MBytes   807 Mbits/sec    0   1.54 MBytes       
[  5]   4.00-5.00   sec  98.8 MBytes   828 Mbits/sec    0   1.61 MBytes       
[  5]   5.00-6.00   sec  97.5 MBytes   818 Mbits/sec    3   1.18 MBytes       
[  5]   6.00-7.00   sec  96.2 MBytes   807 Mbits/sec    0   1.25 MBytes       
[  5]   7.00-8.00   sec  92.5 MBytes   776 Mbits/sec    0   1.31 MBytes       
[  5]   8.00-9.00   sec  92.5 MBytes   776 Mbits/sec    0   1.35 MBytes       
[  5]   9.00-10.00  sec  98.8 MBytes   828 Mbits/sec    9   1.39 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   965 MBytes   810 Mbits/sec   32             sender
[  5]   0.00-10.05  sec   960 MBytes   802 Mbits/sec                  receiver

iperf Done.

Iperf test of the full ffmuc network stack (wireguard + vxlan + batman)

Iperf is running directly on the offloader VM

root@fadenb-offloader-test:~# iperf3 -c freifunkm01.ring.nlnog.net -p 5207 -P 1 -t 15
Connecting to host freifunkm01.ring.nlnog.net, port 5207
[  5] local 2001:678:e68:109:5054:ff:fe25:9a8f port 59878 connected to 2001:678:e68:ff00::6 port 5207
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  7.38 MBytes  61.9 Mbits/sec  104   44.6 KBytes       
[  5]   1.00-2.00   sec  3.25 MBytes  27.2 Mbits/sec   51   46.0 KBytes       
[  5]   2.00-3.00   sec  4.04 MBytes  33.9 Mbits/sec   48   66.9 KBytes       
[  5]   3.00-4.00   sec  5.64 MBytes  47.3 Mbits/sec   26   51.6 KBytes       
[  5]   4.00-5.00   sec  3.98 MBytes  33.4 Mbits/sec   31   36.3 KBytes       
[  5]   5.00-6.00   sec  4.04 MBytes  33.9 Mbits/sec    7   69.7 KBytes       
[  5]   6.00-7.00   sec  5.03 MBytes  42.2 Mbits/sec    6   61.4 KBytes       
[  5]   7.00-8.00   sec  6.56 MBytes  55.0 Mbits/sec   15   61.4 KBytes       
[  5]   8.00-9.00   sec  5.64 MBytes  47.3 Mbits/sec    1    103 KBytes       
[  5]   9.00-10.00  sec  6.50 MBytes  54.5 Mbits/sec    4   96.2 KBytes       
[  5]  10.00-11.00  sec  6.43 MBytes  54.0 Mbits/sec   23    109 KBytes       
[  5]  11.00-12.00  sec  9.68 MBytes  81.2 Mbits/sec    4    123 KBytes       
[  5]  12.00-13.00  sec  10.1 MBytes  84.3 Mbits/sec    2    126 KBytes       
[  5]  13.00-14.00  sec  7.23 MBytes  60.7 Mbits/sec   14   79.5 KBytes       
[  5]  14.00-15.00  sec  8.82 MBytes  74.0 Mbits/sec    3   99.0 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-15.00  sec  94.3 MBytes  52.7 Mbits/sec  339             sender
[  5]   0.00-15.00  sec  92.2 MBytes  51.6 Mbits/sec                  receiver

iperf Done.

Observations

  • Near linespeed (1gbit/s) can be reached -> no generic network issues
  • wireguard is close to linespeed
  • wireguard + vxlan is close to linespeed
  • When batman is involved throughput is severly lowered
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment