summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
diff options
context:
space:
mode:
authorVinay Kulkarni <vskibum@gmail.com>2016-03-09 21:58:44 -0800
committerVinay Kulkarni <vskibum@gmail.com>2016-03-09 21:58:44 -0800
commitc83321e6d40b294e73e2881e4a98172c4244323b (patch)
tree631e97f505c07f8ece1141e2cac66dbc1fe52cd3 /src/network/networkd-link.c
parentbd7e03af007c4e857ed0370eba9e903d6b561937 (diff)
DHCP DUID and IAID configurability
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r--src/network/networkd-link.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index ff4bd76554..67b04560cd 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -2781,6 +2781,13 @@ int link_update(Link *link, sd_netlink_message *m) {
ARPHRD_ETHER);
if (r < 0)
return log_link_warning_errno(link, r, "Could not update MAC address in DHCP client: %m");
+
+ r = sd_dhcp_client_set_iaid_duid(link->dhcp_client,
+ link->network->iaid_value,
+ link->manager->dhcp_duid_len,
+ &link->manager->dhcp_duid);
+ if (r < 0)
+ return log_link_warning_errno(link, r, "Could not update DUID/IAID in DHCP client: %m");
}
if (link->dhcp6_client) {
@@ -2790,6 +2797,17 @@ int link_update(Link *link, sd_netlink_message *m) {
ARPHRD_ETHER);
if (r < 0)
return log_link_warning_errno(link, r, "Could not update MAC address in DHCPv6 client: %m");
+
+ r = sd_dhcp6_client_set_iaid(link->dhcp6_client,
+ link->network->iaid_value);
+ if (r < 0)
+ return log_link_warning_errno(link, r, "Could not update DHCPv6 IAID: %m");
+
+ r = sd_dhcp6_client_set_duid(link->dhcp6_client,
+ link->manager->dhcp_duid_len,
+ &link->manager->dhcp_duid);
+ if (r < 0)
+ return log_link_warning_errno(link, r, "Could not update DHCPv6 DUID: %m");
}
}
}