]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: use request queue to handle always-up or -down activation policy
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 6 Jun 2021 08:02:00 +0000 (17:02 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 8 Jun 2021 19:59:23 +0000 (04:59 +0900)
src/network/networkd-link.c
src/network/networkd-setlink.c
src/network/networkd-setlink.h

index d49ae056233ca337ec6a8f0f8b39d410dd9eba28..66a3740e93dbc0f6fce069f3282d016f0ac56b61 100644 (file)
@@ -1581,8 +1581,8 @@ static int link_admin_state_up(Link *link) {
                 return 0;
 
         if (link->activated && link->network->activation_policy == ACTIVATION_POLICY_ALWAYS_DOWN) {
-                log_link_info(link, "ActivationPolicy is \"always-off\", forcing link down");
-                return link_down(link);
+                log_link_info(link, "ActivationPolicy is \"always-off\", forcing link down.");
+                return link_request_to_bring_up_or_down(link, /* up = */ false);
         }
 
         /* We set the ipv6 mtu after the device mtu, but the kernel resets
@@ -1601,8 +1601,8 @@ static int link_admin_state_down(Link *link) {
                 return 0;
 
         if (link->activated && link->network->activation_policy == ACTIVATION_POLICY_ALWAYS_UP) {
-                log_link_info(link, "ActivationPolicy is \"always-on\", forcing link up");
-                return link_up(link);
+                log_link_info(link, "ActivationPolicy is \"always-on\", forcing link up.");
+                return link_request_to_bring_up_or_down(link, /* up = */ true);
         }
 
         return 0;
index a5aeb7636a7330e77d0ca3ce65c62e17852a71d9..bf54b5c8bfd0480bf9ea149536812fcb07c11552 100644 (file)
@@ -835,10 +835,6 @@ static int link_up_or_down(Link *link, bool up, link_netlink_message_handler_t c
         return 0;
 }
 
-int link_up(Link *link) {
-        return link_up_or_down(link, true, link_up_handler);
-}
-
 int link_down(Link *link) {
         return link_up_or_down(link, false, link_down_handler);
 }
index 8caee1a1c0539845d2a4c8890dd3612d7c03cba1..0dc7415257f9ed88907fbd5ba2d616d5a238eb3b 100644 (file)
@@ -36,7 +36,6 @@ int link_configure_mtu(Link *link);
 
 int request_process_set_link(Request *req);
 
-int link_up(Link *link);
 int link_down(Link *link);
 
 int request_process_activation(Request *req);