network: add more log messages in configuring DHCP6 client
This commit is contained in:
parent
1f6860d984
commit
5bad7ebdda
|
@ -457,7 +457,7 @@ static int dhcp6_set_hostname(sd_dhcp6_client *client, Link *link) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int dhcp6_configure(Link *link) {
|
int dhcp6_configure(Link *link) {
|
||||||
sd_dhcp6_client *client = NULL;
|
_cleanup_(sd_dhcp6_client_unrefp) sd_dhcp6_client *client = NULL;
|
||||||
const DUID *duid;
|
const DUID *duid;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
|
@ -468,22 +468,24 @@ int dhcp6_configure(Link *link) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
r = sd_dhcp6_client_new(&client);
|
r = sd_dhcp6_client_new(&client);
|
||||||
|
if (r == -ENOMEM)
|
||||||
|
return log_oom();
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to create DHCP6 client: %m");
|
||||||
|
|
||||||
r = sd_dhcp6_client_attach_event(client, NULL, 0);
|
r = sd_dhcp6_client_attach_event(client, NULL, 0);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to attach event: %m");
|
||||||
|
|
||||||
r = sd_dhcp6_client_set_mac(client,
|
r = sd_dhcp6_client_set_mac(client,
|
||||||
(const uint8_t *) &link->mac,
|
(const uint8_t *) &link->mac,
|
||||||
sizeof (link->mac), ARPHRD_ETHER);
|
sizeof (link->mac), ARPHRD_ETHER);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set MAC address: %m");
|
||||||
|
|
||||||
r = sd_dhcp6_client_set_iaid(client, link->network->iaid);
|
r = sd_dhcp6_client_set_iaid(client, link->network->iaid);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set IAID: %m");
|
||||||
|
|
||||||
duid = link_duid(link);
|
duid = link_duid(link);
|
||||||
r = sd_dhcp6_client_set_duid(client,
|
r = sd_dhcp6_client_set_duid(client,
|
||||||
|
@ -491,37 +493,33 @@ int dhcp6_configure(Link *link) {
|
||||||
duid->raw_data_len > 0 ? duid->raw_data : NULL,
|
duid->raw_data_len > 0 ? duid->raw_data : NULL,
|
||||||
duid->raw_data_len);
|
duid->raw_data_len);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set DUID: %m");
|
||||||
|
|
||||||
r = dhcp6_set_hostname(client, link);
|
r = dhcp6_set_hostname(client, link);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set hostname: %m");
|
||||||
|
|
||||||
r = sd_dhcp6_client_set_ifindex(client, link->ifindex);
|
r = sd_dhcp6_client_set_ifindex(client, link->ifindex);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set ifindex: %m");
|
||||||
|
|
||||||
if (link->network->rapid_commit) {
|
if (link->network->rapid_commit) {
|
||||||
r = sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_RAPID_COMMIT);
|
r = sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_RAPID_COMMIT);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set request flag for rapid commit: %m");
|
||||||
}
|
}
|
||||||
|
|
||||||
r = sd_dhcp6_client_set_callback(client, dhcp6_handler, link);
|
r = sd_dhcp6_client_set_callback(client, dhcp6_handler, link);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set callback: %m");
|
||||||
|
|
||||||
if (dhcp6_enable_prefix_delegation(link)) {
|
if (dhcp6_enable_prefix_delegation(link)) {
|
||||||
r = sd_dhcp6_client_set_prefix_delegation(client, true);
|
r = sd_dhcp6_client_set_prefix_delegation(client, true);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto error;
|
return log_link_error_errno(link, r, "DHCP6 CLIENT: Failed to set prefix delegation: %m");
|
||||||
}
|
}
|
||||||
|
|
||||||
link->dhcp6_client = client;
|
link->dhcp6_client = TAKE_PTR(client);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
|
||||||
sd_dhcp6_client_unref(client);
|
|
||||||
return r;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue