networkd: dhcp6 - don't log about losing a lease we never had
authorTom Gundersen <teg@jklm.no>
Fri, 13 Nov 2015 13:35:39 +0000 (14:35 +0100)
committerTom Gundersen <teg@jklm.no>
Fri, 13 Nov 2015 13:51:06 +0000 (14:51 +0100)
src/libsystemd-network/sd-dhcp6-client.c
src/network/networkd-dhcp6.c

index e00ca2b..a443bb3 100644 (file)
@@ -259,12 +259,12 @@ int sd_dhcp6_client_set_request_option(sd_dhcp6_client *client, uint16_t option)
 
 int sd_dhcp6_client_get_lease(sd_dhcp6_client *client, sd_dhcp6_lease **ret) {
         assert_return(client, -EINVAL);
-        assert_return(ret, -EINVAL);
 
         if (!client->lease)
                 return -ENOMSG;
 
-        *ret = client->lease;
+        if (ret)
+                *ret = client->lease;
 
         return 0;
 }
index 3ec9b84..d407b31 100644 (file)
@@ -131,7 +131,8 @@ static void dhcp6_handler(sd_dhcp6_client *client, int event, void *userdata) {
         case SD_DHCP6_CLIENT_EVENT_STOP:
         case SD_DHCP6_CLIENT_EVENT_RESEND_EXPIRE:
         case SD_DHCP6_CLIENT_EVENT_RETRANS_MAX:
-                log_link_warning(link, "DHCPv6 lease lost");
+                if (sd_dhcp6_client_get_lease(client, NULL) >= 0)
+                        log_link_warning(link, "DHCPv6 lease lost");
 
                 link->dhcp6_configured = false;
                 break;