From: Yu Watanabe Date: Mon, 24 Jul 2023 18:26:31 +0000 (+0900) Subject: network/dhcp4: honor received broadcast address X-Git-Tag: v255-rc1~900^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a49cf370ac97ad6f5439968842f345c87bdc32a2;p=thirdparty%2Fsystemd.git network/dhcp4: honor received broadcast address --- diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c index b907f344fd2..2622dddadb0 100644 --- a/src/network/networkd-dhcp4.c +++ b/src/network/networkd-dhcp4.c @@ -872,6 +872,9 @@ static int dhcp4_request_address(Link *link, bool announce) { addr->lifetime_preferred_usec = lifetime_usec; addr->lifetime_valid_usec = lifetime_usec; addr->prefixlen = prefixlen; + r = sd_dhcp_lease_get_broadcast(link->dhcp_lease, &addr->broadcast); + if (r < 0 && r != -ENODATA) + return log_link_warning_errno(link, r, "DHCP: failed to get broadcast address: %m"); address_set_broadcast(addr, link); SET_FLAG(addr->flags, IFA_F_NOPREFIXROUTE, !link_prefixroute(link)); addr->route_metric = link->network->dhcp_route_metric;