diff options
author | sfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-10-17 08:23:41 +0000 |
---|---|---|
committer | sfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-10-17 08:23:41 +0000 |
commit | 75dce340624dba5e4a79b2e5b2dbe943bae0d0e9 (patch) | |
tree | bb2df9255ae3446520031fd0ab40294b9c001243 /NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c | |
parent | e98e59c237e17f064a4ecffb39d45499f89720a1 (diff) | |
download | edk2-platforms-75dce340624dba5e4a79b2e5b2dbe943bae0d0e9.tar.xz |
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.c | 16 |
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;
|