A crate to return the name and maximum transmission unit (MTU) of the local network interface
towards a given destination SocketAddr
, optionally from a given local SocketAddr
.
This crate exports a single function interface_and_mtu
that returns the name and
maximum transmission unit (MTU)
of the outgoing network interface towards a remote destination identified by an IpAddr
.
let destination = IpAddr::V4(Ipv4Addr::LOCALHOST);
let (name, mtu): (String, usize) = mtu::interface_and_mtu(destination).unwrap();
println!("MTU towards {destination} is {mtu} on {name}");
- Linux
- macOS
- Windows
- FreeBSD
- NetBSD
- OpenBSD
The returned MTU may exceed the maximum IP packet size of 65,535 bytes on some platforms for some remote destinations. (For example, loopback destinations on Windows.)
The returned interface name is obtained from the operating system.
We're happy to receive PRs that improve this crate. Please take a look at our community guidelines beforehand.
License: MIT OR Apache-2.0