From d69d4038ec1da1de7d2e3192db57f9ead8bb059c Mon Sep 17 00:00:00 2001 From: Susant Sahani Date: Tue, 9 Jun 2020 10:48:36 +0200 Subject: [PATCH] dhcp6: Provide method to access IAID --- src/libsystemd-network/sd-dhcp6-client.c | 12 ++++++++++++ src/systemd/sd-dhcp6-client.h | 3 +++ 2 files changed, 15 insertions(+) diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c index 8d13aef4e74..b761707e7f8 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -342,6 +342,18 @@ int sd_dhcp6_client_set_iaid(sd_dhcp6_client *client, uint32_t iaid) { return 0; } +int sd_dhcp6_client_get_iaid(sd_dhcp6_client *client, uint32_t *iaid) { + assert_return(client, -EINVAL); + assert_return(iaid, -EINVAL); + + if (!client->iaid_set) + return -ENODATA; + + *iaid = be32toh(client->ia_na.ia_na.id); + + return 0; +} + int sd_dhcp6_client_set_fqdn( sd_dhcp6_client *client, const char *fqdn) { diff --git a/src/systemd/sd-dhcp6-client.h b/src/systemd/sd-dhcp6-client.h index 58a17a5a3f4..32616c97996 100644 --- a/src/systemd/sd-dhcp6-client.h +++ b/src/systemd/sd-dhcp6-client.h @@ -110,6 +110,9 @@ int sd_dhcp6_client_set_duid_llt( int sd_dhcp6_client_set_iaid( sd_dhcp6_client *client, uint32_t iaid); +int sd_dhcp6_client_get_iaid( + sd_dhcp6_client *client, + uint32_t *iaid); int sd_dhcp6_client_set_fqdn( sd_dhcp6_client *client, const char *fqdn); -- 2.47.3