diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-03-04 17:20:04 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-07-18 22:41:48 +0900 |
commit | 1c9a2e266f1d9f7bfd472067faa92d7fd5f0487d (patch) | |
tree | bf16cdec19574a3eb1ab7a014aad828226360cd5 /src | |
parent | bdbb98d9aea73184a58db79321c52d8af5fb175a (diff) | |
download | systemd-1c9a2e266f1d9f7bfd472067faa92d7fd5f0487d.tar.gz |
dhcp: introduce sd_dhcp_client_send_renew()
Diffstat (limited to 'src')
-rw-r--r-- | src/libsystemd-network/sd-dhcp-client.c | 11 | ||||
-rw-r--r-- | src/systemd/sd-dhcp-client.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c index 09ad9fcecb..cadacc24d4 100644 --- a/src/libsystemd-network/sd-dhcp-client.c +++ b/src/libsystemd-network/sd-dhcp-client.c @@ -1881,6 +1881,17 @@ static int client_receive_message_raw( return client_handle_message(client, &packet->dhcp, len); } +int sd_dhcp_client_send_renew(sd_dhcp_client *client) { + assert_return(client, -EINVAL); + assert_return(client->fd >= 0, -EINVAL); + + client->start_delay = 0; + client->attempt = 1; + client->state = DHCP_STATE_RENEWING; + + return client_initialize_time_events(client); +} + int sd_dhcp_client_start(sd_dhcp_client *client) { int r; diff --git a/src/systemd/sd-dhcp-client.h b/src/systemd/sd-dhcp-client.h index ab62368e9c..cf4308927e 100644 --- a/src/systemd/sd-dhcp-client.h +++ b/src/systemd/sd-dhcp-client.h @@ -177,6 +177,7 @@ int sd_dhcp_client_get_lease( int sd_dhcp_client_stop(sd_dhcp_client *client); int sd_dhcp_client_start(sd_dhcp_client *client); int sd_dhcp_client_send_release(sd_dhcp_client *client); +int sd_dhcp_client_send_renew(sd_dhcp_client *client); sd_dhcp_client *sd_dhcp_client_ref(sd_dhcp_client *client); sd_dhcp_client *sd_dhcp_client_unref(sd_dhcp_client *client); |