We need to specify a requested IP address when our DHCP client state
is REBINDING as well as REQUESTING and REBOOTING; or else we end up
sending a DHCP request for 0.0.0.0, which generally just gets ignored.
---
 gdhcp/client.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gdhcp/client.c b/gdhcp/client.c
index 47ce2e8..8a9e3b8 100644
--- a/gdhcp/client.c
+++ b/gdhcp/client.c
@@ -484,13 +484,13 @@ static int send_request(GDHCPClient *dhcp_client)
 
        add_send_options(dhcp_client, &packet);
 
-       if (dhcp_client->state == RENEWING) {
+       if (dhcp_client->state == RENEWING || dhcp_client->state == REBINDING) 
                packet.ciaddr = htonl(dhcp_client->requested_ip);
 
+       if (dhcp_client->state == RENEWING)
                return dhcp_send_kernel_packet(&packet,
                                dhcp_client->requested_ip, CLIENT_PORT,
                                dhcp_client->server_ip, SERVER_PORT);
-       }
 
        return dhcp_send_raw_packet(&packet, INADDR_ANY, CLIENT_PORT,
                                        INADDR_BROADCAST, SERVER_PORT,
-- 
1.9.1

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to