chiark / gitweb /
sd-network: split the operstate 'unknown' into 'down' and 'up'
authorTom Gundersen <teg@jklm.no>
Tue, 12 Aug 2014 18:00:34 +0000 (20:00 +0200)
committerTom Gundersen <teg@jklm.no>
Tue, 12 Aug 2014 18:42:59 +0000 (20:42 +0200)
src/network/networkd-link.c
src/network/networkd-link.h
src/network/networkd-manager.c
src/systemd/sd-network.h

index a62bdf9fa00a5e60c8728f798100ee5f57ecd978..6a5fe59d49d4e9673a6be203ea6899ce097082a5 100644 (file)
@@ -1656,8 +1656,10 @@ static void link_update_operstate(Link *link) {
                 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) {
@@ -1791,7 +1793,8 @@ static const char* const link_state_table[_LINK_STATE_MAX] = {
 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",
index 1e64e12e8c218ad6e6eec05d7e762d0602c3d2aa..144c7c403f39b7cc6b6ef24271fb13b313358bf3 100644 (file)
@@ -37,7 +37,8 @@ typedef enum LinkState {
 } LinkState;
 
 typedef enum LinkOperationalState {
-        LINK_OPERSTATE_UNKNOWN,
+        LINK_OPERSTATE_DOWN,
+        LINK_OPERSTATE_UP,
         LINK_OPERSTATE_DORMANT,
         LINK_OPERSTATE_CARRIER,
         LINK_OPERSTATE_DEGRADED,
index 586842eefcd7731b12e3f6f8d70a8653d5a14310..ff6c71db35e81ffc6690e0c457e603c5579878f8 100644 (file)
@@ -456,7 +456,7 @@ int manager_save(Manager *m) {
         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;
 
index 44c4e97447c64aff79bc06ff6e2a044f317aabad..14373c7c965dc8c8181847a48d853888ecf61943 100644 (file)
@@ -50,7 +50,7 @@
 _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
  */