summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c
diff options
context:
space:
mode:
authorsfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2012-10-17 08:23:41 +0000
committersfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2012-10-17 08:23:41 +0000
commit75dce340624dba5e4a79b2e5b2dbe943bae0d0e9 (patch)
treebb2df9255ae3446520031fd0ab40294b9c001243 /NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c
parente98e59c237e17f064a4ecffb39d45499f89720a1 (diff)
downloadedk2-75dce340624dba5e4a79b2e5b2dbe943bae0d0e9.tar.gz
edk2-75dce340624dba5e4a79b2e5b2dbe943bae0d0e9.tar.bz2
edk2-75dce340624dba5e4a79b2e5b2dbe943bae0d0e9.zip
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
Diffstat (limited to 'NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c')
-rw-r--r--NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c b/NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c
index 348a8f29c7..7fc613a665 100644
--- a/NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c
+++ b/NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c
@@ -547,13 +547,15 @@ Mtftp6RrqHandleOack (
);
Instance->McastPort = ExtInfo.McastPort;
- Instance->McastUdpIo = UdpIoCreateIo (
- Instance->Service->Controller,
- Instance->Service->Image,
- Mtftp6RrqConfigMcastUdpIo,
- UDP_IO_UDP6_VERSION,
- Instance
- );
+ if (Instance->McastUdpIo == NULL) {
+ Instance->McastUdpIo = UdpIoCreateIo (
+ Instance->Service->Controller,
+ Instance->Service->Image,
+ Mtftp6RrqConfigMcastUdpIo,
+ UDP_IO_UDP6_VERSION,
+ Instance
+ );
+ }
if (Instance->McastUdpIo == NULL) {
return EFI_DEVICE_ERROR;