LinkCarrierState carrier_state;
LinkAddressState ipv4_address_state, ipv6_address_state, address_state;
_cleanup_strv_free_ char **p = NULL;
- uint8_t ipv4_scope = RT_SCOPE_NOWHERE, ipv6_scope = RT_SCOPE_NOWHERE, scope;
+ uint8_t ipv4_scope = RT_SCOPE_NOWHERE, ipv6_scope = RT_SCOPE_NOWHERE;
bool changed = false;
Address *address;
if (!address_is_ready(address))
continue;
- if (address->family == AF_INET && address->scope < ipv4_scope)
- ipv4_scope = address->scope;
+ if (address->family == AF_INET)
+ ipv4_scope = MIN(ipv4_scope, address->scope);
- if (address->family == AF_INET6 && address->scope < ipv6_scope)
- ipv6_scope = address->scope;
+ if (address->family == AF_INET6)
+ ipv6_scope = MIN(ipv6_scope, address->scope);
}
/* for operstate we also take foreign addresses into account */
if (!address_is_ready(address))
continue;
- if (address->family == AF_INET && address->scope < ipv4_scope)
- ipv4_scope = address->scope;
+ if (address->family == AF_INET)
+ ipv4_scope = MIN(ipv4_scope, address->scope);
- if (address->family == AF_INET6 && address->scope < ipv6_scope)
- ipv6_scope = address->scope;
+ if (address->family == AF_INET6)
+ ipv6_scope = MIN(ipv6_scope, address->scope);
}
ipv4_address_state = address_state_from_scope(ipv4_scope);
ipv6_address_state = address_state_from_scope(ipv6_scope);
-
- scope = MIN(ipv4_scope, ipv6_scope);
- address_state = address_state_from_scope(scope);
+ address_state = address_state_from_scope(MIN(ipv4_scope, ipv6_scope));
/* Mapping of address and carrier state vs operational state
* carrier state
if (link->flags & IFF_LOOPBACK)
continue;
- if (link->operstate > operstate)
- operstate = link->operstate;
-
- if (link->carrier_state > carrier_state)
- carrier_state = link->carrier_state;
-
- if (link->address_state > address_state)
- address_state = link->address_state;
-
- if (link->ipv4_address_state > ipv4_address_state)
- ipv4_address_state = link->ipv4_address_state;
-
- if (link->ipv6_address_state > ipv6_address_state)
- ipv6_address_state = link->ipv6_address_state;
+ operstate = MAX(operstate, link->operstate);
+ carrier_state = MAX(carrier_state, link->carrier_state);
+ address_state = MAX(address_state, link->address_state);
+ ipv4_address_state = MAX(ipv4_address_state, link->ipv4_address_state);
+ ipv6_address_state = MAX(ipv6_address_state, link->ipv6_address_state);
if (!link->network)
continue;