]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[dhcp] Request broadcast responses when we already have an IPv4 address
authorMichael Brown <mcb30@ipxe.org>
Wed, 20 Jun 2012 10:56:43 +0000 (11:56 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 20 Jun 2012 11:01:50 +0000 (12:01 +0100)
commitc0942408b7ab30745952e801381e931b1b947e1f
treeb7a3ec2291d7904a97f232d8be350521c08d066c
parentb9ef880c8d50ccb89aef7e820aa737f66b63fd90
[dhcp] Request broadcast responses when we already have an IPv4 address

FCoE requires the use of multiple local unicast link-layer addresses.
To avoid the complexity of managing multiple addresses, iPXE operates
in promiscuous mode.  As a consequence, any unicast packets with
non-matching IPv4 addresses are rejected at the IPv4 layer (rather
than at the link layer).

This can cause problems when issuing a second DHCP request: if the
address chosen by the DHCP server does not match the existing address,
then the DHCP response will itself be rejected.

Fix by requesting a broadcast response from the DHCP server if the
network interface already has any IPv4 addresses.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/ip.h
src/net/ipv4.c
src/net/udp/dhcp.c