From e375dcde7202d5df4e29f5258e0f8c2bcea4535c Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Mon, 19 May 2014 20:44:21 +0200 Subject: networkd/sd-network: extend operational states Expose states 'degraded' or 'routable' if a link has a site/link-local or a routable address, respectively. --- src/network/networkd.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/network/networkd.h') diff --git a/src/network/networkd.h b/src/network/networkd.h index 46ed2ac66f..cfe24f5702 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -212,6 +212,16 @@ typedef enum LinkState { _LINK_STATE_INVALID = -1 } LinkState; +typedef enum LinkOperationalState { + LINK_OPERSTATE_UNKNOWN, + LINK_OPERSTATE_DORMANT, + LINK_OPERSTATE_CARRIER, + LINK_OPERSTATE_DEGRADED, + LINK_OPERSTATE_ROUTABLE, + _LINK_OPERSTATE_MAX, + _LINK_OPERSTATE_INVALID = -1 +} LinkOperationalState; + struct Link { Manager *manager; @@ -224,11 +234,12 @@ struct Link { struct udev_device *udev_device; unsigned flags; - uint8_t operstate; + uint8_t kernel_operstate; Network *network; LinkState state; + LinkOperationalState operstate; unsigned addr_messages; unsigned route_messages; @@ -423,6 +434,9 @@ bool link_has_carrier(unsigned flags, uint8_t operstate); const char* link_state_to_string(LinkState s) _const_; LinkState link_state_from_string(const char *s) _pure_; +const char* link_operstate_to_string(LinkOperationalState s) _const_; +LinkOperationalState link_operstate_from_string(const char *s) _pure_; + DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_unref); #define _cleanup_link_unref_ _cleanup_(link_unrefp) -- cgit v1.2.3-54-g00ecf