Hi,
I found this weird comment (and consequent behavior) in the SnpDxe
PxeSetStnAddr() implementation:
EFI_STATUS
PxeSetStnAddr (
SNP_DRIVER *Snp,
EFI_MAC_ADDRESS *NewMacAddr
)
{
...
...
Snp->Cdb.OpFlags = PXE_OPFLAGS_STATION_ADDRESS_READ;
//
// even though the OPFLAGS are set to READ, supplying a new address
// in the CPB will make undi change the mac address to the new one.
//
CopyMem (&Cpb->StationAddr, NewMacAddr, Snp->Mode.HwAddressSize);
Snp->Cdb.CPBsize = (UINT16) sizeof (PXE_CPB_STATION_ADDRESS);
Snp->Cdb.CPBaddr = (UINT64)(UINTN) Cpb;
}
...
...
}
I looked through the UNDI section in the UEFI 2.4A spec for a statement
declaring that once a CPB is present UNDI corresponding StationAddress() shall
set the current mac address to the address specified in the CPB struct, but my
efforts were in vain.
Can anyone refute (or substantiate) this claim?
Thanks,
Ari
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel