diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-11-01 22:13:13 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-11-01 22:13:13 +0100 |
commit | 59d9c358248bb58200803a375957f9c46412e3a1 (patch) | |
tree | 0383d9315cbe50cc040eea6aac171556c9527d3f | |
parent | ce03082f5b0f87ac5d4027bfabc16668e1b7b964 (diff) |
seperate v4 and v6 links
may be useful for tunneled setups
-rw-r--r-- | src/main.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index 0e7d9b5..be99b4d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -112,8 +112,9 @@ struct Config { records_addr6: Vec<i32>, records_net6: Vec<i32>, prefix_len: u8, - link_wan: String, - link_lan: String, + link_wan4: String, + link_wan6: String, + link_lan6: String, interval4: u64, interval6: u64, } @@ -262,7 +263,7 @@ fn monitor_addr4(config: Arc<Config>, tx: mpsc::Sender<Ipv4Net>) -> Result<()> { let mut ipv4 = None; loop { - let ipv4s = linkaddrs::ipv4_addresses(config.link_wan.clone())?; + let ipv4s = linkaddrs::ipv4_addresses(config.link_wan4.clone())?; for newv4 in ipv4s { if is_ipv4_global(&newv4.addr()) && (ipv4.is_none() || ipv4.unwrap() != newv4) { @@ -287,7 +288,7 @@ fn monitor_addr6(config: Arc<Config>, tx: mpsc::Sender<Ipv6Net>) -> Result<()> { let mut ipv6 = None; loop { - let ipv6s = linkaddrs::ipv6_addresses(config.link_wan.clone())?; + let ipv6s = linkaddrs::ipv6_addresses(config.link_wan6.clone())?; for newv6 in ipv6s { if is_ipv6_global(&newv6.addr()) && (ipv6.is_none() || ipv6.unwrap() != newv6) { @@ -312,7 +313,7 @@ fn monitor_net6(config: Arc<Config>, tx: mpsc::Sender<Ipv6Net>) -> Result<()> { let mut ipv6 = None; loop { - let ipv6s = linkaddrs::ipv6_addresses(config.link_lan.clone())?; + let ipv6s = linkaddrs::ipv6_addresses(config.link_lan6.clone())?; for newv6 in ipv6s { // Resize the prefix. |