1use ftth_rtnl::RtnlClient;
2
3
4fn main() -> std::io::Result<()> {
5 let client = RtnlClient::new();
6 let link_client = client.link();
7 let addr_client = client.address();
8 let ifs = link_client.interface_list()?;
9 for interface in ifs {
10 println!("Interface: {} ({})", &interface.if_name, interface.if_id);
11 let if_id = interface.if_id;
12 let mac = link_client.mac_addr_get(if_id)?;
13 if let Some(mac) = mac {
14 println!(" MAC address: {}", mac);
15 } else {
16 println!(" No MAC address");
17 }
18 let v4addrs = addr_client.ipv4_addrs_get(Some(if_id))?;
19 println!(" IPv4 addresses:");
20 for addr in v4addrs {
21 println!(" {}", addr);
22 }
23 let v6addrs = addr_client.ipv6_addrs_get(Some(if_id))?;
24 println!(" IPv6 addresses:");
25 for addr in v6addrs {
26 println!(" {}", addr);
27 }
28 println!("");
29 }
30 Ok(())
31}