aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-08-24 00:12:32 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-08-24 00:12:32 +0200
commitb3dca8f8356d1a3d3984cfafe5f222b801d075c7 (patch)
treef556c14d19d384979a3fbaebb1948c56c2555377
parent1a31ab992de29428f62ca19cc85135556cd10fc9 (diff)
send rebind instead of renew
-rw-r--r--src/main.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index 6c31ab4..a74da06 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -488,6 +488,8 @@ fn tick(sock: &Socket, state: Arc<Mutex<State>>) -> Result<()> {
Ok(())
}
State::Renew(ref client_id, ref server_id, dst, ref ia_pd, n) => {
+ let dst: SocketAddrV6 = "[ff02::1:2]:547".parse()?;
+
if n >= MAX_ATTEMPTS {
*state = State::Solicit(client_id.clone());
@@ -495,7 +497,7 @@ fn tick(sock: &Socket, state: Arc<Mutex<State>>) -> Result<()> {
return Ok(());
}
- let mut renew = Message::new(MessageType::Renew);
+ let mut renew = Message::new(MessageType::Rebind);
let opts = renew.opts_mut();
opts.insert(DhcpOption::ClientId(client_id.clone()));
@@ -504,7 +506,6 @@ fn tick(sock: &Socket, state: Arc<Mutex<State>>) -> Result<()> {
opts.insert(DhcpOption::ORO(ORO {
opts: vec![OptionCode::AftrName, OptionCode::DomainNameServers],
}));
- opts.insert(DhcpOption::ElapsedTime(3000 * n as u16));
let mut renew_buf = Vec::new();
renew.encode(&mut Encoder::new(&mut renew_buf))?;