Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/dhcp/dhcp.c

    re3811c9 r78192cc7  
    418418}
    419419
    420 static int dhcp_discover_proc(dhcp_link_t *dlink)
    421 {
    422         dlink->state = ds_selecting;
    423 
    424         int rc = dhcp_send_discover(dlink);
    425         if (rc != EOK)
    426                 return EIO;
    427 
    428         dlink->retries_left = dhcp_discover_retries;
    429        
    430         if ((dlink->timeout->state == fts_not_set) ||
    431             (dlink->timeout->state == fts_fired))
    432                 fibril_timer_set(dlink->timeout, dhcp_discover_timeout_val,
    433                     dhcpsrv_discover_timeout, dlink);
    434        
    435         return rc;
    436 }
    437 
    438420int dhcpsrv_link_add(service_id_t link_id)
    439421{
     
    477459        }
    478460
     461        dlink->state = ds_selecting;
     462
    479463        log_msg(LOG_DEFAULT, LVL_DEBUG, "Send DHCPDISCOVER");
    480         rc = dhcp_discover_proc(dlink);
     464        rc = dhcp_send_discover(dlink);
    481465        if (rc != EOK) {
    482466                log_msg(LOG_DEFAULT, LVL_ERROR, "Error sending DHCPDISCOVER.");
     
    485469                goto error;
    486470        }
     471
     472        dlink->retries_left = dhcp_discover_retries;
     473        fibril_timer_set(dlink->timeout, dhcp_discover_timeout_val,
     474            dhcpsrv_discover_timeout, dlink);
    487475
    488476        list_append(&dlink->links, &dhcp_links);
     
    501489}
    502490
    503 int dhcpsrv_discover(service_id_t link_id)
    504 {
    505         log_msg(LOG_DEFAULT, LVL_DEBUG, "dhcpsrv_link_add(%zu)", link_id);
    506        
    507         dhcp_link_t *dlink = dhcpsrv_link_find(link_id);
    508        
    509         if (dlink == NULL) {
    510                 log_msg(LOG_DEFAULT, LVL_NOTE, "Link %zu doesn't exist",
    511                     link_id);
    512                 return EINVAL;
    513         }
    514        
    515         return dhcp_discover_proc(dlink);
    516 }
    517 
    518491static void dhcpsrv_recv_offer(dhcp_link_t *dlink, dhcp_offer_t *offer)
    519492{
     
    561534                return;
    562535        }
    563 
    564         /* XXX Work around multiple simultaneous sessions issue */
    565         dhcp_transport_fini(&dlink->dt);
    566536
    567537        log_msg(LOG_DEFAULT, LVL_NOTE, "%s: Successfully configured.",
Note: See TracChangeset for help on using the changeset viewer.