diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-31 11:13:13 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-31 11:13:13 +0100 |
commit | b023c430700b86782e869eed522bacfd4e919899 (patch) | |
tree | 4c629dfb6ee87a93f802d87418adfef2ce276884 | |
parent | f6a1e24bd1ad5dc1a85719f0571d49442ee83160 (diff) |
implement filtering for IPv6
-rw-r--r-- | src/lib.rs | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -62,6 +62,18 @@ pub fn ipv4_addresses(link: String) -> Result<Vec<Ipv4Addr>> { Ok(addrs) } +pub fn ipv6_addresses(link: String) -> Result<Vec<Ipv6Addr>> { + let addrs = addresses(link)? + .iter() + .filter_map(|addr| match addr { + IpAddr::V4(_) => None, + IpAddr::V6(addr) => Some(*addr), + }) + .collect(); + + Ok(addrs) +} + pub fn all_addresses() -> Result<Vec<IpAddr>> { let rt = Runtime::new()?; |