Changes in uspace/srv/net/dhcp/dhcp.c [fab2746:e3811c9] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/dhcp/dhcp.c
rfab2746 re3811c9 37 37 #include <adt/list.h> 38 38 #include <bitops.h> 39 #include <byteorder.h>40 39 #include <errno.h> 41 40 #include <fibril_synch.h> … … 419 418 } 420 419 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 421 438 int dhcpsrv_link_add(service_id_t link_id) 422 439 { … … 460 477 } 461 478 462 dlink->state = ds_selecting;463 464 479 log_msg(LOG_DEFAULT, LVL_DEBUG, "Send DHCPDISCOVER"); 465 rc = dhcp_ send_discover(dlink);480 rc = dhcp_discover_proc(dlink); 466 481 if (rc != EOK) { 467 482 log_msg(LOG_DEFAULT, LVL_ERROR, "Error sending DHCPDISCOVER."); … … 470 485 goto error; 471 486 } 472 473 dlink->retries_left = dhcp_discover_retries;474 fibril_timer_set(dlink->timeout, dhcp_discover_timeout_val,475 dhcpsrv_discover_timeout, dlink);476 487 477 488 list_append(&dlink->links, &dhcp_links); … … 490 501 } 491 502 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 492 518 static void dhcpsrv_recv_offer(dhcp_link_t *dlink, dhcp_offer_t *offer) 493 519 { … … 535 561 return; 536 562 } 563 564 /* XXX Work around multiple simultaneous sessions issue */ 565 dhcp_transport_fini(&dlink->dt); 537 566 538 567 log_msg(LOG_DEFAULT, LVL_NOTE, "%s: Successfully configured.",
Note:
See TracChangeset
for help on using the changeset viewer.