diff options
author | Tim Schumacher <timschumi@gmx.de> | 2022-05-31 00:04:27 +0200 |
---|---|---|
committer | Ali Mohammad Pur <Ali.mpfard@gmail.com> | 2022-05-31 13:21:19 +0430 |
commit | 808855d763a0b671cb50447f0bc00c6536dbc78d (patch) | |
tree | 1755c97baff3295bfbb7a7ccbb22a3e3df5f18c3 /Userland/Services/DHCPClient/DHCPv4Client.cpp | |
parent | df8df947f64bc3e240c47d81b19476d40b0e2b18 (diff) | |
download | serenity-808855d763a0b671cb50447f0bc00c6536dbc78d.zip |
DHCPClient: Don't reset the interface if its already configured
Resetting the interface just based on the fact that it already has an IP
assigned doesn't make much sense, considering that we frequently end up
here after having configured an interface via DHCP already.
Instead, just keep the part that prevents us from sending DHCP
discoveries to interfaces that shouldn't be using DHCP.
While we are at it, place some of the logging behind a debug flag, as
this function is apparently meant to be run frequently.
This partially reverts commit e14d4482a18f250787cbf64bae596de1f7278d8d.
Diffstat (limited to 'Userland/Services/DHCPClient/DHCPv4Client.cpp')
-rw-r--r-- | Userland/Services/DHCPClient/DHCPv4Client.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/Userland/Services/DHCPClient/DHCPv4Client.cpp b/Userland/Services/DHCPClient/DHCPv4Client.cpp index 6ebd8236ee..ef980bfdb7 100644 --- a/Userland/Services/DHCPClient/DHCPv4Client.cpp +++ b/Userland/Services/DHCPClient/DHCPv4Client.cpp @@ -151,18 +151,15 @@ void DHCPv4Client::try_discover_ifs() if (ifs_result.is_error()) return; - dbgln("Interfaces with DHCP enabled: {}", m_interfaces_with_dhcp_enabled); + dbgln_if(DHCPV4CLIENT_DEBUG, "Interfaces with DHCP enabled: {}", m_interfaces_with_dhcp_enabled); bool sent_discover_request = false; Interfaces& ifs = ifs_result.value(); for (auto& iface : ifs.ready) { - dbgln("Checking interface {} / {}", iface.ifname, iface.current_ip_address); + dbgln_if(DHCPV4CLIENT_DEBUG, "Checking interface {} / {}", iface.ifname, iface.current_ip_address); if (!m_interfaces_with_dhcp_enabled.contains_slow(iface.ifname)) continue; - if (iface.current_ip_address != IPv4Address { 0, 0, 0, 0 }) { - dbgln_if(DHCPV4CLIENT_DEBUG, "Resetting params for {}", iface.ifname); - set_params(iface, IPv4Address { 0, 0, 0, 0 }, IPv4Address { 0, 0, 0, 0 }, {}); - iface.current_ip_address = IPv4Address { 0, 0, 0, 0 }; - } + if (iface.current_ip_address != IPv4Address { 0, 0, 0, 0 }) + continue; dhcp_discover(iface); sent_discover_request = true; |