From: Susant Sahani Date: Tue, 9 Jun 2020 14:48:42 +0000 (+0200) Subject: network: DHCP6 - save DUID to state file X-Git-Tag: v246-rc1~165^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7e738e7b7077156baf5c2a8c2fb23f6c87daded1;p=thirdparty%2Fsystemd.git network: DHCP6 - save DUID to state file --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index b27b13c194f..be5c58087ed 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -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)