From a24d0d95df1929912c0f767f5ab1353552464c84 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Fri, 30 Nov 2018 15:54:45 -0800
Subject: [PATCH 1/3] networkd: Track address configuration

This will be useful to assert that our static route configuration always
happens after address configuration once our individual configure state
goes away.

(cherry picked from commit c42ff3a1a7bfea66dc4655096c79bd481159091b)

Upstream-Status: Backport
---
 src/network/networkd-link.c | 11 +++++++++--
 src/network/networkd-link.h |  2 ++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index 4afcf843bd..0faf337069 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -728,6 +728,9 @@ void link_check_ready(Link *link) {
         if (!link->network)
                 return;
 
+        if (!link->addresses_configured)
+                return;
+
         if (!link->static_routes_configured)
                 return;
 
@@ -835,6 +838,8 @@ static int link_enter_set_routes(Link *link) {
 
         assert(link);
         assert(link->network);
+        assert(link->addresses_configured);
+        assert(link->address_messages == 0);
         assert(link->state == LINK_STATE_SETTING_ADDRESSES);
 
         (void) link_set_routing_policy_rule(link);
@@ -904,6 +909,7 @@ static int address_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userda
 
         if (link->address_messages == 0) {
                 log_link_debug(link, "Addresses set");
+                link->addresses_configured = true;
                 link_enter_set_routes(link);
         }
 
@@ -1204,9 +1210,10 @@ static int link_enter_set_addresses(Link *link) {
                 log_link_debug(link, "Offering DHCPv4 leases");
         }
 
-        if (link->address_messages == 0)
+        if (link->address_messages == 0) {
+                link->addresses_configured = true;
                 link_enter_set_routes(link);
-        else
+        } else
                 log_link_debug(link, "Setting addresses");
 
         return 0;
diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h
index 7e22dfd504..2f37cc1598 100644
--- a/src/network/networkd-link.h
+++ b/src/network/networkd-link.h
@@ -80,6 +80,8 @@ typedef struct Link {
         Set *routes;
         Set *routes_foreign;
 
+        bool addresses_configured;
+
         sd_dhcp_client *dhcp_client;
         sd_dhcp_lease *dhcp_lease;
         char *lease_file;
-- 
2.20.1.97.g81188d93c3-goog

