Closed vi closed 7 years ago
I know, I wasn't done yet with other stuff, that's why I haven't published yet, sadly I haven't had time to work on it in the past few weeks.
Was going to add documentation and I was considering separating the interface handling stuff into a separate crate since all those bindings and wrappers for ioctls could be used on any other interface.
I can publish a 0.1.1 tomorrow if you need it, but stuff is probably going to change.
Also ability to split Read and Write parts and send one to another thread would be nice, to allow mio
-less full duplex mode.
Yeah that's also in the works, I just have to figure out the best way to go about it, since I also want to create a tap
crate with an interface similar to this one, which means common traits between the two.
Just need to figure out how to split out the interface related stuff and the file descriptor related stuff so there's no pain adding support for more platforms.
Now I use a hack to get multi-threadable tun: let dev_copy = unsafe { ::std::fs::File::from_raw_fd(dev.as_raw_fd()) };
Alright, there's tun::platform::Device::split()
on Linux, and other configuration stuff, one change I needed and can't figure out how to make better is that IFF_NO_PI
is not set now, but you can't change that flag after creating the device, so gotta figure out something to make that flag optional.
So device enabling doesn't work with the version 0.1.
There should be 0.1.1 with the device enabling.