Newer
Older
AMI-Aptio-BIOS-Reversed / Udp6Dxe / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Init

Udp6Dxe

Index Module Size Phase
0153 Udp6Dxe 40,192 bytes (39.2 KB) DXE

Overview

UDPv6 Network Stack DXE Driver from AmiNetworkPkg/UefiNetworkStack/Ipv6/Udp6Dxe/. Implements EFI_UDP6_SERVICE_BINDING_PROTOCOL and EFI_UDP6_PROTOCOL to provide UDP datagram services over IPv6. Handles datagram transmission/reception, multicast group management, port-based filtering, promiscuous mode, and ICMPv6 error reporting. Sits on top of the Ip6Dxe driver and uses the IpIo (IP I/O) library for IP-layer integration.

Key Functions

  • Udp6DriverEntryPoint: UEFI driver entry point; installs driver binding and component name protocols, initializes random port base.
  • Udp6DriverBindingSupported/Start/Stop: Standard UEFI driver binding for UDP6 service management.
  • Udp6ServiceBindingCreateChild/DestroyChild: Create and destroy UDP6 child instances with per-instance protocol interfaces.
  • Udp6Configure (0x253C): Configure UDP6 instance with station address, remote address, port filters, and timeouts.
  • Udp6Transmit (0x29A4): Build UDP header, compute checksum, send via IpIo/Ip6.
  • Udp6Receive (0x2CAC): Register receive token for asynchronous datagram delivery.
  • Udp6Groups (0x290C): Join/leave IPv6 multicast groups.
  • Udp6DgramRcvd: Datagram receive callback; matches packets to instances by port/address, delivers via token.

Dependencies

  • Ip6Dxe: EFI_IP6_PROTOCOL and EFI_IP6_SERVICE_BINDING_PROTOCOL (via IpIo library)
  • DxeNetLib: NET_BUF, NetMap, linked list, and checksum utilities
  • DxeUdpIoLib: IpIo library for IP-layer abstraction
  • Consumed by: Dhcp6Dxe, HttpBootDxe, DnsDxe, TcpDxe

Platform

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