1. Fix a bug in PXE driver that the PXE boot do not restart if a new boot option on the different IP stack is selected.
2. Retrieve the IP information after iSCSI TCPv6 connection established and fill it into iBFT table. 3. Generate a random IAID for each NIC port to require different IPv6 address in PXE driver. 4. Update function EfiMtftp6Configure() and Mtftp6RrqHandleOack() to allocate at most one UdpIo. 5. Fix a typo from “destory” to “destroy” in network code. Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Ouyang Qian <qian.ouyang@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13859 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -2348,6 +2348,15 @@ EfiPxeLoadFile (
|
||||
// Start Pxe Base Code to initialize PXE boot.
|
||||
//
|
||||
Status = PxeBc->Start (PxeBc, UsingIpv6);
|
||||
if (Status == EFI_ALREADY_STARTED && UsingIpv6 != PxeBc->Mode->UsingIpv6) {
|
||||
//
|
||||
// PxeBc protocol has already been started but not on the required IP version, restart it.
|
||||
//
|
||||
Status = PxeBc->Stop (PxeBc);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
Status = PxeBc->Start (PxeBc, UsingIpv6);
|
||||
}
|
||||
}
|
||||
if (Status == EFI_SUCCESS || Status == EFI_ALREADY_STARTED) {
|
||||
Status = PxeBcLoadBootFile (Private, BufferSize, Buffer);
|
||||
}
|
||||
|
Reference in New Issue
Block a user