OpenVPN has been transplanted into the kernel, so there are too many TODO tasks. openvpntodo
It took two days and one night to port the OpenVPN data channel to the Linux kernel. Today, I got sick and didn't go to work. In the evening, I just concluded that there were too many things in TODO, and at the end of the year, there were too many things in the company's home, it may not take much time for me to do so. When I get home, I should leave all the time to my lovely little girl. The time on the road should be left to the thick GEB... in short, there is no time to toss the VPN.
The OpenVPN kernel version leaves a pile of TODO, as a reserve, and can be improved when it is actually used. The TODO list is as follows:
1. event interface between OpenVPN process and Kernel
This event interface is really important, because keepalive/ping-restart... must be used. The kernel needs to maintain a traffic counter for a multi_instance and keep the time of the last packet received. In this way, the user State can be queried according to the timer settings, triggering ping-restart...
2. Optimized Control Channels
The data channel is no longer processed by the OpenVPN process. The OpenVPN process is completely left to the control channel, so you can do more things. disassociation is an art that will bring pleasure.
3. the kernel state requires a powerful and common EVP operation set similar to OpenSSL.
I was going to refer to PolarSSL. That is to say, some of the PolarSSL interfaces are re-implemented in the kernel. I don't think it will take much time, but is there no time after all .. 1000 yuan is not much, but it is not.
4. Can short-circuit operations be shorter?
I used an ioctl command to LINK a UDP socket with a tun NIC (transient together). This is a real short circuit and completely bypasses the huge resistance of OpenVPN !! But can they all be shorter?
5. TODO
...
I suddenly felt that the "undead Overture" was very nice, especially the death metal version. Should I fight two World of Warcraft...