27 releases
0.4.5 | Nov 19, 2024 |
---|---|
0.4.4 | Jun 13, 2024 |
0.4.3 | May 15, 2024 |
0.4.2 | Mar 8, 2024 |
0.2.0 | Oct 18, 2022 |
#866 in Network programming
1,044 downloads per month
Used in 5 crates
81KB
2K
SLoC
Net Route
This project aims to provide a high level interface for manipulating and observing the routing table on a variety of platforms.
lib.rs
:
This project aims to provide a high level interface for manipulating and observing the routing table on a variety of platforms.
Examples
Adding a route
// route traffic destined for 10.14.0.0/24 to 192.1.2.1 using interface 9
let handle = Handle::new()?;
let route = Route::new("10.14.0.0".parse().unwrap(), 24)
.with_ifindex(9)
.with_gateway("192.1.2.1".parse().unwrap());
handle.add(&route).await
Listening to changes in the routing table
let handle = Handle::new()?;
let stream = handle.route_listen_stream();
futures::pin_mut!(stream);
while let Some(event) = stream.next().await {
println!("{:?}", event);
}
Dependencies
~3–16MB
~201K SLoC