提交 d981b883 编写于 作者: B bellard

give a new address at DHCPREQUEST too (useful if the OS remembers its IP address


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1081 c046a42c-6fe2-441c-8c8c-71466251a162
上级 4a4883b8
......@@ -150,6 +150,7 @@ static void bootp_reply(struct bootp_t *bp)
memset(rbp, 0, sizeof(struct bootp_t));
if (dhcp_msg_type == DHCPDISCOVER) {
new_addr:
bc = get_new_addr(&daddr.sin_addr);
if (!bc) {
dprintf("no address left\n");
......@@ -159,8 +160,9 @@ static void bootp_reply(struct bootp_t *bp)
} else {
bc = find_addr(&daddr.sin_addr, bp->bp_hwaddr);
if (!bc) {
dprintf("no address assigned\n");
return;
/* if never assigned, behaves as if it was already
assigned (windows fix because it remembers its address) */
goto new_addr;
}
}
dprintf("offered addr=%08x\n", ntohl(daddr.sin_addr.s_addr));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册