From cb075bfc16034bd12d7b9c6394586080d7d0d5f2 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Wed, 7 Apr 2021 01:32:04 +0200 Subject: [PATCH] dhcp: handle NAK packets --- src/socket/dhcpv4.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/socket/dhcpv4.rs b/src/socket/dhcpv4.rs index 8137ff6..fa26e96 100644 --- a/src/socket/dhcpv4.rs +++ b/src/socket/dhcpv4.rs @@ -206,6 +206,9 @@ impl Dhcpv4Socket { }); } } + (ClientState::Requesting(_), DhcpMessageType::Nak) => { + self.reset(); + } (ClientState::Renewing(state), DhcpMessageType::Ack) => { if let Some((config, renew_at, expires_at)) = Self::parse_ack(now, ip_repr, &dhcp_repr) { state.renew_at = renew_at; @@ -216,6 +219,9 @@ impl Dhcpv4Socket { } } } + (ClientState::Renewing(_), DhcpMessageType::Nak) => { + self.reset(); + } _ => { net_debug!("DHCP ignoring {:?}: unexpected in current state", dhcp_repr.message_type); }