aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-11-13 14:45:26 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-11-13 14:45:26 +0100
commite096a3be05c484935594d84ae10d372d9bfe7738 (patch)
treea236bfb615bc62fd431491194e3970d3766b4272
parente53701c6a8b2d9d7a8c5ced2123829efc4447cb6 (diff)
rebind socket every time the link comes up
-rw-r--r--src/main.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index d870de8..59a0cd9 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -142,8 +142,6 @@ async fn main() -> Result<()> {
let sock: UdpSocket = sock.try_into()?;
- sock.bind_device(Some("ppp0".as_bytes()))?;
-
let mut buf = [0; 1500];
loop {
tokio::select! {
@@ -153,10 +151,14 @@ async fn main() -> Result<()> {
match read_ds_config() {
Some(ds_config) if ds_config.v6.is_some() => {
println!("[info] <> ipv6 link up");
+
+ sock.bind_device(Some("ppp0".as_bytes()))?;
dhcp6c.up();
}
_ => {
println!("[info] <> ipv6 link down");
+
+ sock.bind_device(None)?;
dhcp6c.down();
}
}