chiark / gitweb /
networkd: link - only save original MTU when necessary
[elogind.git] / src / network / networkd-link.c
index 993931d1cd6a06141fdce3388977b1a3ac205a3a..6e0139c97db90e2c1a20da078db95d6c60eefcf9 100644 (file)
@@ -580,6 +580,7 @@ static int link_update_flags(Link *link, unsigned flags) {
                         if (link->network->dhcp) {
                                 r = link_acquire_conf(link);
                                 if (r < 0) {
+                                        log_warning_link(link, "Could not acquire DHCPv4 lease: %s", strerror(-r));
                                         link_enter_failed(link);
                                         return r;
                                 }
@@ -590,6 +591,7 @@ static int link_update_flags(Link *link, unsigned flags) {
                         if (link->network->dhcp) {
                                 r = sd_dhcp_client_stop(link->dhcp);
                                 if (r < 0) {
+                                        log_warning_link(link, "Could not stop DHCPv4 client: %s", strerror(-r));
                                         link_enter_failed(link);
                                         return r;
                                 }
@@ -826,9 +828,11 @@ int link_update(Link *link, sd_rtnl_message *m) {
         }
 
         while (sd_rtnl_message_read(m, &type, &data) > 0) {
-                if (type == IFLA_MTU && link->network->dhcp_mtu && !link->original_mtu) {
+                if (type == IFLA_MTU && link->network->dhcp &&
+                    link->network->dhcp_mtu && !link->original_mtu) {
                         link->original_mtu = *(uint16_t *) data;
-                        log_debug_link(link, "saved original MTU: %" PRIu16, link->original_mtu);
+                        log_debug_link(link, "saved original MTU: %" PRIu16,
+                                       link->original_mtu);
                 }
         }