else
/* no useful addresses found */
link->operstate = LINK_OPERSTATE_CARRIER;
- } else
- link->operstate = LINK_OPERSTATE_UNKNOWN;
+ } else if (link->flags & IFF_UP)
+ link->operstate = LINK_OPERSTATE_UP;
+ else
+ link->operstate = LINK_OPERSTATE_DOWN;
}
int link_save(Link *link) {
DEFINE_STRING_TABLE_LOOKUP(link_state, LinkState);
static const char* const link_operstate_table[_LINK_OPERSTATE_MAX] = {
- [LINK_OPERSTATE_UNKNOWN] = "unknown",
+ [LINK_OPERSTATE_DOWN] = "down",
+ [LINK_OPERSTATE_UP] = "up",
[LINK_OPERSTATE_DORMANT] = "dormant",
[LINK_OPERSTATE_CARRIER] = "carrier",
[LINK_OPERSTATE_DEGRADED] = "degraded",
Iterator i;
_cleanup_free_ char *temp_path = NULL;
_cleanup_fclose_ FILE *f = NULL;
- LinkOperationalState operstate = LINK_OPERSTATE_UNKNOWN;
+ LinkOperationalState operstate = LINK_OPERSTATE_DOWN;
const char *operstate_str;
int r;
_SD_BEGIN_DECLARATIONS;
/* Get overall operational state
- * Possible states: unknown, dormant, carrier, degraded, routable
+ * Possible states: down, up, dormant, carrier, degraded, routable
* Possible return codes:
* -ENODATA: networkd is not aware of any links
*/