]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: introduce network_verify_address_labels()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 29 Sep 2020 16:28:35 +0000 (01:28 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 6 Oct 2020 17:44:42 +0000 (02:44 +0900)
src/network/networkd-address-label.c
src/network/networkd-address-label.h
src/network/networkd-network.c

index 6236f048f2cafe0d30ef3493cb63c6e3964ab8fb..c25ac0ae1e0358592b183021ac17af6b78c26d09 100644 (file)
@@ -136,6 +136,16 @@ int address_label_configure(
         return 0;
 }
 
+void network_verify_address_labels(Network *network) {
+        AddressLabel *label;
+
+        assert(network);
+
+        HASHMAP_FOREACH(label, network->address_labels_by_section)
+                if (section_is_invalid(label->section))
+                        address_label_free(label);
+}
+
 int config_parse_address_label_prefix(const char *unit,
                                       const char *filename,
                                       unsigned line,
index 44292718e5cfaf1417bcd7f6538967c32c17de0b..994a4f69bfa7773a620465850edb66b8d0e9407e 100644 (file)
@@ -31,6 +31,8 @@ AddressLabel *address_label_free(AddressLabel *label);
 
 DEFINE_NETWORK_SECTION_FUNCTIONS(AddressLabel, address_label_free);
 
+void network_verify_address_labels(Network *network);
+
 int address_label_configure(AddressLabel *address, Link *link, link_netlink_message_handler_t callback, bool update);
 
 CONFIG_PARSER_PROTOTYPE(config_parse_address_label);
index b170f7aa353d3f77768dc1614511bc0bfbe2d159..d5b60e8260398433c7722463af87ffdfb3057880 100644 (file)
@@ -152,7 +152,6 @@ static int network_resolve_stacked_netdevs(Network *network) {
 
 int network_verify(Network *network) {
         RoutePrefix *route_prefix, *route_prefix_next;
-        AddressLabel *label;
         Address *address, *address_next;
         Prefix *prefix, *prefix_next;
         Route *route, *route_next;
@@ -309,10 +308,7 @@ int network_verify(Network *network) {
                         mdb_entry_free(mdb);
 
         network_verify_neighbors(network);
-
-        HASHMAP_FOREACH(label, network->address_labels_by_section)
-                if (section_is_invalid(label->section))
-                        address_label_free(label);
+        network_verify_address_labels(network);
 
         LIST_FOREACH_SAFE(prefixes, prefix, prefix_next, network->static_prefixes)
                 if (section_is_invalid(prefix->section))