1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00

network: shorten code a bit

This commit is contained in:
Yu Watanabe 2021-04-14 22:13:46 +09:00
parent 6634a39469
commit 90afec1834
2 changed files with 15 additions and 26 deletions

View File

@ -182,7 +182,7 @@ void link_update_operstate(Link *link, bool also_update_master) {
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;
@ -215,11 +215,11 @@ void link_update_operstate(Link *link, bool also_update_master) {
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 */
@ -227,18 +227,16 @@ void link_update_operstate(Link *link, bool also_update_master) {
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

View File

@ -125,20 +125,11 @@ int manager_save(Manager *m) {
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;