| | | | | In the message from the | | ... then the server ... | | client the ... | | | | | | | | and and | | | | | | | | | | | | giaddr | ciaddr | bcast | | | | | | (relay) | (cur ip) | bit | | verbs | message types | to | | is | is | is | | | | | |---------+----------+-------+---+------------+---------------------+-----------------------------| | nonzero | * | * | | sends | (all) | 'giaddr' BOOTP relay agent | | | | | | | | | |---------+----------+-------+---+------------+---------------------+-----------------------------| | zero | nonzero | * | | unicasts | DHCPOFFER & DHCPACK | 'ciaddr' client | | | | | | broadcasts | DHCPNACK | 0xffffffff | |---------+----------+-------+---+------------+---------------------+-----------------------------| | zero | zero | 1 | | broadcasts | DHCPOFFER & DHCPACK | 0xffffffff | | | | | | broadcasts | DHCPNACK | 0xffffffff | |---------+----------+-------+---+------------+---------------------+-----------------------------| | zero | zero | 0 | | unicasts | DHCPOFFER & DHCPACK | client hw addr and 'yiaddr' | | | | | | broadcasts | DHCPNACK | 0xffffffff | In all cases, when 'giaddr' is zero, the server broadcasts any DHCPNAK messages to 0xffffffff.