]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: rename Manager::links -> Manager::links_by_index
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 25 Jun 2021 06:58:30 +0000 (15:58 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Jun 2021 15:49:02 +0000 (00:49 +0900)
This also renames link_get() -> link_get_by_index().

19 files changed:
src/network/networkd-address-pool.c
src/network/networkd-address.c
src/network/networkd-bridge-fdb.c
src/network/networkd-bridge-mdb.c
src/network/networkd-dhcp-server.c
src/network/networkd-dhcp6.c
src/network/networkd-json.c
src/network/networkd-link-bus.c
src/network/networkd-link.c
src/network/networkd-link.h
src/network/networkd-manager-bus.c
src/network/networkd-manager.c
src/network/networkd-manager.h
src/network/networkd-neighbor.c
src/network/networkd-nexthop.c
src/network/networkd-route.c
src/network/networkd-routing-policy-rule.c
src/network/networkd-speed-meter.c
src/network/networkd-state-file.c

index 79a1c1b847de6bbc7d6f6b59c76326ccd6af782b..e1cefbefbddf161e7a01ea761a208ae100625b97 100644 (file)
@@ -95,7 +95,7 @@ static bool address_pool_prefix_is_taken(
         assert(p);
         assert(u);
 
-        HASHMAP_FOREACH(l, p->manager->links) {
+        HASHMAP_FOREACH(l, p->manager->links_by_index) {
                 Address *a;
 
                 /* Don't clash with assigned addresses */
index 04ad2aa69d4beab3dea59e312ba6a76533695bde..2b0967d914fd7212e6e9091382b2ca433b308aff 100644 (file)
@@ -598,7 +598,7 @@ int manager_has_address(Manager *manager, int family, const union in_addr_union
         assert(address);
 
         if (family == AF_INET) {
-                HASHMAP_FOREACH(link, manager->links)
+                HASHMAP_FOREACH(link, manager->links_by_index)
                         if (link_get_ipv4_address(link, &address->in, 0, &a) >= 0)
                                 return !check_ready || address_is_ready(a);
         } else {
@@ -611,7 +611,7 @@ int manager_has_address(Manager *manager, int family, const union in_addr_union
                 tmp->family = family;
                 tmp->in_addr = *address;
 
-                HASHMAP_FOREACH(link, manager->links)
+                HASHMAP_FOREACH(link, manager->links_by_index)
                         if (address_get(link, tmp, &a) >= 0)
                                 return !check_ready || address_is_ready(a);
         }
@@ -1319,7 +1319,7 @@ int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message,
                 return 0;
         }
 
-        r = link_get(m, ifindex, &link);
+        r = link_get_by_index(m, ifindex, &link);
         if (r < 0 || !link) {
                 /* when enumerating we might be out of sync, but we will get the address again, so just
                  * ignore it */
index 115ea5bb14a269a21edecf085c67a26d8a8a4ee6..ab1b766d483c7e08e498e4f06b2a16191475266b 100644 (file)
@@ -228,7 +228,7 @@ static bool bridge_fdb_is_ready_to_configure(BridgeFDB *fdb, Link *link) {
 
                 fdb->outgoing_ifindex = out->ifindex;
         } else if (fdb->outgoing_ifindex > 0) {
-                if (link_get(link->manager, fdb->outgoing_ifindex, &out) < 0)
+                if (link_get_by_index(link->manager, fdb->outgoing_ifindex, &out) < 0)
                         return false;
         }
         if (out && !link_is_ready_to_configure(out, false))
index faf3dbd0b7bfd7c827391c8a107ff33b605788f4..0f808fb515dbcdbab009ce709e4578d935e6ec65 100644 (file)
@@ -249,7 +249,7 @@ static bool bridge_mdb_is_ready_to_configure(Link *link) {
         if (link->master_ifindex != link->network->bridge->ifindex)
                 return false;
 
-        if (link_get(link->manager, link->master_ifindex, &master) < 0)
+        if (link_get_by_index(link->manager, link->master_ifindex, &master) < 0)
                 return false;
 
         if (!streq_ptr(master->kind, "bridge"))
index 8c0cd37f3fa4099e69d3c5237ca67a743d7c59b6..9e2faa56753acd19fc52967847a21b85c1ce4731 100644 (file)
@@ -104,7 +104,7 @@ static int dhcp_server_find_uplink(Link *link, Link **ret) {
                 return link_get_by_name(link->manager, link->network->dhcp_server_uplink_name, ret);
 
         if (link->network->dhcp_server_uplink_index > 0)
-                return link_get(link->manager, link->network->dhcp_server_uplink_index, ret);
+                return link_get_by_index(link->manager, link->network->dhcp_server_uplink_index, ret);
 
         if (link->network->dhcp_server_uplink_index == 0) {
                 /* It is not necessary to propagate error in automatic selection. */
index e2c314514bd5b1cdb685352550b96828cd45ef28..e850e595e374db8a362fcd918ddfdecfbc80f063 100644 (file)
@@ -602,7 +602,7 @@ static void dhcp6_pd_prefix_distribute(Link *dhcp6_link,
         assert(masked_pd_prefix);
         assert(pd_prefix_len <= 64);
 
-        HASHMAP_FOREACH(link, dhcp6_link->manager->links) {
+        HASHMAP_FOREACH(link, dhcp6_link->manager->links_by_index) {
                 _cleanup_free_ char *assigned_buf = NULL;
                 struct in6_addr assigned_prefix;
 
@@ -706,7 +706,7 @@ static void dhcp6_pd_prefix_lost(Link *dhcp6_link) {
         assert(dhcp6_link);
         assert(dhcp6_link->manager);
 
-        HASHMAP_FOREACH(link, dhcp6_link->manager->links) {
+        HASHMAP_FOREACH(link, dhcp6_link->manager->links_by_index) {
                 if (link == dhcp6_link)
                         continue;
 
@@ -954,7 +954,7 @@ static int dhcp6_pd_prefix_acquired(Link *dhcp6_link) {
         assert(dhcp6_link);
         assert(dhcp6_link->dhcp6_lease);
 
-        HASHMAP_FOREACH(link, dhcp6_link->manager->links) {
+        HASHMAP_FOREACH(link, dhcp6_link->manager->links_by_index) {
                 if (link == dhcp6_link)
                         continue;
 
@@ -1024,7 +1024,7 @@ static int dhcp6_pd_prefix_acquired(Link *dhcp6_link) {
                                            false);
         }
 
-        HASHMAP_FOREACH(link, dhcp6_link->manager->links) {
+        HASHMAP_FOREACH(link, dhcp6_link->manager->links_by_index) {
                 if (link == dhcp6_link)
                         continue;
 
@@ -1450,7 +1450,7 @@ int dhcp6_request_prefix_delegation(Link *link) {
 
         log_link_debug(link, "Requesting DHCPv6 prefixes to be delegated for new link");
 
-        HASHMAP_FOREACH(l, link->manager->links) {
+        HASHMAP_FOREACH(l, link->manager->links_by_index) {
                 int r, enabled;
 
                 if (l == link)
@@ -1548,7 +1548,7 @@ static bool dhcp6_enable_prefix_delegation(Link *dhcp6_link) {
         assert(dhcp6_link);
         assert(dhcp6_link->manager);
 
-        HASHMAP_FOREACH(link, dhcp6_link->manager->links) {
+        HASHMAP_FOREACH(link, dhcp6_link->manager->links_by_index) {
                 if (link == dhcp6_link)
                         continue;
 
index c78e653c0b05258bf721430be3b75a3a5647cec3..2bae2f2913d3972f56fb5592a69a9e3ea7cc0293 100644 (file)
@@ -114,11 +114,11 @@ int manager_build_json(Manager *manager, JsonVariant **ret) {
         assert(manager);
         assert(ret);
 
-        elements = new(JsonVariant*, hashmap_size(manager->links));
+        elements = new(JsonVariant*, hashmap_size(manager->links_by_index));
         if (!elements)
                 return -ENOMEM;
 
-        HASHMAP_FOREACH(link, manager->links) {
+        HASHMAP_FOREACH(link, manager->links_by_index) {
                 r = link_build_json(link, elements + n);
                 if (r < 0)
                         goto finalize;
index 50c3f60080452278751d16c7a2fe1551b28a0770..f4e355651744c5ddb9869b784d75aa4d56ffd02e 100644 (file)
@@ -834,11 +834,11 @@ int link_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***
         assert(m);
         assert(nodes);
 
-        l = new0(char*, hashmap_size(m->links) + 1);
+        l = new0(char*, hashmap_size(m->links_by_index) + 1);
         if (!l)
                 return -ENOMEM;
 
-        HASHMAP_FOREACH(link, m->links) {
+        HASHMAP_FOREACH(link, m->links_by_index) {
                 char *p;
 
                 p = link_bus_path(link);
@@ -874,7 +874,7 @@ int link_object_find(sd_bus *bus, const char *path, const char *interface, void
         if (ifindex < 0)
                 return 0;
 
-        r = link_get(m, ifindex, &link);
+        r = link_get_by_index(m, ifindex, &link);
         if (r < 0)
                 return 0;
 
index c98f684bfd7d2721fc6974b1f0ac391920b45ef1..c3be8aa5c207d5182d198648f818edc86bc74f10 100644 (file)
@@ -274,13 +274,13 @@ static Link *link_free(Link *link) {
 
 DEFINE_TRIVIAL_REF_UNREF_FUNC(Link, link, link_free);
 
-int link_get(Manager *m, int ifindex, Link **ret) {
+int link_get_by_index(Manager *m, int ifindex, Link **ret) {
         Link *link;
 
         assert(m);
         assert(ifindex > 0);
 
-        link = hashmap_get(m->links, INT_TO_PTR(ifindex));
+        link = hashmap_get(m->links_by_index, INT_TO_PTR(ifindex));
         if (!link)
                 return -ENODEV;
 
@@ -312,7 +312,7 @@ int link_get_master(Link *link, Link **ret) {
         if (link->master_ifindex <= 0 || link->master_ifindex == link->ifindex)
                 return -ENODEV;
 
-        return link_get(link->manager, link->master_ifindex, ret);
+        return link_get_by_index(link->manager, link->master_ifindex, ret);
 }
 
 void link_set_state(Link *link, LinkState state) {
@@ -774,7 +774,7 @@ static int link_new_bound_by_list(Link *link) {
 
         m = link->manager;
 
-        HASHMAP_FOREACH(carrier, m->links) {
+        HASHMAP_FOREACH(carrier, m->links_by_index) {
                 if (!carrier->network)
                         continue;
 
@@ -813,7 +813,7 @@ static int link_new_bound_to_list(Link *link) {
 
         m = link->manager;
 
-        HASHMAP_FOREACH(carrier, m->links) {
+        HASHMAP_FOREACH(carrier, m->links_by_index) {
                 if (strv_fnmatch(link->network->bind_carrier, carrier->ifname)) {
                         r = link_put_carrier(link, carrier, &link->bound_to_links);
                         if (r < 0)
@@ -965,7 +965,7 @@ static Link *link_drop(Link *link) {
         hashmap_remove(link->manager->links_by_name, link->ifname);
 
         /* The following must be called at last. */
-        assert_se(hashmap_remove(link->manager->links, INT_TO_PTR(link->ifindex)) == link);
+        assert_se(hashmap_remove(link->manager->links_by_index, INT_TO_PTR(link->ifindex)) == link);
         return link_unref(link);
 }
 
@@ -1471,7 +1471,7 @@ int manager_udev_process_link(sd_device_monitor *monitor, sd_device *device, voi
                 return 0;
         }
 
-        r = link_get(m, ifindex, &link);
+        r = link_get_by_index(m, ifindex, &link);
         if (r < 0) {
                 log_device_debug_errno(device, r, "Failed to get link from ifindex %i, ignoring: %m", ifindex);
                 return 0;
@@ -2257,7 +2257,7 @@ static int link_new(Manager *manager, sd_netlink_message *message, Link **ret) {
                 .dns_over_tls_mode = _DNS_OVER_TLS_MODE_INVALID,
         };
 
-        r = hashmap_ensure_put(&manager->links, NULL, INT_TO_PTR(link->ifindex), link);
+        r = hashmap_ensure_put(&manager->links_by_index, NULL, INT_TO_PTR(link->ifindex), link);
         if (r < 0)
                 return log_link_debug_errno(link, r, "Failed to store link into manager: %m");
 
@@ -2323,7 +2323,7 @@ int manager_rtnl_process_link(sd_netlink *rtnl, sd_netlink_message *message, Man
                 return 0;
         }
 
-        (void) link_get(manager, ifindex, &link);
+        (void) link_get_by_index(manager, ifindex, &link);
         (void) netdev_get(manager, name, &netdev);
 
         switch (type) {
index f5a2fc802b01faeedc806e9fc5ee6da16c7912b3..c133927fd66c4fd39735008e5333ecc7bc224f41 100644 (file)
@@ -218,7 +218,7 @@ Link *link_ref(Link *link);
 DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_unref);
 DEFINE_TRIVIAL_DESTRUCTOR(link_netlink_destroy_callback, Link, link_unref);
 
-int link_get(Manager *m, int ifindex, Link **ret);
+int link_get_by_index(Manager *m, int ifindex, Link **ret);
 int link_get_by_name(Manager *m, const char *ifname, Link **ret);
 int link_get_master(Link *link, Link **ret);
 
index a1520240d71e85040aa283b0254284cb9782f90a..8a5ad8eac3e6bd9647d2b142962e7c741b18ecbf 100644 (file)
@@ -31,7 +31,7 @@ static int method_list_links(sd_bus_message *message, void *userdata, sd_bus_err
         if (r < 0)
                 return r;
 
-        HASHMAP_FOREACH(link, manager->links) {
+        HASHMAP_FOREACH(link, manager->links_by_index) {
                 _cleanup_free_ char *path = NULL;
 
                 path = link_bus_path(link);
@@ -95,8 +95,8 @@ static int method_get_link_by_index(sd_bus_message *message, void *userdata, sd_
         if (r < 0)
                 return r;
 
-        link = hashmap_get(manager->links, INT_TO_PTR(ifindex));
-        if (!link)
+        r = link_get_by_index(manager, ifindex, &link);
+        if (r < 0)
                 return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_LINK, "Link %i not known", ifindex);
 
         r = sd_bus_message_new_method_return(message, &reply);
@@ -126,8 +126,8 @@ static int call_link_method(Manager *m, sd_bus_message *message, sd_bus_message_
         if (r < 0)
                 return r;
 
-        l = hashmap_get(m->links, INT_TO_PTR(ifindex));
-        if (!l)
+        r = link_get_by_index(m, ifindex, &l);
+        if (r < 0)
                 return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_LINK, "Link %i not known", ifindex);
 
         return handler(message, l, error);
@@ -215,7 +215,7 @@ static int bus_method_reload(sd_bus_message *message, void *userdata, sd_bus_err
         if (r < 0)
                 return r;
 
-        HASHMAP_FOREACH(link, manager->links) {
+        HASHMAP_FOREACH(link, manager->links_by_index) {
                 r = link_reconfigure(link, /* force = */ false);
                 if (r < 0)
                         return r;
index 5b6eefb743376df1459ae876b89a3daef9329d4d..b95742f490773f558c93f09da489694ddd3618d2 100644 (file)
@@ -58,7 +58,7 @@ static int manager_reset_all(Manager *m) {
 
         assert(m);
 
-        HASHMAP_FOREACH(link, m->links) {
+        HASHMAP_FOREACH(link, m->links_by_index) {
                 r = link_carrier_reset(link);
                 if (r < 0) {
                         log_link_warning_errno(link, r, "Could not reset carrier: %m");
@@ -451,7 +451,7 @@ Manager* manager_free(Manager *m) {
 
         free(m->state_file);
 
-        HASHMAP_FOREACH(link, m->links)
+        HASHMAP_FOREACH(link, m->links_by_index)
                 (void) link_stop_engines(link, true);
 
         m->request_queue = ordered_set_free(m->request_queue);
@@ -462,7 +462,7 @@ Manager* manager_free(Manager *m) {
         m->dirty_links = set_free_with_destructor(m->dirty_links, link_unref);
         m->links_requesting_uuid = set_free_with_destructor(m->links_requesting_uuid, link_unref);
         m->links_by_name = hashmap_free(m->links_by_name);
-        m->links = hashmap_free_with_destructor(m->links, link_unref);
+        m->links_by_index = hashmap_free_with_destructor(m->links_by_index, link_unref);
 
         m->networks = ordered_hashmap_free_with_destructor(m->networks, network_unref);
 
@@ -528,7 +528,7 @@ int manager_start(Manager *m) {
         if (r < 0)
                 log_warning_errno(r, "Failed to update state file %s, ignoring: %m", m->state_file);
 
-        HASHMAP_FOREACH(link, m->links) {
+        HASHMAP_FOREACH(link, m->links_by_index) {
                 r = link_save(link);
                 if (r < 0)
                         log_link_warning_errno(link, r, "Failed to update link state file %s, ignoring: %m", link->state_file);
index 24845a55c2bac87d0c56409fa38151fb93772934..cef5eb889bc1e64061503a456fb3b7189bfcccac 100644 (file)
@@ -44,7 +44,7 @@ struct Manager {
         LinkAddressState ipv6_address_state;
         LinkOnlineState online_state;
 
-        Hashmap *links;
+        Hashmap *links_by_index;
         Hashmap *links_by_name;
         Hashmap *netdevs;
         OrderedHashmap *networks;
index 147dca7ef3b7e1632d2f837fbdd45898148f4aea..b23f081bfb221ec1b06ddf44aeae08ad6c12114e 100644 (file)
@@ -536,7 +536,7 @@ int manager_rtnl_process_neighbor(sd_netlink *rtnl, sd_netlink_message *message,
                 return 0;
         }
 
-        r = link_get(m, ifindex, &link);
+        r = link_get_by_index(m, ifindex, &link);
         if (r < 0 || !link) {
                 /* when enumerating we might be out of sync, but we will get the neighbor again. Also,
                  * kernel sends messages about neighbors after a link is removed. So, just ignore it. */
index 4bc29ca0577cae676df205bff9e0fae193521b2b..a52e5dcb16c8bb5c2a11d9920f3b40f5659eb080 100644 (file)
@@ -645,7 +645,7 @@ static bool links_have_nexthop(const Manager *manager, const NextHop *nexthop, c
 
         assert(manager);
 
-        HASHMAP_FOREACH(link, manager->links) {
+        HASHMAP_FOREACH(link, manager->links_by_index) {
                 if (link == except)
                         continue;
 
@@ -765,7 +765,7 @@ static bool nexthop_is_ready_to_configure(Link *link, const NextHop *nexthop) {
                 if (!FLAGS_SET(link->flags, IFF_UP))
                         return false;
 
-                HASHMAP_FOREACH(l, link->manager->links) {
+                HASHMAP_FOREACH(l, link->manager->links_by_index) {
                         if (l->address_remove_messages > 0)
                                 return false;
                         if (l->nexthop_remove_messages > 0)
@@ -868,7 +868,7 @@ int manager_rtnl_process_nexthop(sd_netlink *rtnl, sd_netlink_message *message,
                         return 0;
                 }
 
-                r = link_get(m, ifindex, &link);
+                r = link_get_by_index(m, ifindex, &link);
                 if (r < 0 || !link) {
                         if (!m->enumerating)
                                 log_warning("rtnl: received nexthop message for link (%"PRIu32") we do not know about, ignoring", ifindex);
index 2893c0949d57c4240ab9539459171f9496af34d4..7b36b481419c89a890adbd31809d23fa7e4770d9 100644 (file)
@@ -753,7 +753,7 @@ bool manager_address_is_reachable(Manager *manager, int family, const union in_a
         assert(IN_SET(family, AF_INET, AF_INET6));
         assert(address);
 
-        HASHMAP_FOREACH(link, manager->links) {
+        HASHMAP_FOREACH(link, manager->links_by_index) {
                 Route *route;
 
                 SET_FOREACH(route, link->routes)
@@ -807,7 +807,7 @@ int manager_find_uplink(Manager *m, int family, Link *exclude, Link **ret) {
         /* Looks for a suitable "uplink", via black magic: an interface that is up and where the
          * default route with the highest priority points to. */
 
-        HASHMAP_FOREACH(link, m->links) {
+        HASHMAP_FOREACH(link, m->links_by_index) {
                 if (link == exclude)
                         continue;
 
@@ -1106,7 +1106,7 @@ static bool links_have_static_route(const Manager *manager, const Route *route,
 
         assert(manager);
 
-        HASHMAP_FOREACH(link, manager->links) {
+        HASHMAP_FOREACH(link, manager->links_by_index) {
                 if (link == except)
                         continue;
 
@@ -1260,7 +1260,7 @@ static int route_add_and_setup_timer_one(Link *link, const Route *route, const M
         } else if (m && m->ifindex != 0 && m->ifindex != link->ifindex) {
                 Link *link_gw;
 
-                r = link_get(link->manager, m->ifindex, &link_gw);
+                r = link_get_by_index(link->manager, m->ifindex, &link_gw);
                 if (r < 0)
                         return log_link_error_errno(link, r, "Failed to get link with ifindex %d: %m", m->ifindex);
 
@@ -1685,7 +1685,7 @@ static int route_is_ready_to_configure(const Route *route, Link *link) {
         } else {
                 Link *l;
 
-                HASHMAP_FOREACH(l, link->manager->links) {
+                HASHMAP_FOREACH(l, link->manager->links_by_index) {
                         if (l->address_remove_messages > 0)
                                 return false;
                         if (l->nexthop_remove_messages > 0)
@@ -1720,7 +1720,7 @@ static int route_is_ready_to_configure(const Route *route, Link *link) {
 
                         m->ifindex = l->ifindex;
                 } else if (m->ifindex > 0) {
-                        if (link_get(link->manager, m->ifindex, &l) < 0)
+                        if (link_get_by_index(link->manager, m->ifindex, &l) < 0)
                                 return false;
                 }
                 if (l && !link_is_ready_to_configure(l, true))
@@ -1805,7 +1805,7 @@ static int process_route_one(Manager *manager, Link *link, uint16_t type, const
                         return log_warning_errno(SYNTHETIC_ERRNO(EINVAL),
                                                  "rtnl: received multipath route with invalid ifindex, ignoring.");
 
-                r = link_get(manager, m->ifindex, &link);
+                r = link_get_by_index(manager, m->ifindex, &link);
                 if (r < 0) {
                         log_warning_errno(r, "rtnl: received multipath route for link (%d) we do not know, ignoring: %m", m->ifindex);
                         return 0;
@@ -1898,7 +1898,7 @@ int manager_rtnl_process_route(sd_netlink *rtnl, sd_netlink_message *message, Ma
                         return 0;
                 }
 
-                r = link_get(m, ifindex, &link);
+                r = link_get_by_index(m, ifindex, &link);
                 if (r < 0 || !link) {
                         /* when enumerating we might be out of sync, but we will
                          * get the route again, so just ignore it */
index 411022a24f622f90ce4d3964f3871078bd9b06d4..af7e8a973cf47087be9e5b65f1af1a5acff40bb4 100644 (file)
@@ -607,7 +607,7 @@ static int links_have_routing_policy_rule(const Manager *m, const RoutingPolicyR
         assert(m);
         assert(rule);
 
-        HASHMAP_FOREACH(link, m->links) {
+        HASHMAP_FOREACH(link, m->links_by_index) {
                 RoutingPolicyRule *link_rule;
 
                 if (link == except)
index 97204c89e9bf64f7ae04911744fd592e637735b1..6c3f97079ed9a977602bb81e1b86eb71153c36d2 100644 (file)
@@ -26,9 +26,9 @@ static int process_message(Manager *manager, sd_netlink_message *message) {
         if (r < 0)
                 return r;
 
-        link = hashmap_get(manager->links, INT_TO_PTR(ifindex));
-        if (!link)
-                return -ENODEV;
+        r = link_get_by_index(manager, ifindex, &link);
+        if (r < 0)
+                return r;
 
         link->stats_old = link->stats_new;
 
@@ -62,7 +62,7 @@ static int speed_meter_handler(sd_event_source *s, uint64_t usec, void *userdata
         manager->speed_meter_usec_old = manager->speed_meter_usec_new;
         manager->speed_meter_usec_new = usec_now;
 
-        HASHMAP_FOREACH(link, manager->links)
+        HASHMAP_FOREACH(link, manager->links_by_index)
                 link->stats_updated = false;
 
         r = sd_rtnl_message_new_link(manager->rtnl, &req, RTM_GETLINK, 0);
index b9dab9b211f5074299e45947ec8383062d09ef93..745aa4a995e0f72ff0a6ab63a098c973a581dd1f 100644 (file)
@@ -121,7 +121,7 @@ int manager_save(Manager *m) {
         assert(m);
         assert(m->state_file);
 
-        HASHMAP_FOREACH(link, m->links) {
+        HASHMAP_FOREACH(link, m->links_by_index) {
                 const struct in_addr *addresses;
 
                 if (link->flags & IFF_LOOPBACK)