]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network/dhcp6: shorten dhcp6_handler()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 8 Oct 2023 07:18:26 +0000 (16:18 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 8 Oct 2023 07:18:49 +0000 (16:18 +0900)
Note, currently dhcp6_lease_information_acquired() do nothing, so this
does not change any behavior.

src/network/networkd-dhcp6.c

index 5c5dff9413d721bb015e288931f2e7a126607ab1..5fb1b6bdad778251dcd4b79af186451a86429ed0 100644 (file)
@@ -366,7 +366,7 @@ static int dhcp6_lease_lost(Link *link) {
 
 static void dhcp6_handler(sd_dhcp6_client *client, int event, void *userdata) {
         Link *link = ASSERT_PTR(userdata);
-        int r;
+        int r = 0;
 
         assert(link->network);
 
@@ -378,31 +378,24 @@ static void dhcp6_handler(sd_dhcp6_client *client, int event, void *userdata) {
         case SD_DHCP6_CLIENT_EVENT_RESEND_EXPIRE:
         case SD_DHCP6_CLIENT_EVENT_RETRANS_MAX:
                 r = dhcp6_lease_lost(link);
-                if (r < 0)
-                        link_enter_failed(link);
                 break;
 
         case SD_DHCP6_CLIENT_EVENT_IP_ACQUIRE:
                 r = dhcp6_lease_ip_acquired(client, link);
-                if (r < 0) {
-                        link_enter_failed(link);
-                        return;
-                }
+                break;
 
-                _fallthrough_;
         case SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST:
                 r = dhcp6_lease_information_acquired(client, link);
-                if (r < 0)
-                        link_enter_failed(link);
                 break;
 
         default:
                 if (event < 0)
-                        log_link_warning_errno(link, event, "DHCPv6 error: %m");
+                        log_link_warning_errno(link, event, "DHCPv6 error, ignoring: %m");
                 else
                         log_link_warning(link, "DHCPv6 unknown event: %d", event);
-                return;
         }
+        if (r < 0)
+                link_enter_failed(link);
 }
 
 int dhcp6_start_on_ra(Link *link, bool information_request) {