Dynamic Host Configuration Protocol (DHCP) over InfiniBand
Extracted elements (10)
The IPoIB link-layer address is 20 octets long, which exceeds the 16-octet 'chaddr' field in DHCP/BOOTP messages. This size mismatch makes it impossible for a DHCP server to unicast a reply to a client that has not yet been assigned an IP address, necessitating the use of broadcast replies and a surrogate client identifier.
To desynchronize the burst of broadcast responses at subnet startup, RFC 2131 recommends that clients wait a random time (1–10 seconds) before initiating server discovery. This same random delay naturally spreads out DHCP server broadcast responses triggered by the mandatory use of the BROADCAST flag over IPoIB.
RFC 1542 discourages broadcast replies in DHCP, but for IPoIB broadcast is a necessity because the server cannot receive the client's link-layer address via 'chaddr'. Implementors MUST override the RFC 1542 guidance in this context.
A DHCP client on IPoIB MUST set the BROADCAST flag in DHCPDISCOVER and DHCPREQUEST messages and set 'ciaddr' to zero, to ensure the server or relay agent broadcasts its reply when the client does not yet have an IP address.
A DHCP client operating over an IPoIB interface MUST include the 'client-identifier' option in all DHCP messages to provide a unique client identifier in lieu of 'chaddr'.
During BOUND, RENEWING, or REBINDING states, the DHCP client MUST NOT set the BROADCAST flag; instead it MUST fill 'ciaddr' with its IP address so the server can unicast DHCPACK, with the link address resolved by ARP.
The 'client identifier' used in DHCP messages over IPoIB MUST conform to RFC 4361 (Node-specific Client Identifiers for DHCPv4), which defines a stable, node-specific identifier format.
The 'client-identifier' DHCP option (RFC 2132) carries a type-identifier pair. Over IPoIB, this option replaces 'chaddr' as the unique client identifier; when a hardware address is used, the type field should be an ARP hardware type from the IANA registry.
RFC 4390 introduces no new security issues beyond those already described in RFC 2131. All security considerations for standard DHCP apply equally to DHCP over IPoIB.
The 'chaddr' field in a DHCP/BOOTP message is 16 octets in length, while the IPoIB link-layer address is 20 octets (per RFC 4391). When used over IPoIB, 'chaddr' MUST be zeroed, 'hlen' MUST be 0, and 'htype' MUST be 32.