{
GDHCPClient *dhcp_client = user_data;
+ debug(dhcp_client, "request timeout (retries %d)",
+ dhcp_client->retry_times);
+
dhcp_client->retry_times++;
start_request(dhcp_client);
GIOChannel *listener_channel;
int listener_sockfd;
+ debug(dhcp_client, "switch listening mode (%d ==> %d)",
+ dhcp_client->listen_mode, listen_mode);
+
if (dhcp_client->listen_mode == listen_mode)
return 0;
static void start_request(GDHCPClient *dhcp_client)
{
+ debug(dhcp_client, "start request (retries %d)",
+ dhcp_client->retry_times);
+
if (dhcp_client->retry_times == REQUEST_RETRIES) {
dhcp_client->state = INIT_SELECTING;
static void restart_dhcp(GDHCPClient *dhcp_client, int retry_times)
{
+ debug(dhcp_client, "restart DHCP (retries %d)", retry_times);
+
if (dhcp_client->timeout > 0) {
g_source_remove(dhcp_client->timeout);
dhcp_client->timeout = 0;
{
GDHCPClient *dhcp_client = user_data;
+ debug(dhcp_client, "start rebound timeout");
+
switch_listening_mode(dhcp_client, L2);
dhcp_client->lease_seconds >>= 1;
static void start_rebound(GDHCPClient *dhcp_client)
{
+ debug(dhcp_client, "start rebound");
+
dhcp_client->state = REBINDING;
dhcp_client->timeout = g_timeout_add_seconds_full(G_PRIORITY_HIGH,
{
GDHCPClient *dhcp_client = user_data;
+ debug(dhcp_client, "start renew timeout");
+
dhcp_client->state = RENEWING;
dhcp_client->lease_seconds >>= 1;
static void start_bound(GDHCPClient *dhcp_client)
{
+ debug(dhcp_client, "start bound");
+
dhcp_client->state = BOUND;
dhcp_client->timeout = g_timeout_add_seconds_full(G_PRIORITY_HIGH,
{
GDHCPClient *dhcp_client = user_data;
+ debug(dhcp_client, "restart DHCP timeout");
+
dhcp_client->ack_retry_times++;
restart_dhcp(dhcp_client, dhcp_client->ack_retry_times);