Crate ethernet_info

Source
Expand description

The crate provides a way to get the link information of the interface, including the port type, supported modes. The crate is based on the ioctl command, so it can only be used on Linux.

§Examples

List all the interfaces’ ethtool related information.

use ethernet_info::get_ethernet_info;
let interfaces_eth_info = get_ethernet_info(None);
for interface_info in interfaces_eth_info {
    println!("interface: {}", interface_info.name());
    println!("Port: {}", interface_info.port());
    println!("Supported Ports: {:?}", interface_info.ports());
    println!("Supported: {:?}", interface_info.supported());
}

Get the ethtool related information of the specified interface.

use ethernet_info::get_ethernet_info;
let interfaces_eth_info = get_ethernet_info(Some("enp1s0"));
for interface_info in interfaces_eth_info {
    println!("interface: {}", interface_info.name());
    println!("Port: {}", interface_info.port());
    println!("Supported Ports: {:?}", interface_info.ports());
    println!("Supported: {:?}", interface_info.supported());
}

Get the ethtool related of the specified interface by EthernetInfo.

use ethernet_info::EthernetInfo;
if let Ok(interface_info) = EthernetInfo::try_from("enp1s0") {
    println!("interface: {}", interface_info.name());
    println!("Port: {}", interface_info.port());
    println!("Supported Ports: {:?}", interface_info.ports());
    println!("Supported: {:?}", interface_info.supported());
}

Structs§

EthernetInfo
The port information includes the port type, supported modes.
EthtoolError
The error type for this crate.

Functions§

get_ethernet_info
Get the ethtool related information of the interface If devname is None, get all the interfaces’ ethtool related information. If devname is Some(&str), get the specified interface’s ethtool related information.