It will be called later in link_request_address().
}
}
-int address_get_broadcast(const Address *a, Link *link, struct in_addr *ret) {
+static int address_get_broadcast(const Address *a, Link *link, struct in_addr *ret) {
struct in_addr b_addr = {};
assert(a);
return in4_addr_is_set(&b_addr);
}
+static void address_set_broadcast(Address *a, Link *link) {
+ assert(a);
+ assert_se(address_get_broadcast(a, link, &a->broadcast) >= 0);
+}
+
static void address_set_cinfo(Manager *m, const Address *a, struct ifa_cacheinfo *cinfo) {
usec_t now_usec;
int address_dup(const Address *src, Address **ret);
bool address_is_ready(const Address *a);
bool link_check_addresses_ready(Link *link, NetworkConfigSource source);
-int address_get_broadcast(const Address *a, Link *link, struct in_addr *ret);
-static inline void address_set_broadcast(Address *a, Link *link) {
- assert(a);
- assert_se(address_get_broadcast(a, link, &a->broadcast) >= 0);
-}
DEFINE_SECTION_CLEANUP_FUNCTIONS(Address, address_free);
address->family = AF_INET;
address->in_addr.in = link->network->dhcp_server_address;
address->prefixlen = link->network->dhcp_server_address_prefixlen;
- address_set_broadcast(address, link);
if (address_get_harder(link, address, &existing) >= 0 &&
(address_exists(existing) || address_is_requesting(existing)) &&
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;
addr->duplicate_address_detection = link->network->dhcp_send_decline ? ADDRESS_FAMILY_IPV4 : ADDRESS_FAMILY_NO;
address->prefixlen = 16;
address->scope = RT_SCOPE_LINK;
address->route_metric = IPV4LL_ROUTE_METRIC;
- address_set_broadcast(address, link);
*ret = TAKE_PTR(address);
return 0;