Newer
Older
AMI-Aptio-BIOS-Reversed / AmiNetworkPkg / UefiNetworkStack / Ipv4 / BmcLanConfig / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure

BmcLanConfig

Index Module Size Phase
0253 BmcLanConfig 9,664 bytes DXE (Boot Service Driver)

BmcLanConfig is a UEFI DXE driver that initializes BMC LAN channel settings during boot. It enumerates all available LAN channels on the BMC and configures their IP address, subnet mask, default gateway IP, and gateway MAC address by sending IPMI commands via the IPMI Transport Protocol. Configuration parameters are read from the ServerSetup HII NVRAM variables.

Key Functions

  • InitializeBmcLanConfig -- Module entry point; initializes IPMI transport and configures BMC LAN channels
  • IpmiSendCommandWithRetry -- Sends IPMI commands with configurable retry logic (up to 10 retries with 1-second delay)
  • ReadUnaligned64 -- Helper for unaligned memory reads from HII variable data
  • IsGuidMatch -- GUID comparison utility for protocol and variable lookup

Dependencies

  • UEFI Boot Services (gBS)
  • UEFI Runtime Services (gRT)
  • IPMI Transport Protocol (EFI_IPMI_TRANSPORT_PROTOCOL)
  • HII Database / ServerSetup NVRAM variables
  • BaseMemoryLib, DebugLib, BaseLib, UefiLib
  • IPMI Specification v2.0, Section 18 (LAN Configuration Parameters)

Platform

  • Format: PE32+
  • Machine: x86-64
  • Subsystem: EFI Boot Service Driver (0x0B)
  • Sections: .text, .rdata, .data, section_3, .xdata
  • IPMI NetFn: 0x0C (LAN), 0x06 (Application)