macos-tun-tap

Crates.iomacos-tun-tap
lib.rsmacos-tun-tap
version0.1.2
sourcesrc
created_at2021-09-29 14:28:40.542466
updated_at2021-09-29 14:28:40.542466
descriptionTUN/TAP interface wrapper
homepage
repositoryhttps://github.com/attriaayush/tuntap
max_upload_size
id458117
size65,401
Aayush Attri (attriaayush)

documentation

https://docs.rs/tun-tap

README

TunTap

Travis Build Status

TUN/TAP wrapper for Rust.

The TUN/TAP allows implementing a virtual network adapter in userspace. This provides the bindings for Rust.

Create an Iface object and send or recv packets. Making some sense of the packets is, however, out of scope, you need something else for that.

There's documentation and some examples.

Known issues

  • Tested only on MacOS. Probably doesn't work anywhere else, but pull requests adding support for other OSes are welcome.
  • The asynchronous interface is very minimal and probably inefficient. It'll need to be extended to allow more flexible or efficient use.

Testing

In order to run the tests correctly, a tun10 device with 10.10.10.1/24 needs to be created first. You can simply run:

sh tests/setup.sh

To remove it:

sh tests/clean.sh

Sudo permission is required.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 27

cargo fmt