26 releases
0.4.4 | Jun 13, 2024 |
---|---|
0.4.2 | Mar 8, 2024 |
0.2.8 | Nov 4, 2023 |
0.2.5 | Dec 21, 2022 |
0.2.0 | Oct 18, 2022 |
#1233 in Network programming
601 downloads per month
Used in 4 crates
79KB
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
~4–15MB
~179K SLoC