]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
dhcp: introduce sd_dhcp_client_send_renew()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 4 Mar 2019 08:20:04 +0000 (17:20 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 18 Jul 2019 13:41:48 +0000 (22:41 +0900)
src/libsystemd-network/sd-dhcp-client.c
src/systemd/sd-dhcp-client.h

index 09ad9fcecbe06cbae66c48ecec3153135a1e24da..cadacc24d46925b2bc390f41000dcbd1e26d9b4a 100644 (file)
@@ -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;
 
index ab62368e9cee0cee1e0d55a0f0e856259b2165ef..cf4308927ec97b95e7fecf8cc6a39a1162fb77b5 100644 (file)
@@ -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);