network: shorten code a bit

Currently, there exist only two MTU sources, static and DHCPv4, and they
are exclusive. Hence, it is not necessary to check the existence of the
MTU option in the acquired DHCP lease. Let's unconditionally reset the
MTU. Note that, if the current and original MTU are equivalent, then
link_request_to_set_mtu() handles that gracefully.
This commit is contained in:
Yu Watanabe
2022-03-31 09:29:42 +09:00
parent b732606950
commit da94a69b8d
+1 -11
View File
@@ -735,7 +735,6 @@ static int dhcp4_request_routes(Link *link) {
}
static int dhcp_reset_mtu(Link *link) {
uint16_t mtu;
int r;
assert(link);
@@ -743,18 +742,9 @@ static int dhcp_reset_mtu(Link *link) {
if (!link->network->dhcp_use_mtu)
return 0;
r = sd_dhcp_lease_get_mtu(link->dhcp_lease, &mtu);
if (r == -ENODATA)
return 0;
if (r < 0)
return log_link_error_errno(link, r, "DHCP error: failed to get MTU from lease: %m");
if (link->original_mtu == mtu)
return 0;
r = link_request_to_set_mtu(link, link->original_mtu);
if (r < 0)
return log_link_error_errno(link, r, "DHCP error: could not reset MTU: %m");
return log_link_error_errno(link, r, "DHCP error: Could not queue request to reset MTU: %m");
return 0;
}