libasiotap provides a portable C++ TAP adapter extension for the Boost::ASIO library.
It is mainly based on boost::asio.
The library can deal with any TAP adapter device that has the same interface as OpenVPN's one (commonly called "tap0901").
The source code for such a TAP adapter as well as the source code for a tool to install/remove a TAP adapter is provided.
All code is licensed under the GPLv3. See gpl-3.0.txt.
If you are interested in using this project under a different license, please contact me. I don't bite and I probably won't charge (at least, not much).
Yes, it does. And here it is.
You may also find the git repository on github.