Comments (5)
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.
from rust-tun.
Also ability to split Read and Write parts and send one to another thread would be nice, to allow mio
-less full duplex mode.
from rust-tun.
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.
from rust-tun.
Now I use a hack to get multi-threadable tun: let dev_copy = unsafe { ::std::fs::File::from_raw_fd(dev.as_raw_fd()) };
from rust-tun.
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.
from rust-tun.
Related Issues (20)
- Socket operation on non-socket HOT 1
- macos HOT 1
- Framed send fails with "Socket operation on non-socket" HOT 3
- Drop Fd crash in Android 11 HOT 1
- Nothing happening on macOS HOT 2
- Use library with default gateway
- Could you elaborate on what routing needs to be done for MacOs? HOT 14
- Where is the tun tap frame? HOT 1
- Build error on windows HOT 1
- GRO/GSO on Linux HOT 1
- macOS tun ip cannot be listened by the application
- The synchronous `write` does not work HOT 1
- when change ip addr to new ip addr, but subnet broadcast address no change, in macos m1 HOT 1
- Windows support can be achieved in this fork
- Add serde pls HOT 1
- Help with multithreading, read and write. HOT 2
- Add support to construct `TunPacket` from `Bytes` directly. HOT 1
- Enable TCP Segmentation Offload (TSO)
- Memory leak on windows HOT 11
- add split api?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-tun.