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

Reply via email to