]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: move link_request_set_routing_policy()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 29 Sep 2020 05:17:27 +0000 (14:17 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 5 Oct 2020 15:51:01 +0000 (00:51 +0900)
src/network/networkd-link.c
src/network/networkd-routing-policy-rule.c
src/network/networkd-routing-policy-rule.h

index 0cdd2b5121e064b7a61141cc8b2ee9ba8524a3f1..685cbd34cfe43c35c115c26847d50475d9b430e3 100644 (file)
@@ -925,41 +925,6 @@ static void link_enter_configured(Link *link) {
         link_dirty(link);
 }
 
-static int link_request_set_routing_policy_rule(Link *link) {
-        RoutingPolicyRule *rule, *rrule = NULL;
-        int r;
-
-        assert(link);
-        assert(link->network);
-
-        link->routing_policy_rules_configured = false;
-
-        LIST_FOREACH(rules, rule, link->network->rules) {
-                r = routing_policy_rule_get(link->manager, rule, &rrule);
-                if (r >= 0) {
-                        if (r == 0)
-                                (void) routing_policy_rule_make_local(link->manager, rrule);
-                        continue;
-                }
-
-                r = routing_policy_rule_configure(rule, link, NULL);
-                if (r < 0)
-                        return log_link_warning_errno(link, r, "Could not set routing policy rules: %m");
-                if (r > 0)
-                        link->routing_policy_rule_messages++;
-        }
-
-        routing_policy_rule_purge(link->manager, link);
-        if (link->routing_policy_rule_messages == 0)
-                link->routing_policy_rules_configured = true;
-        else {
-                log_link_debug(link, "Setting routing policy rules");
-                link_set_state(link, LINK_STATE_CONFIGURING);
-        }
-
-        return 0;
-}
-
 static int nexthop_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {
         int r;
 
@@ -1066,7 +1031,7 @@ int link_request_set_routes(Link *link) {
                  * the addresses now, let's not configure the routes either. */
                 return 0;
 
-        r = link_request_set_routing_policy_rule(link);
+        r = link_set_routing_policy_rules(link);
         if (r < 0)
                 return r;
 
index 3b95ea76b09f813e187683f3ddb5d7a4a32fa212..9f356c6c24d5d427e831b5b67eacaf60c47617d6 100644 (file)
@@ -609,6 +609,41 @@ int routing_policy_rule_configure(RoutingPolicyRule *rule, Link *link, link_netl
         return 1;
 }
 
+int link_set_routing_policy_rules(Link *link) {
+        RoutingPolicyRule *rule, *rrule = NULL;
+        int r;
+
+        assert(link);
+        assert(link->network);
+
+        link->routing_policy_rules_configured = false;
+
+        LIST_FOREACH(rules, rule, link->network->rules) {
+                r = routing_policy_rule_get(link->manager, rule, &rrule);
+                if (r >= 0) {
+                        if (r == 0)
+                                (void) routing_policy_rule_make_local(link->manager, rrule);
+                        continue;
+                }
+
+                r = routing_policy_rule_configure(rule, link, NULL);
+                if (r < 0)
+                        return log_link_warning_errno(link, r, "Could not set routing policy rules: %m");
+                if (r > 0)
+                        link->routing_policy_rule_messages++;
+        }
+
+        routing_policy_rule_purge(link->manager, link);
+        if (link->routing_policy_rule_messages == 0)
+                link->routing_policy_rules_configured = true;
+        else {
+                log_link_debug(link, "Setting routing policy rules");
+                link_set_state(link, LINK_STATE_CONFIGURING);
+        }
+
+        return 0;
+}
+
 int routing_policy_rule_section_verify(RoutingPolicyRule *rule) {
         int r;
 
index af954e8fb5d3bc94627021045f0fc75ef172a90e..2168f875289acf9f26bdc9a2c9f9b473b67d9e63 100644 (file)
@@ -62,6 +62,8 @@ void routing_policy_rule_free(RoutingPolicyRule *rule);
 DEFINE_NETWORK_SECTION_FUNCTIONS(RoutingPolicyRule, routing_policy_rule_free);
 int routing_policy_rule_section_verify(RoutingPolicyRule *rule);
 
+int link_set_routing_policy_rules(Link *link);
+
 int routing_policy_rule_configure(RoutingPolicyRule *rule, Link *link, link_netlink_message_handler_t callback);
 int routing_policy_rule_remove(RoutingPolicyRule *rule, Link *link, link_netlink_message_handler_t callback);