提交 00749357 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

Print DHCP client state/progress.

上级 b9ca9bf6
...@@ -160,7 +160,42 @@ initnet_worker(void *x) ...@@ -160,7 +160,42 @@ initnet_worker(void *x)
start_timer(&t_dhcpf, &dhcp_fine_tmr, "dhcp f timer", DHCP_FINE_TIMER_MSECS); start_timer(&t_dhcpf, &dhcp_fine_tmr, "dhcp f timer", DHCP_FINE_TIMER_MSECS);
start_timer(&t_dhcpc, &dhcp_coarse_tmr, "dhcp c timer", DHCP_COARSE_TIMER_MSECS); start_timer(&t_dhcpc, &dhcp_coarse_tmr, "dhcp c timer", DHCP_COARSE_TIMER_MSECS);
struct spinlock lk;
struct condvar cv;
int dhcp_state = 0;
const char *dhcp_states[] = {
[DHCP_RENEWING] "renewing",
[DHCP_SELECTING] "selecting",
[DHCP_CHECKING] "checking",
[DHCP_BOUND] "bound",
};
initlock(&lk, "dhcp sleep");
initcondvar(&cv, "dhcp cv sleep");
for (;;) {
if (dhcp_state != nif.dhcp->state) {
dhcp_state = nif.dhcp->state;
cprintf("netd: DHCP state %d (%s)\n", dhcp_state,
dhcp_states[dhcp_state] ? : "unknown");
if (dhcp_state == DHCP_BOUND) {
u32 ip = ntohl(nif.ip_addr.addr);
cprintf("netd: %02x:%02x:%02x:%02x:%02x:%02x"
" bound to %u.%u.%u.%u\n",
nif.hwaddr[0], nif.hwaddr[1], nif.hwaddr[2],
nif.hwaddr[3], nif.hwaddr[4], nif.hwaddr[5],
(ip & 0xff000000) >> 24,
(ip & 0x00ff0000) >> 16,
(ip & 0x0000ff00) >> 8,
(ip & 0x000000ff));
}
}
acquire(&lk);
cv_sleepto(&cv, &lk, nsectime() + 1000000000);
release(&lk);
}
} }
void void
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论