When You Need Order
SLAAC is elegant for consumer devices and IoT, but enterprise environments often need more control. A hospital network needs to know exactly which IP address belongs to which medical device. A security team needs audit logs of IP assignments. A data center needs servers to have predictable, documented addresses. For these use cases, DHCPv6 provides stateful address management.
DHCPv6 works similarly to DHCPv4 — a central server maintains a pool of addresses and assigns them to clients — but with one critical difference: DHCPv6 does not provide the default gateway. In IPv4, DHCP hands out the gateway address (option 3). In IPv6, the default gateway is always communicated via Router Advertisements from NDP. DHCPv6 handles IP addresses and options like DNS servers, NTP servers, and domain search lists.
The RA Flags That Control Everything
The router's RA message contains flags that tell clients which configuration method to use:
| Flag | Name | Meaning |
|---|---|---|
| A | Autonomous | Use SLAAC to self-configure an address |
| M | Managed | Use DHCPv6 to get an IP address |
| O | Other | Use DHCPv6 for "other" config (DNS, NTP) but not the IP |
These flags combine to create four practical modes:
A=1, M=0, O=0 → Pure SLAAC (no DHCPv6 at all)
A=1, M=0, O=1 → SLAAC for IP + DHCPv6 for DNS/NTP (stateless DHCPv6)
A=0, M=1, O=1 → Full DHCPv6 (server assigns IP and options)
A=0, M=1, O=0 → DHCPv6 for IP only (unusual, DNS must be static)
DHCPv6 Message Exchange
Client DHCPv6 Server
│ │
├──── Solicit ──────────────────────►│ "I need an address"
│◄─── Advertise ────────────────────┤ "I can offer 2001:db8::100"
├──── Request ──────────────────────►│ "I'll take 2001:db8::100"
│◄─── Reply ────────────────────────┤ "Confirmed. Lease: 24h"
DHCPv6 Prefix Delegation (PD)
A powerful DHCPv6 feature not present in DHCPv4 is Prefix Delegation. Instead of assigning a single IP to a client, the DHCPv6 server delegates an entire subnet prefix (typically a /60 or /56) to a downstream router. This is how your home ISP router gets a block of IPv6 addresses to distribute to your home devices — the ISP's DHCPv6 server delegates a /56 to your router, and your router then uses that prefix for SLAAC or DHCPv6 on your home network.
ISP DHCPv6 Server
│
└── Delegates 2001:db8:1234::/56 to your home router
│
├── Uses 2001:db8:1234:0001::/64 for WiFi
├── Uses 2001:db8:1234:0002::/64 for wired LAN
└── Uses 2001:db8:1234:0003::/64 for IoT VLAN
Key Point: DHCPv6 provides enterprise-grade control over address assignment and configuration distribution, but it always works alongside NDP (not instead of it) because the default gateway is always delivered via Router Advertisements. The M and O flags in RA messages are the control plane that determines which method clients use — understanding these flags is essential for diagnosing IPv6 connectivity issues.