On Mon, Feb 27, 2012 at 02:58:07PM +0100, Jan Kiszka wrote: > On 2012-02-24 01:23, David Gibson wrote: > > The guest network stack might DHCPREQUEST an address that the slirp built > > in dhcp server can't let it have - for example if the guest has an old > > leases file from another network configuration. In this case the dhcp > > server should and does reject the request and prepares to send a DHCPNAK > > to the client. > > > > However, in this case the daddr variable in bootp_reply() is set to > > 0.0.0.0. Shortly afterwards, it unconditionally attempts to pre-insert the > > new client address into the ARP table. This causes an assertion failure in > > arp_address_add() because of the 0.0.0.0 address. > > > > According to RFC2131, DHCPNAK messages for clients on the same subnet > > must be sent to the broadcast address (S3.2, subpoint 2). > > > > Cc: Jan Kiszka <jan.kis...@siemens.com> > > > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > > Thanks, applied to the slirp queue.
Thanks. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson