]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: introduce network_verify_sr_iov()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 2 Oct 2020 08:53:18 +0000 (17:53 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 6 Oct 2020 17:50:50 +0000 (02:50 +0900)
src/network/networkd-network.c
src/network/networkd-sriov.c
src/network/networkd-sriov.h

index e93e524c3f6ec18f13586428284130faa5c2cdec..e02b7e9586b0c7449d8c225fdb9a46ea120c3678 100644 (file)
@@ -156,8 +156,6 @@ static int network_resolve_stacked_netdevs(Network *network) {
 }
 
 int network_verify(Network *network) {
-        SRIOV *sr_iov;
-
         assert(network);
         assert(network->filename);
 
@@ -300,10 +298,7 @@ int network_verify(Network *network) {
         network_verify_route_prefixes(network);
         network_verify_routing_policy_rules(network);
         network_verify_traffic_control(network);
-
-        ORDERED_HASHMAP_FOREACH(sr_iov, network->sr_iov_by_section)
-                if (sr_iov_section_verify(sr_iov) < 0)
-                        sr_iov_free(sr_iov);
+        network_verify_sr_iov(network);
 
         return 0;
 }
index 6c96ca39d22ab493aba53b30847d5f63d925cf71..d2a389d95d2519bc71330c6d93efe3865cde178e 100644 (file)
@@ -247,7 +247,7 @@ int link_configure_sr_iov(Link *link) {
         return 0;
 }
 
-int sr_iov_section_verify(SRIOV *sr_iov) {
+static int sr_iov_section_verify(SRIOV *sr_iov) {
         assert(sr_iov);
 
         if (section_is_invalid(sr_iov->section))
@@ -262,6 +262,16 @@ int sr_iov_section_verify(SRIOV *sr_iov) {
         return 0;
 }
 
+void network_verify_sr_iov(Network *network) {
+        SRIOV *sr_iov;
+
+        assert(network);
+
+        ORDERED_HASHMAP_FOREACH(sr_iov, network->sr_iov_by_section)
+                if (sr_iov_section_verify(sr_iov) < 0)
+                        sr_iov_free(sr_iov);
+}
+
 int config_parse_sr_iov_uint32(
                 const char *unit,
                 const char *filename,
index b32a64e827552d2a9844cb0ab86903840aca93eb..acd9f9b7535fd13cf001af60bda94977457c816d 100644 (file)
@@ -35,7 +35,7 @@ typedef struct SRIOV {
 
 SRIOV *sr_iov_free(SRIOV *sr_iov);
 int link_configure_sr_iov(Link *link);
-int sr_iov_section_verify(SRIOV *sr_iov);
+void network_verify_sr_iov(Network *network);
 
 DEFINE_NETWORK_SECTION_FUNCTIONS(SRIOV, sr_iov_free);