diff options
author | Tom Gundersen <teg@jklm.no> | 2016-03-10 14:38:42 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2016-03-10 14:38:42 +0100 |
commit | ead02a14ede96738250c3aac83adf9ecc1b7e2f1 (patch) | |
tree | 2c5a91b5102fe014299ef15f86f30ee3569fe260 /src/network/networkd-link.c | |
parent | 79c96fd20457f208c752506030295b4cf64a2994 (diff) | |
parent | c83321e6d40b294e73e2881e4a98172c4244323b (diff) |
Merge pull request #2818 from vinaykul/master
DHCP DUID and IAID configurability
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r-- | src/network/networkd-link.c | 18 |
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"); } } } |