# Ip6Dxe

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 0152 | Ip6Dxe | 121,568 bytes (118.7 KB) | DXE |

## Overview

IPv6 Network Stack DXE Driver from AmiNetworkPkg/UefiNetworkStack/Ipv6/Ip6Dxe/. Implements EFI_IP6_SERVICE_BINDING_PROTOCOL, EFI_IP6_PROTOCOL, and EFI_IP6_CONFIG_PROTOCOL to provide full IPv6 networking for the UEFI network stack. Supports Neighbor Discovery (RFC 4861), MLDv1/v2 (RFC 3810), packet fragmentation and reassembly, and HII-based configuration forms. Composed of 315 functions across 8 source files with approximately 92 KB of .text code.

## Key Functions

- **ModuleEntryPoint** (0x548): UEFI driver entry point; initializes globals, locates HII and DPC protocols, checks NetworkStackVar to verify IPv6 is enabled.
- **DriverBinding Supported/Start/Stop** (0x94C/0x1160/0x13F0): Standard UEFI driver binding protocol implementation.
- **Ip6Configure** (0x3950): IP6 protocol configuration including address, route, and neighbor settings.
- **Ip6Output** (0x1FB8): Packet output with route lookup, fragmentation, and source address selection.
- **Ip6Transmit/Ip6Receive** (0x3F4C/0x439C): Core packet transmit and receive path.
- **Ip6ConfigSetData/Ip6ConfigGetData** (0x7988/0x8770): HII configuration data management.
- **Timer tick handler** (0xAB40): 500ms periodic timer for ND retransmission, neighbor reachability probing, and DAD.

## Dependencies

- **MnpDxe**: EFI_MANAGED_NETWORK_PROTOCOL and service binding
- **HII protocols**: gEfiHiiDatabase, gEfiHiiString, gEfiHiiConfigRouting
- **DxeNetLib**: NET_BUF management and IP helper utilities
- **DPC Lib**: Deferred procedure calls for receive path processing
- **Consumed by**: Udp6Dxe, Dhcp6Dxe, HttpBootDxe, DnsDxe, TcpDxe

## Platform

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