Ignore:
File:
1 edited

Legend:

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

    re3811c9 rfab2746  
    3737#include <adt/list.h>
    3838#include <bitops.h>
     39#include <byteorder.h>
    3940#include <errno.h>
    4041#include <fibril_synch.h>
     
    418419}
    419420
    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 
    438421int dhcpsrv_link_add(service_id_t link_id)
    439422{
     
    477460        }
    478461
     462        dlink->state = ds_selecting;
     463
    479464        log_msg(LOG_DEFAULT, LVL_DEBUG, "Send DHCPDISCOVER");
    480         rc = dhcp_discover_proc(dlink);
     465        rc = dhcp_send_discover(dlink);
    481466        if (rc != EOK) {
    482467                log_msg(LOG_DEFAULT, LVL_ERROR, "Error sending DHCPDISCOVER.");
     
    485470                goto error;
    486471        }
     472
     473        dlink->retries_left = dhcp_discover_retries;
     474        fibril_timer_set(dlink->timeout, dhcp_discover_timeout_val,
     475            dhcpsrv_discover_timeout, dlink);
    487476
    488477        list_append(&dlink->links, &dhcp_links);
     
    501490}
    502491
    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 
    518492static void dhcpsrv_recv_offer(dhcp_link_t *dlink, dhcp_offer_t *offer)
    519493{
     
    561535                return;
    562536        }
    563 
    564         /* XXX Work around multiple simultaneous sessions issue */
    565         dhcp_transport_fini(&dlink->dt);
    566537
    567538        log_msg(LOG_DEFAULT, LVL_NOTE, "%s: Successfully configured.",
Note: See TracChangeset for help on using the changeset viewer.