]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: DHCP6 - save DUID to state file
authorSusant Sahani <ssahani@vmware.com>
Tue, 9 Jun 2020 14:48:42 +0000 (16:48 +0200)
committerSusant Sahani <ssahani@vmware.com>
Wed, 10 Jun 2020 17:21:11 +0000 (19:21 +0200)
src/network/networkd-link.c

index b27b13c194ff8644fb056b4ceb8607e767ef96db..be5c58087ed13d4b49c692251300970e7ed0436b 100644 (file)
@@ -4086,7 +4086,6 @@ int link_save(Link *link) {
         const char *admin_state, *oper_state, *carrier_state, *address_state;
         _cleanup_free_ char *temp_path = NULL;
         _cleanup_fclose_ FILE *f = NULL;
-        uint32_t iaid;
         Route *route;
         Address *a;
         Iterator i;
@@ -4421,9 +4420,18 @@ int link_save(Link *link) {
                 }
         }
 
-        r = sd_dhcp6_client_get_iaid(link->dhcp6_client, &iaid);
-        if (r >= 0)
-                fprintf(f, "DHCP6_CLIENT_IAID=0x%x\n", iaid);
+        if (link->dhcp6_client) {
+                _cleanup_free_ char *duid = NULL;
+                uint32_t iaid;
+
+                r = sd_dhcp6_client_get_iaid(link->dhcp6_client, &iaid);
+                if (r >= 0)
+                        fprintf(f, "DHCP6_CLIENT_IAID=0x%x\n", iaid);
+
+                r = sd_dhcp6_client_duid_as_string(link->dhcp6_client, &duid);
+                if (r >= 0)
+                        fprintf(f, "DHCP6_CLIENT_DUID=%s\n", duid);
+        }
 
         r = fflush_and_check(f);
         if (r < 0)