# Ip4Dxe

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 149 | Ip4Dxe | 87,648 bytes (86 KB) | Decompiled |

Ip4Dxe implements the IPv4 protocol driver for the AMI UEFI network stack, producing EFI_IP4_SERVICE_BINDING_PROTOCOL, EFI_IP4_PROTOCOL, and EFI_IP4_CONFIG2_PROTOCOL. It handles IP packet input and output, reassembly and fragmentation, route table management, ARP-mediated interface management, and ICMP error generation. The driver consumes the Managed Network Protocol for underlying MNP frame transmit/receive and supports HII-based configuration via the Config2 NVRAM interface.

## Key Functions

- DriverEntry, DriverBindingSupported, DriverBindingStart, DriverBindingStop
- Ip4CreateService, Ip4DestroyService, Ip4ServiceBindingCx, Ip4DriverNotify
- Ip4CreateInstance, Ip4DestroyInstance, Ip4Configure, Ip4Receive, Ip4Transmit
- Ip4Group, Ip4Routes, Ip4Cancel, Ip4Polls
- Ip4InputHandler, Ip4InputDhcpcd, Ip4AssembleFragments, Ip4IcmpError
- Ip4ConfigInterface, Ip4IfStartNow, Ip4IfStop, Ip4IfInitArpWaitList
- Ip4RouteTableFree, Ip4RouteTableAdd, Ip4RouteTableDel
- Ip4Config2Init, Ip4Config2Set, Ip4Config2Get

## Dependencies

- EFI_MANAGED_NETWORK_PROTOCOL, EFI_IP4_PROTOCOL, EFI_IP4_CONFIG2_PROTOCOL
- UefiBootServicesTableLib, BaseMemoryLib, MemoryAllocationLib, DxeNetLib
- HII Database Protocol, HII Font Protocol, DPC Protocol

## Platform

x86-64, PE32+, UEFI DXE driver, 6 sections (.text/.rdata/.data/section_3/.xdata/.reloc), entry at 0x548