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

index 792e02a066f00cd23274701498fc837da65dfdbc..05fd07c374b3366931df1eb72f690bd6a463a033 100644 (file)
@@ -195,6 +195,16 @@ int link_set_bridge_fdb(Link *link) {
         return 0;
 }
 
+void network_verify_fdb_entries(Network *network) {
+        FdbEntry *fdb_entry;
+
+        assert(network);
+
+        HASHMAP_FOREACH(fdb_entry, network->fdb_entries_by_section)
+                if (section_is_invalid(fdb_entry->section))
+                        fdb_entry_free(fdb_entry);
+}
+
 /* parse the HW address from config files. */
 int config_parse_fdb_hwaddr(
                 const char *unit,
index faddcf604e0f884e1c953d6b8de7e48036d70556..39e016e8677696eeba45eac1657b7a1b4ce4baff 100644 (file)
@@ -43,6 +43,8 @@ struct FdbEntry {
 
 FdbEntry *fdb_entry_free(FdbEntry *fdb_entry);
 
+void network_verify_fdb_entries(Network *network);
+
 int link_set_bridge_fdb(Link *link);
 
 const char* fdb_ntf_flags_to_string(NeighborCacheEntryFlags i) _const_;
index 149c3cf2d31b5952bfeb7c215a888e2451968fe2..a8c32b9628913039a805b59fde9cf5df18e6f706 100644 (file)
@@ -156,7 +156,6 @@ int network_verify(Network *network) {
         Address *address, *address_next;
         Prefix *prefix, *prefix_next;
         Route *route, *route_next;
-        FdbEntry *fdb;
         MdbEntry *mdb, *mdb_next;
         TrafficControl *tc;
         SRIOV *sr_iov;
@@ -299,10 +298,7 @@ int network_verify(Network *network) {
                         route_free(route);
 
         network_verify_nexthops(network);
-
-        HASHMAP_FOREACH(fdb, network->fdb_entries_by_section)
-                if (section_is_invalid(fdb->section))
-                        fdb_entry_free(fdb);
+        network_verify_fdb_entries(network);
 
         LIST_FOREACH_SAFE(static_mdb_entries, mdb, mdb_next, network->static_mdb_entries)
                 if (mdb_entry_verify(mdb) < 0)