Hello Erich / Maciej:

 

Thanks for your guidelines. With this approach able to program the MAC and PXE boot works.

 

Thank you

Siva

From: erichmcmill@gmail.com
Sent: Friday, March 24, 2023 10:06 AM
To: Sivaraman Nainar; devel@edk2.groups.io
Subject: [EXTERNAL] Re: [edk2-devel] reg: MAC address could not change on pre-boot environment and failed to PXE boot.

 

 

**CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.**

Hi Sivaraman,

We did this recently in project mu, trying to find exactly the changes needed but I recall the following:

  1. Mac Address needs to be programmed before network stack fully loads (pretty sure I only got it working in DXE), possible to add changes from this PR and have an event callback to set mac address
    1. Event Add a named event that is signalled when Snp->Initialize() is executed. · microsoft/mu_basecore@7dc143d (github.com)
    2. DXE Driver code to handle the Mac programming when the SNP is installed Add MacEmulationDxe Support by Erich-McMillan · Pull Request #109 · microsoft/mu_plus (github.com)
      1. If you don't take this driver as is be very careful to copy the TPL levels from event handers not doing this will cause issues
  1. This change to reload the Snp info in ARP might be needed too ArpDriver: refetch Snp Mode data after running MnpConfigure · microsoft/mu_basecore@2b8ad03 (github.com)

Let me know if you have any issues/questions. Its been a while since I looked at this code.

-Erich

 

-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.