diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2018-01-04 15:11:48 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2018-01-04 15:22:44 +0200 |
commit | 69b4399748297a2a812e5f8e5d2d786b3b1d1a96 (patch) | |
tree | 0cd37149f6e66c6cdd5cc100dfdf2eea47b72e96 /src/libsystemd-network/sd-dhcp6-client.c | |
parent | dce6563fc6f8537368e944a8f344682541ea1f30 (diff) | |
download | systemd-69b4399748297a2a812e5f8e5d2d786b3b1d1a96.tar.gz |
dhcp6: Ensure IAID is applied to both IA NA and IA PD
Update the code to set IAID for both IA NA and IA PD options.
Diffstat (limited to 'src/libsystemd-network/sd-dhcp6-client.c')
-rw-r--r-- | src/libsystemd-network/sd-dhcp6-client.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c index 6efe1a7283..9586da6503 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -709,16 +709,20 @@ error: static int client_ensure_iaid(sd_dhcp6_client *client) { int r; + be32_t iaid; assert(client); if (client->ia_na.ia_na.id) return 0; - r = dhcp_identifier_set_iaid(client->ifindex, client->mac_addr, client->mac_addr_len, &client->ia_na.ia_na.id); + r = dhcp_identifier_set_iaid(client->ifindex, client->mac_addr, client->mac_addr_len, &iaid); if (r < 0) return r; + client->ia_na.ia_na.id = iaid; + client->ia_pd.ia_pd.id = iaid; + return 0; } |