Hi guys,

I made openvpn3 (required changes will be incorporated into main branch at some point) work with wintun and did performance testing in AWS.

Client:    c5.xlarge, Windows Server 2016, patched openvpn3 test client and OpenVPN Connect 2.7.1.103 (uses tap-windows6, based on openvpn3).

Server:  c5.xlarge, Ubuntu 18.04, openvpn 2.4.4

Client and server instances are in the same VPC and placement group.

iPerf3 running on server:

> iperf3 -s -B 0.0.0.0 -V

iPerf3 running on client:

> iperf3 -c 10.8.0.1 -V (server VPN address)
> iperf3 -c 10.0.0.18 -V (server VPC address)  

Results:

- no vpn

[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  8.67 GBytes  7.45 Gbits/sec                  sender
[  4]   0.00-10.00  sec  8.67 GBytes  7.45 Gbits/sec                  receiver
CPU Utilization: local/sender 61.4% (5.6%u/55.8%s), remote/receiver 33.9% (1.7%u/32.2%s)

- tap-windows6

[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   404 MBytes   339 Mbits/sec                  sender
[  4]   0.00-10.00  sec   404 MBytes   339 Mbits/sec                  receiver
CPU Utilization: local/sender 4.6% (0.3%u/4.3%s), remote/receiver 21.4% (2.2%u/19.2%s)

- wintun

[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   536 MBytes   449 Mbits/sec                  sender
[  4]   0.00-10.00  sec   536 MBytes   449 Mbits/sec                  receiver
CPU Utilization: local/sender 2.9% (0.1%u/2.8%s), remote/receiver 10.1% (0.7%u/9.3%s)

As you see, wintun performs 30% better comparison to tap-windows6 and incurs significantly less CPU usage.

--
-Lev