networkd: address - introduce address_is_ready()
Checks that a given address is not tentative nor deprecated.
This commit is contained in:
@@ -738,3 +738,9 @@ int config_parse_label(const char *unit,
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool address_is_ready(const Address *a) {
|
||||
assert(a);
|
||||
|
||||
return !(a->flags & (IFA_F_TENTATIVE | IFA_F_DEPRECATED));
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ int address_configure(Address *address, Link *link, sd_netlink_message_handler_t
|
||||
int address_update(Address *address, Link *link, sd_netlink_message_handler_t callback);
|
||||
int address_remove(Address *address, Link *link, sd_netlink_message_handler_t callback);
|
||||
bool address_equal(Address *a1, Address *a2);
|
||||
bool address_is_ready(const Address *a);
|
||||
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(Address*, address_free);
|
||||
#define _cleanup_address_free_ _cleanup_(address_freep)
|
||||
|
||||
@@ -2275,7 +2275,7 @@ static void link_update_operstate(Link *link) {
|
||||
|
||||
/* if we have carrier, check what addresses we have */
|
||||
SET_FOREACH(address, link->addresses, i) {
|
||||
if (address->flags & (IFA_F_TENTATIVE | IFA_F_DEPRECATED))
|
||||
if (!address_is_ready(address))
|
||||
continue;
|
||||
|
||||
if (address->scope < scope)
|
||||
|
||||
Reference in New Issue
Block a user