From: Susant Sahani Date: Mon, 8 Jun 2020 04:39:06 +0000 (+0200) Subject: network: DHCP4 client ID save in state file X-Git-Tag: v246-rc1~196^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5dfaf89b5b851d3e8dd2cb4e2bd8f31ff49b4701;p=thirdparty%2Fsystemd.git network: DHCP4 client ID save in state file --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 805aff3ab1d..eeb5f5e16a1 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -4354,6 +4354,8 @@ int link_save(Link *link) { if (link->dhcp_lease) { struct in_addr address; const char *tz = NULL; + size_t client_id_len; + const void *client_id; assert(link->network); @@ -4368,6 +4370,15 @@ int link_save(Link *link) { fputc('\n', f); } + r = sd_dhcp_lease_get_client_id(link->dhcp_lease, &client_id, &client_id_len); + if (r >= 0) { + _cleanup_free_ char *id = NULL; + + r = sd_dhcp_client_id_to_string(client_id, client_id_len, &id); + if (r >= 0) + fprintf(f, "DHCP4_CLIENT_ID=%s\n", id); + } + r = dhcp_lease_save(link->dhcp_lease, link->lease_file); if (r < 0) goto fail;