NSX: DHCP Offer is sent as Unicast when the Broadcast flag is set. VMs cannot get IP addresses through PXE boot.
book
Article ID: 317744
calendar_today
Updated On:
Products
VMware NSX
Issue/Introduction
Symptoms: Legacy OS (PXE boot VMs, etc.) are not getting an IP address via local DHCP relay.
Validate the Topology for DHCP relay should be on DR Only as under below categories : Topo-1 : DHCP Server VM >>>>> Router >>>> Tier0 >>>>> Tier-1 >>>>> Seg >>>> DHCP client Topo-2 : DHCP Server VM >>>>> Seg1 >>>>> Tier-1 >>>>> Seg2 > >>>> DHCP client NOTE: Tier-1 is configured with DR only (No edge cluster is set) - Packet capture on Switchport of the VM in question to validate that Client is initiating DISCOVER packet with broadcast flag set as below : 0.030248 0.0.0.0 255.255.255.255 DHCP 389 DHCP Discover - Transaction ID 0xd8fc0509 Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255 Bootp flags: 0x8000, Broadcast flag (Broadcast) 1... .... .... .... = Broadcast flag: Broadcast <<<<<< Broadcast flag is set by Client .000 0000 0000 0000 = Reserved flags: 0x0000 - Now local DHCP relay forwards a unicast DISCOVER packet to the DHCP server. When it receives the expected UNICAST OFFER response from DHCP server, it is supposed to change the bootp flag as broadcast and set the Broadcast IP as well in this OFFER packet. When this issue is present, the flag is set to broadcast but packet is not sent as broadcast as below: 1.500659 10.76.30.1 10.76.30.26 DHCP 364 DHCP Offer - Transaction ID 0xd8fc0509 Frame 21: 364 bytes on wire (2912 bits), 364 bytes captured (2912 bits) Internet Protocol Version 4, Src: 10.76.30.1, Dst: 10.76.30.26 <<<<<<<<<<<< Even with broadcast flag set, the offer packet is sent by DR as unicast. Bootp flags: 0x8000, Broadcast flag (Broadcast) 1... .... .... .... = Broadcast flag: Broadcast <<<<<<< Broadcast flag is set by DR DHCP relay This issue occurs when: - DHCP client is set to initiate Discover with Broadcast flag set - Local DHCP relay is configured on impacted NSX DR on the segment - DHCP server is configured on a different segment via T1
Cause
The DHCP Offer packet is not changed to broadcast even when the Broadcast flag is set in the Offer packet. The Offer is then not entertained by the DHCP client that is expecting a broadcast Offer.
Resolution
This issue has been resolved in NSX 3.2.2, 4.0.0 and later releases.
Workaround: Alternatives of using DR DHCP Server or Edge Based DHCP relay can be evaluated.
Additional Information
Impact/Risks: Legacy workloads cannot get an IP and other details via DHCP.