# Dhcp6Dxe

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 0154 | Dhcp6Dxe | 43,456 bytes (42.4 KB) | DXE |

## Overview

DHCPv6 DXE Driver from AmiNetworkPkg/UefiNetworkStack/Ipv6/Dhcp6Dxe/. Implements EFI_DHCP6_PROTOCOL and EFI_DHCP6_SERVICE_BINDING_PROTOCOL to provide DHCPv6 client functionality for the UEFI network stack. Handles DHCPv6 Solicit/Advertise/Request/Reply message exchanges, IA_NA (Identity Association for Non-temporary Addresses) option processing, and SolRetrans timer-based retransmission per RFC 3315. Contains 130 total functions across source files Dhcp6Driver.c, Dhcp6Impl.c, Dhcp6Io.c, and Dhcp6Utility.c.

## Key Functions

- **Dhcp6DriverEntryPoint**: UEFI driver entry point; installs driver binding protocol.
- **Dhcp6DriverBindingSupported/Start/Stop**: Standard UEFI driver binding for DHCP6 service.
- **Dhcp6CreateService/Dhcp6DestroyService**: Service instance lifecycle management.
- **Dhcp6Solicit**: Transmit DHCPv6 Solicit message and process Advertise responses.
- **Dhcp6Request**: Transmit DHCPv6 Request and process Reply.
- **Dhcp6Receive**: Process incoming DHCPv6 messages with option validation.
- **Dhcp6Retransmit**: SolRetrans timer-based retransmission handler.

## Dependencies

- **Ip6Dxe, Udp6Dxe**: IPv6 and UDP6 protocols for network I/O
- **DxeNetLib**: NET_BUF, linked list, and buffer management
- **DxeUdpIoLib**: IpIo library for UDP/IP abstraction
- **DxeDpcLib**: Deferred procedure call support
- **Consumed by**: Network consumers requiring DHCPv6 address assignment in UEFI

## Platform

Intel Purley (HR650X server platform), x86-64, PE32+ format, 6 sections (.text, .rdata, .data, section_3, .xdata, .reloc)