chiark / gitweb /
core: provide /dev/ptmx as symlink in PrivateDevices= execution environments
[elogind.git] / src / network / networkd-link.c
index 04a2f8ccbe2c151db0ab3ae7e9972bd524e713fc..6e6fb8393e97ffca32d5b67418439e678c8c7bcd 100644 (file)
@@ -75,12 +75,12 @@ static int link_new(Manager *manager, sd_rtnl_message *message, Link **ret) {
         if (!link->ifname)
                 return -ENOMEM;
 
-        r = asprintf(&link->state_file, "/run/systemd/network/links/%"PRIu64,
+        r = asprintf(&link->state_file, "/run/systemd/netif/links/%"PRIu64,
                      link->ifindex);
         if (r < 0)
                 return -ENOMEM;
 
-        r = asprintf(&link->lease_file, "/run/systemd/network/leases/%"PRIu64,
+        r = asprintf(&link->lease_file, "/run/systemd/netif/leases/%"PRIu64,
                      link->ifindex);
         if (r < 0)
                 return -ENOMEM;
@@ -1809,12 +1809,17 @@ int link_rtnl_process_address(sd_rtnl *rtnl, sd_rtnl_message *message, void *use
                 LIST_PREPEND(addresses, link->addresses, address);
                 address = NULL;
 
+                link_save(link);
+
                 break;
         case RTM_DELADDR:
-                if (address_dropped)
+                if (address_dropped) {
                         log_debug_link(link, "removed address: %s/%u", buf,
                                       address->prefixlen);
 
+                        link_save(link);
+                }
+
                 break;
         default:
                 assert_not_reached("Received invalid RTNL message type");