3个版本
0.0.4 | 2024年2月29日 |
---|---|
0.0.3 |
|
0.0.2 |
|
#809 在 网络编程
每月下载量:102
42KB
781 代码行
Ethernet Info
该包提供了一种获取接口链路信息的方法,包括端口类型、支持的模式。由于该包基于ioctl命令,因此只能在Linux上使用。
示例
列出所有接口的ethtool相关信息。
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());
}
获取指定接口的ethtool相关信息。
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());
}
通过EthernetInfo获取指定接口的ethtool相关信息。
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());
}
测试
此包依赖于硬件,某些测试可能无法在所有机器上通过。请自行更改测试选项。
依赖关系
~2.5MB
~54K SLoC