Hi,

On Wed, 2012-07-25 at 15:42 +0900, Danny Jeongseok Seo wrote:
> @@ -2281,6 +2283,18 @@ int g_dhcp_client_start(GDHCPClient *dhcp_client,
> const char *last_address)
>                         dhcp_client->last_address = g_strdup(last_address);
>                 }
>         }
> +
> +       if (last_server_address != NULL && strlen(last_server_address) > 0) {
> +               dhcp_client->last_server_address =
> +                                       g_strdup(last_server_address);
> +               dhcp_client->server_ip = inet_addr(last_server_address);
> +               dhcp_client->requested_ip = addr;
> +
> +               start_request(dhcp_client);
> +
> +               return 0;
> +       }
> +
>         send_discover(dhcp_client, addr);
>  
>         dhcp_client->timeout = g_timeout_add_seconds_full(G_PRIORITY_HIGH,

Since RFC 2131 chapter 4.3.2 says "'server identifier' MUST NOT be
filled in" when we are sending DHCPREQUEST in INIT-REBOOT state, the
start_request() part above is the only part needed now.

What is the condition where we can ignore send_discover() and go
directly to start_request()?

Do we need to fall back to send_discover() if we don't get a reply to
start_request() or do we simply fail obtaining a DHCP address in this
case?

Cheers,

        Patrik

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to