<div dir="ltr"><div><div><div>Hello,<br></div>could you please binaries (as possible with charon-cmd) and tun/tap driver.<br></div>I really want to test it.<br><br></div>Cheers,<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 30 September 2016 at 02:03, Noel Kuntze <span dir="ltr"><<a href="mailto:noel@familie-kuntze.de" target="_blank">noel@familie-kuntze.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello list,<br>
<br>
I implemented support for the TAP-Windows6 driver, which is used by openvpn to support<br>
Windows.<br>
I developed it on top of commit 1dabd0fb1cfdb5b3381d45a39a7cb1<wbr>34651b72a9.<br>
<br>
The diff attached to this email contains the following:<br>
*support to manage IPs with kernel-iph on top of Martin Willi's branch win-vip.<br>
 It contains changes to honor charon.install_virtual_ip and charon.install_virtual_ip_on.<br>
*changes to kernel-libipsec and libipsec to work on Windows correctly<br>
 handle_plain is implemented with asynchronous IO on top of WaitForMultipleObjects() and events.<br>
*support to open and configure TAP devices on Windows in libstrongswan<br>
*IPv4 and IPv6 support<br>
<br>
My changes are under the MIT-X11 license where required. The repo "strongswan" on my Github account[1]<br>
contains all the required changes.<br>
<br>
The performance of the driver is limited to 60 Mbit/s. The TAP-Windows6 driver is known to be quite slow,<br>
so I do not think that is an issue that can be fixed by changes to my code. You might reach higher speeds<br>
if you use a faster test environment than me.<br>
My test environment is a host with the Intel(R) Core(TM) i7-3820 CPU CPU with four cores at 3.60 GHz.<br>
Windows ran in a VirtualBox VM with 3 cores. The test was performed using iperf3 over a tunnel with 60 seconds.<br>
The server was on the VM host. The client was on the VM guest.<br>
In my test, about 90% of the CPU was maxed out.<br>
<br>
To make use of the TAP-Windows6 driver, it needs to be patched with the changes that can be found in the<br>
fork on my Github account[2]. It implements an option to disable the ARP source check in the ARP<br>
handling code of the driver. The patch is already known by OpenVPN Tech, which developed and maintains the driver, and should be applied in the next months.<br>
It is tracked under #721 on the openvpn bug tracker[3]. The TAP-Windows6 support that I implemented does<br>
not work without it. It theoretically could, but that requires that the driver handles ARP requests for all<br>
IP addresses that the Windows host tries to reach over it and fills up the neighbor table.<br>
<br>
Please take a look at it and tell me what is required to get this merged into the master branch of strongSwan.<br>
<br>
[1] <a href="https://github.com/Thermi/strongswan" rel="noreferrer" target="_blank">https://github.com/Thermi/<wbr>strongswan</a><br>
[2] <a href="https://github.com/Thermi/tap-windows6" rel="noreferrer" target="_blank">https://github.com/Thermi/tap-<wbr>windows6</a><br>
[3] <a href="https://community.openvpn.net/openvpn/ticket/721" rel="noreferrer" target="_blank">https://community.openvpn.net/<wbr>openvpn/ticket/721</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
<br>
Mit freundlichen Grüßen/Kind Regards,<br>
Noel Kuntze<br>
<br>
GPG Key ID: 0x63EC6658<br>
Fingerprint: 23CA BB60 2146 05E7 7278 6592 3839 298F 63EC 6658<br>
<br>
</font></span><br>______________________________<wbr>_________________<br>
Dev mailing list<br>
<a href="mailto:Dev@lists.strongswan.org">Dev@lists.strongswan.org</a><br>
<a href="https://lists.strongswan.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">https://lists.strongswan.org/<wbr>mailman/listinfo/dev</a><br></blockquote></div><br></div>