From 5dfaf89b5b851d3e8dd2cb4e2bd8f31ff49b4701 Mon Sep 17 00:00:00 2001 From: Susant Sahani Date: Mon, 8 Jun 2020 06:39:06 +0200 Subject: [PATCH] network: DHCP4 client ID save in state file --- src/network/networkd-link.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 805aff3ab1..eeb5f5e16a 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;