[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: [patch] robust user-mode DHCP
From: |
John R. Hogerhuis |
Subject: |
Re: [Qemu-devel] Re: [patch] robust user-mode DHCP |
Date: |
Mon, 17 Oct 2005 10:58:55 -0700 |
On Sun, 2005-10-16 at 22:02 -0400, John Coiner wrote:
> It was a tiny bug...
>
> Windows does not like QEMU's DHCP server. Windows always issues
> DHCPDISCOVER and DHCPREQUEST packets in pairs: first the DHCPDISCOVER,
> followed by a DHCPREQUEST. The DHCPREQUEST is a sanity check. Windows
> wants the DHCP server to reply with the same IP for both requests,
> otherwise it does not consider the DHCP operation successful.
>
> QEMU's DHCP server will reply with a new IP for each DHCPDISCOVER.
> However, for a DHCPREQUEST, it replies with the first IP it ever gave
> out on the first DHCPDISCOVER.
>
> As a consequence, Windows' first DHCPDISCOVER/DHCPREQUEST pair succeeds,
> and every subsequent pair fails. That is why disabling and reenabling
> the NIC does not work, and why using the "ipconfig" program to renew the
> DHCP also does not work.
>
I seem to recall this coming up for an IP sharing router I worked on the
firmware for. There were several compatibility glitches with Windows and
the DHCP implementation we had bought from General Software, and I
believe this was one of them.
Good find!
> Yeah, all the stateful connections have some kind of timeout attached,
> after which they vaporize. So I'd agree that there's never a need to
> throw away one copy of slirp and set up another one.
Actually, I think what you did would be nice to have if it was available
as a command from the monitor rather than triggered off a network card
reset.
A proxy server is much like a firewall. In real life, I have had to
reset my firewalls on occasion, so I can imagine it would come in handy
with Slirp too.
-- John.