From: Yu Watanabe Date: Tue, 9 Apr 2024 02:05:24 +0000 (+0900) Subject: network/dhcp-pd: split out dhcp_pd_request_address_one() X-Git-Tag: v256-rc1~233^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b03565bc179721458e43460e0f2446fb22f8849f;p=thirdparty%2Fsystemd.git network/dhcp-pd: split out dhcp_pd_request_address_one() No functional change. Preparation for later commit. --- diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c index 61295d9ce64..3ae62b51cab 100644 --- a/src/network/networkd-dhcp-prefix-delegation.c +++ b/src/network/networkd-dhcp-prefix-delegation.c @@ -353,6 +353,22 @@ static void log_dhcp_pd_address(Link *link, const Address *address) { FORMAT_LIFETIME(address->lifetime_preferred_usec)); } +static int dhcp_pd_request_address_one(Address *address, Link *link) { + Address *existing; + + assert(address); + assert(link); + + log_dhcp_pd_address(link, address); + + if (address_get(link, address, &existing) < 0) + link->dhcp_pd_configured = false; + else + address_unmark(existing); + + return link_request_address(link, address, &link->dhcp_pd_messages, dhcp_pd_address_handler, NULL); +} + static int dhcp_pd_request_address( Link *link, const struct in6_addr *prefix, @@ -376,7 +392,6 @@ static int dhcp_pd_request_address( SET_FOREACH(a, addresses) { _cleanup_(address_unrefp) Address *address = NULL; - Address *existing; r = address_new(&address); if (r < 0) @@ -391,19 +406,11 @@ static int dhcp_pd_request_address( SET_FLAG(address->flags, IFA_F_MANAGETEMPADDR, link->network->dhcp_pd_manage_temporary_address); address->route_metric = link->network->dhcp_pd_route_metric; - log_dhcp_pd_address(link, address); - r = free_and_strdup_warn(&address->netlabel, link->network->dhcp_pd_netlabel); if (r < 0) return r; - if (address_get(link, address, &existing) < 0) - link->dhcp_pd_configured = false; - else - address_unmark(existing); - - r = link_request_address(link, address, &link->dhcp_pd_messages, - dhcp_pd_address_handler, NULL); + r = dhcp_pd_request_address_one(address, link); if (r < 0) return log_link_error_errno(link, r, "Failed to request DHCP delegated prefix address: %m"); }