network: do not log wrong error cause
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 19 Feb 2019 06:09:28 +0000 (15:09 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 19 Feb 2019 11:14:27 +0000 (20:14 +0900)
If sd_dhcp_lease_get_router() returns a positive value and the first
router is null, then invalid error cause was logged.

Follow-up for f8862395e8f802e4106a07ceaaf02b6a1faa5a6d.

src/network/networkd-dhcp4.c

index 4493da4..c8eca66 100644 (file)
@@ -120,10 +120,12 @@ static int link_set_dhcp_routes(Link *link) {
         }
 
         r = sd_dhcp_lease_get_router(link->dhcp_lease, &router);
-        if (r < 0 && r != -ENODATA)
+        if (IN_SET(r, 0, -ENODATA))
+                log_link_info(link, "DHCP: No gateway received from DHCP server.");
+        else if (r < 0)
                 log_link_warning_errno(link, r, "DHCP error: could not get gateway: %m");
-        else if (r <= 0 || in4_addr_is_null(&router[0]))
-                log_link_info_errno(link, r, "DHCP: No gateway received from DHCP server: %m");
+        else if (in4_addr_is_null(&router[0]))
+                log_link_info(link, "DHCP: Received gateway is null.");
 
         /* According to RFC 3442: If the DHCP server returns both a Classless Static Routes option and
            a Router option, the DHCP client MUST ignore the Router option. */