mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
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:
parent
e98e59c237
commit
75dce34062
@ -2,7 +2,7 @@
|
||||
This library is used to share code between UEFI network stack modules.
|
||||
It provides the helper routines to access UDP service. It is used by both DHCP and MTFTP.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||
@ -137,7 +137,7 @@ struct _UDP_IO {
|
||||
UINT8 UdpVersion;
|
||||
|
||||
//
|
||||
// Handle used to create/destory UDP child
|
||||
// Handle used to create/destroy UDP child
|
||||
//
|
||||
EFI_HANDLE Controller;
|
||||
EFI_HANDLE Image;
|
||||
|
@ -1829,7 +1829,7 @@ NetLibCreateServiceChild (
|
||||
|
||||
|
||||
/**
|
||||
Destory a child of the service that is identified by ServiceBindingGuid.
|
||||
Destroy a child of the service that is identified by ServiceBindingGuid.
|
||||
|
||||
Get the ServiceBinding Protocol first, then use it to destroy a child.
|
||||
|
||||
@ -1838,10 +1838,10 @@ NetLibCreateServiceChild (
|
||||
@param[in] Controller The controller which has the service installed.
|
||||
@param[in] Image The image handle used to open service.
|
||||
@param[in] ServiceBindingGuid The service's Guid.
|
||||
@param[in] ChildHandle The child to destory.
|
||||
@param[in] ChildHandle The child to destroy.
|
||||
|
||||
@retval EFI_SUCCESS The child is successfully destoried.
|
||||
@retval Others Failed to destory the child.
|
||||
@retval EFI_SUCCESS The child is successfully destroyed.
|
||||
@retval Others Failed to destroy the child.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@ -1875,7 +1875,7 @@ NetLibDestroyServiceChild (
|
||||
}
|
||||
|
||||
//
|
||||
// destory the child
|
||||
// destroy the child
|
||||
//
|
||||
Status = Service->DestroyChild (Service, ChildHandle);
|
||||
return Status;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Help functions to access UDP service, it is used by both the DHCP and MTFTP.
|
||||
|
||||
Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||
@ -804,7 +804,7 @@ UdpIoFreeIo (
|
||||
}
|
||||
|
||||
//
|
||||
// Close then destory the Udp4 child
|
||||
// Close then destroy the Udp4 child
|
||||
//
|
||||
gBS->CloseProtocol (
|
||||
UdpIo->UdpHandle,
|
||||
@ -827,7 +827,7 @@ UdpIoFreeIo (
|
||||
}
|
||||
|
||||
//
|
||||
// Close then destory the Udp6 child
|
||||
// Close then destroy the Udp6 child
|
||||
//
|
||||
gBS->CloseProtocol (
|
||||
UdpIo->UdpHandle,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -146,11 +146,11 @@ DhcpConfigUdpIo (
|
||||
|
||||
|
||||
/**
|
||||
Destory the DHCP service. The Dhcp4 service may be partly initialized,
|
||||
Destroy the DHCP service. The Dhcp4 service may be partly initialized,
|
||||
or partly destroyed. If a resource is destroyed, it is marked as so in
|
||||
case the destroy failed and being called again later.
|
||||
|
||||
@param[in] DhcpSb The DHCP service instance to destory.
|
||||
@param[in] DhcpSb The DHCP service instance to destroy.
|
||||
|
||||
@retval EFI_SUCCESS Always return success.
|
||||
|
||||
@ -212,7 +212,7 @@ Dhcp4CreateService (
|
||||
|
||||
DhcpSb->Signature = DHCP_SERVICE_SIGNATURE;
|
||||
DhcpSb->ServiceState = DHCP_UNCONFIGED;
|
||||
DhcpSb->InDestory = FALSE;
|
||||
DhcpSb->InDestroy = FALSE;
|
||||
DhcpSb->Controller = Controller;
|
||||
DhcpSb->Image = ImageHandle;
|
||||
InitializeListHead (&DhcpSb->Children);
|
||||
@ -414,7 +414,7 @@ Dhcp4DriverBindingStop (
|
||||
|
||||
DhcpSb = DHCP_SERVICE_FROM_THIS (ServiceBinding);
|
||||
|
||||
if (DhcpSb->InDestory) {
|
||||
if (DhcpSb->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@ -422,8 +422,8 @@ Dhcp4DriverBindingStop (
|
||||
|
||||
if (NumberOfChildren == 0) {
|
||||
|
||||
DhcpSb->InDestory = TRUE;
|
||||
DhcpSb->ServiceState = DHCP_DESTORY;
|
||||
DhcpSb->InDestroy = TRUE;
|
||||
DhcpSb->ServiceState = DHCP_DESTROY;
|
||||
|
||||
gBS->UninstallProtocolInterface (
|
||||
NicHandle,
|
||||
@ -436,7 +436,7 @@ Dhcp4DriverBindingStop (
|
||||
FreePool (DhcpSb);
|
||||
} else {
|
||||
//
|
||||
// Don't use NET_LIST_FOR_EACH_SAFE here, Dhcp4ServiceBindingDestoryChild
|
||||
// Don't use NET_LIST_FOR_EACH_SAFE here, Dhcp4ServiceBindingDestroyChild
|
||||
// may cause other child to be deleted.
|
||||
//
|
||||
while (!IsListEmpty (&DhcpSb->Children)) {
|
||||
@ -473,7 +473,7 @@ DhcpInitProtocol (
|
||||
InitializeListHead (&Instance->Link);
|
||||
Instance->Handle = NULL;
|
||||
Instance->Service = DhcpSb;
|
||||
Instance->InDestory = FALSE;
|
||||
Instance->InDestroy = FALSE;
|
||||
Instance->CompletionEvent = NULL;
|
||||
Instance->RenewRebindEvent = NULL;
|
||||
Instance->Token = NULL;
|
||||
@ -640,15 +640,15 @@ Dhcp4ServiceBindingDestroyChild (
|
||||
//
|
||||
// A child can be destroyed more than once. For example,
|
||||
// Dhcp4DriverBindingStop will destroy all of its children.
|
||||
// when caller driver is being stopped, it will destory the
|
||||
// when caller driver is being stopped, it will destroy the
|
||||
// dhcp child it opens.
|
||||
//
|
||||
if (Instance->InDestory) {
|
||||
if (Instance->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
Instance->InDestory = TRUE;
|
||||
Instance->InDestroy = TRUE;
|
||||
|
||||
//
|
||||
// Close the Udp4 protocol.
|
||||
@ -670,7 +670,7 @@ Dhcp4ServiceBindingDestroyChild (
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
Instance->InDestory = FALSE;
|
||||
Instance->InDestroy = FALSE;
|
||||
|
||||
gBS->RestoreTPL (OldTpl);
|
||||
return Status;
|
||||
|
@ -6,7 +6,7 @@
|
||||
RFC 1534: Interoperation Between DHCP and BOOTP
|
||||
RFC 3396: Encoding Long Options in DHCP.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -48,12 +48,12 @@ typedef struct _DHCP_PROTOCOL DHCP_PROTOCOL;
|
||||
// The state of the DHCP service. It starts as UNCONFIGED. If
|
||||
// and active child configures the service successfully, it
|
||||
// goes to CONFIGED. If the active child configures NULL, it
|
||||
// goes back to UNCONFIGED. It becomes DESTORY if it is (partly)
|
||||
// destoried.
|
||||
// goes back to UNCONFIGED. It becomes DESTROY if it is (partly)
|
||||
// destroyed.
|
||||
//
|
||||
#define DHCP_UNCONFIGED 0
|
||||
#define DHCP_CONFIGED 1
|
||||
#define DHCP_DESTORY 2
|
||||
#define DHCP_DESTROY 2
|
||||
|
||||
|
||||
struct _DHCP_PROTOCOL {
|
||||
@ -63,7 +63,7 @@ struct _DHCP_PROTOCOL {
|
||||
EFI_HANDLE Handle;
|
||||
DHCP_SERVICE *Service;
|
||||
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
|
||||
EFI_EVENT CompletionEvent;
|
||||
EFI_EVENT RenewRebindEvent;
|
||||
@ -83,8 +83,8 @@ struct _DHCP_SERVICE {
|
||||
UINT32 Signature;
|
||||
EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
|
||||
|
||||
INTN ServiceState; // CONFIGED, UNCONFIGED, and DESTORY
|
||||
BOOLEAN InDestory;
|
||||
INTN ServiceState; // CONFIGED, UNCONFIGED, and DESTROY
|
||||
BOOLEAN InDestroy;
|
||||
|
||||
EFI_HANDLE Controller;
|
||||
EFI_HANDLE Image;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
EFI DHCP protocol implementation.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -972,11 +972,11 @@ DhcpInput (
|
||||
DhcpSb = (DHCP_SERVICE *) Context;
|
||||
|
||||
//
|
||||
// Don't restart receive if error occurs or DHCP is destoried.
|
||||
// Don't restart receive if error occurs or DHCP is destroyed.
|
||||
//
|
||||
if (EFI_ERROR (IoStatus)) {
|
||||
return ;
|
||||
} else if (DhcpSb->ServiceState == DHCP_DESTORY) {
|
||||
} else if (DhcpSb->ServiceState == DHCP_DESTROY) {
|
||||
NetbufFree (UdpPacket);
|
||||
return ;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The driver binding and service binding protocol for IP4 driver.
|
||||
|
||||
Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -118,7 +118,7 @@ Ip4DriverBindingSupported (
|
||||
Clean up a IP4 service binding instance. It will release all
|
||||
the resource allocated by the instance. The instance may be
|
||||
partly initialized, or partly destroyed. If a resource is
|
||||
destroyed, it is marked as that in case the destory failed and
|
||||
destroyed, it is marked as that in case the destroy failed and
|
||||
being called again later.
|
||||
|
||||
@param[in] IpSb The IP4 serviceing binding instance to clean up
|
||||
@ -176,7 +176,7 @@ Ip4CreateService (
|
||||
IpSb->ServiceBinding.CreateChild = Ip4ServiceBindingCreateChild;
|
||||
IpSb->ServiceBinding.DestroyChild = Ip4ServiceBindingDestroyChild;
|
||||
IpSb->State = IP4_SERVICE_UNSTARTED;
|
||||
IpSb->InDestory = FALSE;
|
||||
IpSb->InDestroy = FALSE;
|
||||
|
||||
IpSb->NumChildren = 0;
|
||||
InitializeListHead (&IpSb->Children);
|
||||
@ -315,7 +315,7 @@ ON_ERROR:
|
||||
Clean up a IP4 service binding instance. It will release all
|
||||
the resource allocated by the instance. The instance may be
|
||||
partly initialized, or partly destroyed. If a resource is
|
||||
destroyed, it is marked as that in case the destory failed and
|
||||
destroyed, it is marked as that in case the destroy failed and
|
||||
being called again later.
|
||||
|
||||
@param[in] IpSb The IP4 serviceing binding instance to clean up
|
||||
@ -581,7 +581,7 @@ Ip4DriverBindingStop (
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
if (IpSb->Ip4Config != NULL && (IpSb->State != IP4_SERVICE_DESTORY)) {
|
||||
if (IpSb->Ip4Config != NULL && (IpSb->State != IP4_SERVICE_DESTROY)) {
|
||||
|
||||
IpSb->Ip4Config->Stop (IpSb->Ip4Config);
|
||||
|
||||
@ -651,7 +651,7 @@ Ip4DriverBindingStop (
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
if (IpSb->InDestory) {
|
||||
if (IpSb->InDestroy) {
|
||||
gBS->RestoreTPL (OldTpl);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@ -668,10 +668,10 @@ Ip4DriverBindingStop (
|
||||
goto ON_ERROR;
|
||||
}
|
||||
|
||||
IpSb->InDestory = TRUE;
|
||||
IpSb->InDestroy = TRUE;
|
||||
|
||||
State = IpSb->State;
|
||||
IpSb->State = IP4_SERVICE_DESTORY;
|
||||
IpSb->State = IP4_SERVICE_DESTROY;
|
||||
|
||||
//
|
||||
// Clear the variable data.
|
||||
@ -696,10 +696,10 @@ Ip4DriverBindingStop (
|
||||
|
||||
FreePool (IpSb);
|
||||
} else if (NumberOfChildren == 0) {
|
||||
IpSb->InDestory = TRUE;
|
||||
IpSb->InDestroy = TRUE;
|
||||
|
||||
State = IpSb->State;
|
||||
IpSb->State = IP4_SERVICE_DESTORY;
|
||||
IpSb->State = IP4_SERVICE_DESTROY;
|
||||
|
||||
//
|
||||
// Clear the variable data.
|
||||
@ -912,18 +912,18 @@ Ip4ServiceBindingDestroyChild (
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
//
|
||||
// A child can be destoried more than once. For example,
|
||||
// Ip4DriverBindingStop will destory all of its children.
|
||||
// when UDP driver is being stopped, it will destory all
|
||||
// A child can be destroyed more than once. For example,
|
||||
// Ip4DriverBindingStop will destroy all of its children.
|
||||
// when UDP driver is being stopped, it will destroy all
|
||||
// the IP child it opens.
|
||||
//
|
||||
if (IpInstance->State == IP4_STATE_DESTORY) {
|
||||
if (IpInstance->State == IP4_STATE_DESTROY) {
|
||||
gBS->RestoreTPL (OldTpl);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
State = IpInstance->State;
|
||||
IpInstance->State = IP4_STATE_DESTORY;
|
||||
IpInstance->State = IP4_STATE_DESTROY;
|
||||
|
||||
//
|
||||
// Close the Managed Network protocol.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implement IP4 pesudo interface.
|
||||
|
||||
Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -745,10 +745,10 @@ Ip4FreeInterface (
|
||||
}
|
||||
|
||||
//
|
||||
// Destory the interface if this is the last IP instance that
|
||||
// Destroy the interface if this is the last IP instance that
|
||||
// has the address. Remove all the system transmitted packets
|
||||
// from this interface, cancel the receive request if there is
|
||||
// one, and destory the ARP requests.
|
||||
// one, and destroy the ARP requests.
|
||||
//
|
||||
Ip4CancelFrames (Interface, EFI_ABORTED, Ip4CancelInstanceFrame, NULL);
|
||||
Ip4CancelReceive (Interface);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Definition for IP4 pesudo interface structure.
|
||||
|
||||
Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -154,7 +154,7 @@ struct _IP4_INTERFACE {
|
||||
BOOLEAN Configured;
|
||||
|
||||
//
|
||||
// Handle used to create/destory ARP child. All the IP children
|
||||
// Handle used to create/destroy ARP child. All the IP children
|
||||
// share one MNP which is owned by IP service binding.
|
||||
//
|
||||
EFI_HANDLE Controller;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -1256,7 +1256,7 @@ EfiIp4Configure (
|
||||
Status = Ip4CleanProtocol (IpInstance);
|
||||
|
||||
//
|
||||
// Don't change the state if it is DESTORY, consider the following
|
||||
// Don't change the state if it is DESTROY, consider the following
|
||||
// valid sequence: Mnp is unloaded-->Ip Stopped-->Udp Stopped,
|
||||
// Configure (ThisIp, NULL). If the state is changed to UNCONFIGED,
|
||||
// the unload fails miserably.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Ip4 internal functions and type defintions.
|
||||
|
||||
Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -50,23 +50,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
// The state of IP4 protocol. It starts from UNCONFIGED. if it is
|
||||
// successfully configured, it goes to CONFIGED. if configure NULL
|
||||
// is called, it becomes UNCONFIGED again. If (partly) destoried, it
|
||||
// becomes DESTORY.
|
||||
// is called, it becomes UNCONFIGED again. If (partly) destroyed, it
|
||||
// becomes DESTROY.
|
||||
//
|
||||
#define IP4_STATE_UNCONFIGED 0
|
||||
#define IP4_STATE_CONFIGED 1
|
||||
#define IP4_STATE_DESTORY 2
|
||||
#define IP4_STATE_DESTROY 2
|
||||
|
||||
//
|
||||
// The state of IP4 service. It starts from UNSTARTED. It transits
|
||||
// to STARTED if autoconfigure is started. If default address is
|
||||
// configured, it becomes CONFIGED. and if partly destoried, it goes
|
||||
// to DESTORY.
|
||||
// configured, it becomes CONFIGED. and if partly destroyed, it goes
|
||||
// to DESTROY.
|
||||
//
|
||||
#define IP4_SERVICE_UNSTARTED 0
|
||||
#define IP4_SERVICE_STARTED 1
|
||||
#define IP4_SERVICE_CONFIGED 2
|
||||
#define IP4_SERVICE_DESTORY 3
|
||||
#define IP4_SERVICE_DESTROY 3
|
||||
|
||||
|
||||
///
|
||||
@ -160,7 +160,7 @@ struct _IP4_SERVICE {
|
||||
UINT32 Signature;
|
||||
EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
|
||||
INTN State;
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
|
||||
//
|
||||
// List of all the IP instances and interfaces, and default
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
IP4 input process.
|
||||
|
||||
Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -845,7 +845,7 @@ Ip4AccpetFrame (
|
||||
IpSb = (IP4_SERVICE *) Context;
|
||||
Option = NULL;
|
||||
|
||||
if (EFI_ERROR (IoStatus) || (IpSb->State == IP4_SERVICE_DESTORY)) {
|
||||
if (EFI_ERROR (IoStatus) || (IpSb->State == IP4_SERVICE_DESTROY)) {
|
||||
goto DROP;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation of Mtftp drivers.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -159,7 +159,7 @@ Mtftp4CreateService (
|
||||
|
||||
MtftpSb->Signature = MTFTP4_SERVICE_SIGNATURE;
|
||||
MtftpSb->ServiceBinding = gMtftp4ServiceBindingTemplete;
|
||||
MtftpSb->InDestory = FALSE;
|
||||
MtftpSb->InDestroy = FALSE;
|
||||
MtftpSb->ChildrenNum = 0;
|
||||
InitializeListHead (&MtftpSb->Children);
|
||||
|
||||
@ -374,7 +374,7 @@ Mtftp4DriverBindingStop (
|
||||
|
||||
MtftpSb = MTFTP4_SERVICE_FROM_THIS (ServiceBinding);
|
||||
|
||||
if (MtftpSb->InDestory) {
|
||||
if (MtftpSb->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@ -382,7 +382,7 @@ Mtftp4DriverBindingStop (
|
||||
|
||||
if (NumberOfChildren == 0) {
|
||||
|
||||
MtftpSb->InDestory = TRUE;
|
||||
MtftpSb->InDestroy = TRUE;
|
||||
|
||||
gBS->UninstallProtocolInterface (
|
||||
NicHandle,
|
||||
@ -429,7 +429,7 @@ Mtftp4InitProtocol (
|
||||
InitializeListHead (&Instance->Link);
|
||||
CopyMem (&Instance->Mtftp4, &gMtftp4ProtocolTemplate, sizeof (Instance->Mtftp4));
|
||||
Instance->State = MTFTP4_STATE_UNCONFIGED;
|
||||
Instance->InDestory = FALSE;
|
||||
Instance->InDestroy = FALSE;
|
||||
Instance->Service = MtftpSb;
|
||||
|
||||
InitializeListHead (&Instance->Blocks);
|
||||
@ -548,14 +548,14 @@ ON_ERROR:
|
||||
|
||||
|
||||
/**
|
||||
Destory one of the service binding's child.
|
||||
Destroy one of the service binding's child.
|
||||
|
||||
@param This The service binding instance
|
||||
@param ChildHandle The child handle to destory
|
||||
@param ChildHandle The child handle to destroy
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The parameter is invaid.
|
||||
@retval EFI_UNSUPPORTED The child may have already been destoried.
|
||||
@retval EFI_SUCCESS The child is destoried and removed from the
|
||||
@retval EFI_UNSUPPORTED The child may have already been destroyed.
|
||||
@retval EFI_SUCCESS The child is destroyed and removed from the
|
||||
parent's child list.
|
||||
|
||||
**/
|
||||
@ -599,11 +599,11 @@ Mtftp4ServiceBindingDestroyChild (
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Instance->InDestory) {
|
||||
if (Instance->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
Instance->InDestory = TRUE;
|
||||
Instance->InDestroy = TRUE;
|
||||
|
||||
//
|
||||
// Close the Udp4 protocol.
|
||||
@ -625,7 +625,7 @@ Mtftp4ServiceBindingDestroyChild (
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
Instance->InDestory = FALSE;
|
||||
Instance->InDestroy = FALSE;
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Mtftp drivers function header.
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -113,14 +113,14 @@ Mtftp4ServiceBindingCreateChild (
|
||||
);
|
||||
|
||||
/**
|
||||
Destory one of the service binding's child.
|
||||
Destroy one of the service binding's child.
|
||||
|
||||
@param This The service binding instance
|
||||
@param ChildHandle The child handle to destory
|
||||
@param ChildHandle The child handle to destroy
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The parameter is invaid.
|
||||
@retval EFI_UNSUPPORTED The child may have already been destoried.
|
||||
@retval EFI_SUCCESS The child is destoried and removed from the
|
||||
@retval EFI_UNSUPPORTED The child may have already been destroyed.
|
||||
@retval EFI_SUCCESS The child is destroyed and removed from the
|
||||
parent's child list.
|
||||
|
||||
**/
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Interface routine for Mtftp4.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -1073,7 +1073,7 @@ EfiMtftp4Poll (
|
||||
|
||||
if (Instance->State == MTFTP4_STATE_UNCONFIGED) {
|
||||
return EFI_NOT_STARTED;
|
||||
} else if (Instance->State == MTFTP4_STATE_DESTORY) {
|
||||
} else if (Instance->State == MTFTP4_STATE_DESTROY) {
|
||||
return EFI_DEVICE_ERROR;
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
RFC2348 - TFTP Blocksize Option
|
||||
RFC2349 - TFTP Timeout Interval and Transfer Size Options
|
||||
|
||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -59,7 +59,7 @@ typedef struct _MTFTP4_PROTOCOL MTFTP4_PROTOCOL;
|
||||
|
||||
#define MTFTP4_STATE_UNCONFIGED 0
|
||||
#define MTFTP4_STATE_CONFIGED 1
|
||||
#define MTFTP4_STATE_DESTORY 2
|
||||
#define MTFTP4_STATE_DESTROY 2
|
||||
|
||||
///
|
||||
/// Mtftp service block
|
||||
@ -68,7 +68,7 @@ struct _MTFTP4_SERVICE {
|
||||
UINT32 Signature;
|
||||
EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
|
||||
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
|
||||
UINT16 ChildrenNum;
|
||||
LIST_ENTRY Children;
|
||||
@ -99,7 +99,7 @@ struct _MTFTP4_PROTOCOL {
|
||||
EFI_MTFTP4_PROTOCOL Mtftp4;
|
||||
|
||||
INTN State;
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
|
||||
MTFTP4_SERVICE *Service;
|
||||
EFI_HANDLE Handle;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation of the Socket.
|
||||
|
||||
Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -739,7 +739,7 @@ SockDestroy (
|
||||
|
||||
}
|
||||
//
|
||||
// Destory the RcvBuffer Queue and SendBuffer Queue
|
||||
// Destroy the RcvBuffer Queue and SendBuffer Queue
|
||||
//
|
||||
NetbufQueFree (Sock->RcvBuffer.DataQueue);
|
||||
NetbufQueFree (Sock->SndBuffer.DataQueue);
|
||||
@ -754,7 +754,7 @@ SockDestroy (
|
||||
|
||||
DEBUG (
|
||||
(EFI_D_INFO,
|
||||
"SockDestory: Delete a unaccepted socket from parent"
|
||||
"SockDestroy: Delete a unaccepted socket from parent"
|
||||
"now conncnt is %d\n",
|
||||
Sock->Parent->ConnCnt)
|
||||
);
|
||||
|
@ -131,7 +131,7 @@ SockBufferToken (
|
||||
|
||||
|
||||
/**
|
||||
Destory the socket Sock and its associated protocol control block.
|
||||
Destroy the socket Sock and its associated protocol control block.
|
||||
|
||||
@param Sock The socket to be destroyed.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Socket header file.
|
||||
|
||||
Copyright (c) 2005 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -723,7 +723,7 @@ SockCreateChild (
|
||||
);
|
||||
|
||||
/**
|
||||
Destory the socket Sock and its associated protocol control block.
|
||||
Destroy the socket Sock and its associated protocol control block.
|
||||
|
||||
@param Sock The socket to be destroyed.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Support for PxeBc dhcp functions.
|
||||
|
||||
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -203,7 +203,7 @@ PxeBcParseCachedDhcpPacket (
|
||||
(Offer->Dhcp4.Header.BootFileName[0] != 0)) {
|
||||
//
|
||||
// If the bootfile is not present and bootfilename is present in dhcp packet, just parse it.
|
||||
// And do not count dhcp option header, or else will destory the serverhostname.
|
||||
// And do not count dhcp option header, or else will destroy the serverhostname.
|
||||
//
|
||||
Options[PXEBC_DHCP4_TAG_INDEX_BOOTFILE] = (EFI_DHCP4_PACKET_OPTION *) (&Offer->Dhcp4.Header.BootFileName[0] -
|
||||
OFFSET_OF (EFI_DHCP4_PACKET_OPTION, Data[0]));
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The implementation for Ping6 application.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -802,13 +802,13 @@ ON_ERROR:
|
||||
}
|
||||
|
||||
/**
|
||||
Destory the IP6 instance.
|
||||
Destroy the IP6 instance.
|
||||
|
||||
@param[in] Private The pointer of PING6_PRIVATE_DATA.
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ping6DestoryIp6Instance (
|
||||
Ping6DestroyIp6Instance (
|
||||
IN PING6_PRIVATE_DATA *Private
|
||||
)
|
||||
{
|
||||
@ -1019,7 +1019,7 @@ ON_EXIT:
|
||||
}
|
||||
|
||||
if (Private->Ip6ChildHandle != NULL) {
|
||||
Ping6DestoryIp6Instance (Private);
|
||||
Ping6DestroyIp6Instance (Private);
|
||||
}
|
||||
|
||||
FreePool (Private);
|
||||
|
@ -82,7 +82,7 @@ Dhcp6ConfigureUdpIo (
|
||||
|
||||
|
||||
/**
|
||||
Destory the Dhcp6 service. The Dhcp6 service may be partly initialized,
|
||||
Destroy the Dhcp6 service. The Dhcp6 service may be partly initialized,
|
||||
or partly destroyed. If a resource is destroyed, it is marked as such in
|
||||
case the destroy failed and being called again later.
|
||||
|
||||
@ -95,7 +95,7 @@ Dhcp6DestroyService (
|
||||
)
|
||||
{
|
||||
//
|
||||
// All children instances should have been already destoryed here.
|
||||
// All children instances should have been already destroyed here.
|
||||
//
|
||||
ASSERT (Service->NumOfChild == 0);
|
||||
|
||||
@ -155,7 +155,7 @@ Dhcp6CreateService (
|
||||
// Initialize the fields of the new Dhcp6 service.
|
||||
//
|
||||
Dhcp6Srv->Signature = DHCP6_SERVICE_SIGNATURE;
|
||||
Dhcp6Srv->InDestory = FALSE;
|
||||
Dhcp6Srv->InDestroy = FALSE;
|
||||
Dhcp6Srv->Controller = Controller;
|
||||
Dhcp6Srv->Image = ImageHandle;
|
||||
Dhcp6Srv->Xid = (0xffffff & NET_RANDOM (NetRandomInitSeed ()));
|
||||
@ -294,7 +294,7 @@ Dhcp6CreateInstance (
|
||||
Dhcp6Ins->Signature = DHCP6_INSTANCE_SIGNATURE;
|
||||
Dhcp6Ins->UdpSts = EFI_ALREADY_STARTED;
|
||||
Dhcp6Ins->Service = Service;
|
||||
Dhcp6Ins->InDestory = FALSE;
|
||||
Dhcp6Ins->InDestroy = FALSE;
|
||||
Dhcp6Ins->MediaPresent = TRUE;
|
||||
|
||||
CopyMem (
|
||||
@ -528,7 +528,7 @@ Dhcp6DriverBindingStop (
|
||||
|
||||
Service = DHCP6_SERVICE_FROM_THIS (ServiceBinding);
|
||||
|
||||
if (Service->InDestory) {
|
||||
if (Service->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@ -536,9 +536,9 @@ Dhcp6DriverBindingStop (
|
||||
|
||||
if (NumberOfChildren == 0) {
|
||||
//
|
||||
// Destory the service itself if no child instance left.
|
||||
// Destroy the service itself if no child instance left.
|
||||
//
|
||||
Service->InDestory = TRUE;
|
||||
Service->InDestroy = TRUE;
|
||||
|
||||
Status = gBS->UninstallProtocolInterface (
|
||||
NicHandle,
|
||||
@ -547,7 +547,7 @@ Dhcp6DriverBindingStop (
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
Service->InDestory = FALSE;
|
||||
Service->InDestroy = FALSE;
|
||||
goto ON_EXIT;
|
||||
}
|
||||
|
||||
@ -555,7 +555,7 @@ Dhcp6DriverBindingStop (
|
||||
|
||||
} else {
|
||||
//
|
||||
// Destory all the children instances before destory the service.
|
||||
// Destroy all the children instances before destroy the service.
|
||||
//
|
||||
while (!IsListEmpty (&Service->Child)) {
|
||||
Instance = NET_LIST_HEAD (&Service->Child, DHCP6_INSTANCE, Link);
|
||||
@ -747,13 +747,13 @@ Dhcp6ServiceBindingDestroyChild (
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Instance->InDestory) {
|
||||
if (Instance->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
Instance->InDestory = TRUE;
|
||||
Instance->InDestroy = TRUE;
|
||||
|
||||
Status = gBS->CloseProtocol (
|
||||
Service->UdpIo->UdpHandle,
|
||||
@ -763,7 +763,7 @@ Dhcp6ServiceBindingDestroyChild (
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
Instance->InDestory = FALSE;
|
||||
Instance->InDestroy = FALSE;
|
||||
gBS->RestoreTPL (OldTpl);
|
||||
return Status;
|
||||
}
|
||||
@ -778,7 +778,7 @@ Dhcp6ServiceBindingDestroyChild (
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
Instance->InDestory = FALSE;
|
||||
Instance->InDestroy = FALSE;
|
||||
gBS->RestoreTPL (OldTpl);
|
||||
return Status;
|
||||
}
|
||||
|
@ -246,7 +246,7 @@ struct _DHCP6_INSTANCE {
|
||||
UINT8 AdPref;
|
||||
EFI_IPv6_ADDRESS *Unicast;
|
||||
EFI_STATUS UdpSts;
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
BOOLEAN MediaPresent;
|
||||
UINT64 StartTime;
|
||||
};
|
||||
@ -266,7 +266,7 @@ struct _DHCP6_SERVICE {
|
||||
UINT32 Xid;
|
||||
LIST_ENTRY Child;
|
||||
UINTN NumOfChild;
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -52,7 +52,7 @@ Dhcp6EnqueueRetry (
|
||||
}
|
||||
|
||||
//
|
||||
// Save tx packet pointer, and it will be destoryed when reply received.
|
||||
// Save tx packet pointer, and it will be destroyed when reply received.
|
||||
//
|
||||
TxCb->TxPacket = Packet;
|
||||
TxCb->Xid = Packet->Dhcp6.Header.TransactionId;
|
||||
@ -2510,7 +2510,7 @@ Dhcp6HandleStateful (
|
||||
ClientId = Service->ClientId;
|
||||
Status = EFI_SUCCESS;
|
||||
|
||||
if (Instance->InDestory || Instance->Config == NULL) {
|
||||
if (Instance->InDestroy || Instance->Config == NULL) {
|
||||
goto ON_CONTINUE;
|
||||
}
|
||||
|
||||
@ -2624,7 +2624,7 @@ Dhcp6HandleStateless (
|
||||
IsMatched = FALSE;
|
||||
InfCb = NULL;
|
||||
|
||||
if (Instance->InDestory) {
|
||||
if (Instance->InDestroy) {
|
||||
goto ON_EXIT;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation for iSCSI Boot Firmware Table publication.
|
||||
|
||||
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -310,18 +310,18 @@ IScsiFillNICAndTargetSections (
|
||||
//
|
||||
// Map the various v4 addresses into v6 addresses.
|
||||
//
|
||||
IScsiMapV4ToV6Addr (&NvData->LocalIp, &Nic->Ip);
|
||||
IScsiMapV4ToV6Addr (&NvData->Gateway, &Nic->Gateway);
|
||||
IScsiMapV4ToV6Addr (&NvData->LocalIp.v4, &Nic->Ip);
|
||||
IScsiMapV4ToV6Addr (&NvData->Gateway.v4, &Nic->Gateway);
|
||||
IScsiMapV4ToV6Addr (&Attempt->PrimaryDns.v4, &Nic->PrimaryDns);
|
||||
IScsiMapV4ToV6Addr (&Attempt->SecondaryDns.v4, &Nic->SecondaryDns);
|
||||
IScsiMapV4ToV6Addr (&Attempt->DhcpServer.v4, &Nic->DhcpServer);
|
||||
|
||||
} else if (NvData->IpMode == IP_MODE_IP6 || NvData->IpMode == IP_MODE_AUTOCONFIG) {
|
||||
//
|
||||
// TODO: The subnet mask/local ip/gateway/dhcpserver for iBFT-IPv6 needs to be
|
||||
// confirmed with spec owner.
|
||||
//
|
||||
|
||||
Nic->SubnetMaskPrefixLength = NvData->PrefixLength;
|
||||
CopyMem (&Nic->Ip, &NvData->LocalIp, sizeof (EFI_IPv6_ADDRESS));
|
||||
CopyMem (&Nic->Gateway, &NvData->Gateway, sizeof (EFI_IPv6_ADDRESS));
|
||||
|
||||
CopyMem (&Nic->PrimaryDns, &Attempt->PrimaryDns, sizeof (EFI_IPv6_ADDRESS));
|
||||
CopyMem (&Nic->SecondaryDns, &Attempt->SecondaryDns, sizeof (EFI_IPv6_ADDRESS));
|
||||
//
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The shared head file for iSCSI driver.
|
||||
|
||||
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -23,6 +23,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include <Protocol/DevicePath.h>
|
||||
#include <Protocol/HiiConfigAccess.h>
|
||||
|
||||
#include <Protocol/Ip6.h>
|
||||
#include <Protocol/Dhcp4.h>
|
||||
#include <Protocol/Dhcp6.h>
|
||||
#include <Protocol/Tcp4.h>
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Miscellaneous definitions for iSCSI driver.
|
||||
|
||||
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -23,14 +23,15 @@ typedef struct _ISCSI_SESSION_CONFIG_NVDATA {
|
||||
UINT8 Enabled;
|
||||
UINT8 IpMode;
|
||||
|
||||
EFI_IPv4_ADDRESS LocalIp;
|
||||
EFI_IP_ADDRESS LocalIp;
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
EFI_IPv4_ADDRESS Gateway;
|
||||
EFI_IP_ADDRESS Gateway;
|
||||
|
||||
BOOLEAN InitiatorInfoFromDhcp;
|
||||
BOOLEAN TargetInfoFromDhcp;
|
||||
CHAR8 TargetName[ISCSI_NAME_MAX_SIZE];
|
||||
EFI_IP_ADDRESS TargetIp;
|
||||
UINT8 PrefixLength;
|
||||
UINT8 BootLun[8];
|
||||
|
||||
UINT16 ConnectTimeout; ///< timout value in milliseconds
|
||||
|
@ -308,6 +308,98 @@ IScsiDestroyConnection (
|
||||
FreePool (Conn);
|
||||
}
|
||||
|
||||
/**
|
||||
Retrieve the IPv6 Address/Prefix/Gateway from the established TCP connection, these informations
|
||||
will be filled in the iSCSI Boot Firmware Table.
|
||||
|
||||
@param[in] Conn The connection used in the iSCSI login phase.
|
||||
|
||||
@retval EFI_SUCCESS Get the NIC information successfully.
|
||||
@retval Others Other errors as indicated.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
IScsiGetIp6NicInfo (
|
||||
IN ISCSI_CONNECTION *Conn
|
||||
)
|
||||
{
|
||||
ISCSI_SESSION_CONFIG_NVDATA *NvData;
|
||||
EFI_TCP6_PROTOCOL *Tcp6;
|
||||
EFI_IP6_MODE_DATA Ip6ModeData;
|
||||
EFI_STATUS Status;
|
||||
EFI_IPv6_ADDRESS *TargetIp;
|
||||
UINTN Index;
|
||||
UINT8 SubnetPrefixLength;
|
||||
UINTN RouteEntry;
|
||||
|
||||
NvData = &Conn->Session->ConfigData->SessionConfigData;
|
||||
TargetIp = &NvData->TargetIp.v6;
|
||||
Tcp6 = Conn->TcpIo.Tcp.Tcp6;
|
||||
|
||||
ZeroMem (&Ip6ModeData, sizeof (EFI_IP6_MODE_DATA));
|
||||
Status = Tcp6->GetModeData (
|
||||
Tcp6,
|
||||
NULL,
|
||||
NULL,
|
||||
&Ip6ModeData,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
if (!Ip6ModeData.IsConfigured) {
|
||||
Status = EFI_ABORTED;
|
||||
goto ON_EXIT;
|
||||
}
|
||||
|
||||
IP6_COPY_ADDRESS (&NvData->LocalIp, &Ip6ModeData.ConfigData.StationAddress);
|
||||
|
||||
NvData->PrefixLength = 0;
|
||||
for (Index = 0; Index < Ip6ModeData.AddressCount; Index++) {
|
||||
if (EFI_IP6_EQUAL (&NvData->LocalIp.v6, &Ip6ModeData.AddressList[Index].Address)) {
|
||||
NvData->PrefixLength = Ip6ModeData.AddressList[Index].PrefixLength;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
SubnetPrefixLength = 0;
|
||||
RouteEntry = Ip6ModeData.RouteCount;
|
||||
for (Index = 0; Index < Ip6ModeData.RouteCount; Index++) {
|
||||
if (NetIp6IsNetEqual (TargetIp, &Ip6ModeData.RouteTable[Index].Destination, Ip6ModeData.RouteTable[Index].PrefixLength)) {
|
||||
if (SubnetPrefixLength < Ip6ModeData.RouteTable[Index].PrefixLength) {
|
||||
SubnetPrefixLength = Ip6ModeData.RouteTable[Index].PrefixLength;
|
||||
RouteEntry = Index;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (RouteEntry != Ip6ModeData.RouteCount) {
|
||||
IP6_COPY_ADDRESS (&NvData->Gateway, &Ip6ModeData.RouteTable[RouteEntry].Gateway);
|
||||
}
|
||||
|
||||
ON_EXIT:
|
||||
if (Ip6ModeData.AddressList != NULL) {
|
||||
FreePool (Ip6ModeData.AddressList);
|
||||
}
|
||||
if (Ip6ModeData.GroupTable!= NULL) {
|
||||
FreePool (Ip6ModeData.GroupTable);
|
||||
}
|
||||
if (Ip6ModeData.RouteTable!= NULL) {
|
||||
FreePool (Ip6ModeData.RouteTable);
|
||||
}
|
||||
if (Ip6ModeData.NeighborCache!= NULL) {
|
||||
FreePool (Ip6ModeData.NeighborCache);
|
||||
}
|
||||
if (Ip6ModeData.PrefixTable!= NULL) {
|
||||
FreePool (Ip6ModeData.PrefixTable);
|
||||
}
|
||||
if (Ip6ModeData.IcmpTypeList!= NULL) {
|
||||
FreePool (Ip6ModeData.IcmpTypeList);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
Login the iSCSI session.
|
||||
@ -395,6 +487,10 @@ IScsiSessionLogin (
|
||||
);
|
||||
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
if (mPrivate->Ipv6Flag) {
|
||||
Status = IScsiGetIp6NicInfo (Conn);
|
||||
}
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The implementation of EFI IPv6 Configuration Protocol.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -2316,12 +2316,12 @@ Ip6ConfigCleanInstance (
|
||||
}
|
||||
|
||||
/**
|
||||
Destory the Dhcp6 child in IP6_CONFIG_INSTANCE and release the resources.
|
||||
Destroy the Dhcp6 child in IP6_CONFIG_INSTANCE and release the resources.
|
||||
|
||||
@param[in, out] Instance The buffer of IP6_CONFIG_INSTANCE to be freed.
|
||||
|
||||
@retval EFI_SUCCESS The child was successfully destroyed.
|
||||
@retval Others Failed to destory the child.
|
||||
@retval Others Failed to destroy the child.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Definitions for EFI IPv6 Configuartion Protocol implementation.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -279,12 +279,12 @@ Ip6ConfigCleanInstance (
|
||||
);
|
||||
|
||||
/**
|
||||
Destory the Dhcp6 child in IP6_CONFIG_INSTANCE and release the resources.
|
||||
Destroy the Dhcp6 child in IP6_CONFIG_INSTANCE and release the resources.
|
||||
|
||||
@param[in, out] Instance The buffer of IP6_CONFIG_INSTANCE to be freed.
|
||||
|
||||
@retval EFI_SUCCESS The child was successfully destroyed.
|
||||
@retval Others Failed to destory the child.
|
||||
@retval Others Failed to destroy the child.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The driver binding and service binding protocol for IP6 driver.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -94,7 +94,7 @@ Ip6DriverBindingSupported (
|
||||
Clean up an IP6 service binding instance. It releases all
|
||||
the resource allocated by the instance. The instance may be
|
||||
partly initialized, or partly destroyed. If a resource is
|
||||
destroyed, it is marked as that in case the destory failed and
|
||||
destroyed, it is marked as that in case the destroy failed and
|
||||
being called again later.
|
||||
|
||||
@param[in] IpSb The IP6 service binding instance to clean up.
|
||||
@ -852,8 +852,8 @@ Ip6ServiceBindingDestroyChild (
|
||||
|
||||
//
|
||||
// A child can be destroyed more than once. For example,
|
||||
// Ip6DriverBindingStop will destory all of its children.
|
||||
// when UDP driver is being stopped, it will destory all
|
||||
// Ip6DriverBindingStop will destroy all of its children.
|
||||
// when UDP driver is being stopped, it will destroy all
|
||||
// the IP child it opens.
|
||||
//
|
||||
if (IpInstance->State == IP6_STATE_DESTROY) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The driver binding and service binding protocol for IP6 driver.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -24,7 +24,7 @@ extern EFI_COMPONENT_NAME2_PROTOCOL gIp6ComponentName2;
|
||||
Clean up an IP6 service binding instance. It releases all
|
||||
the resource allocated by the instance. The instance may be
|
||||
partly initialized, or partly destroyed. If a resource is
|
||||
destroyed, it is marked as that in case the destory failed and
|
||||
destroyed, it is marked as that in case the destroy failed and
|
||||
being called again later.
|
||||
|
||||
@param[in] IpSb The IP6 service binding instance to clean up.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implement IP6 pesudo interface.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -314,7 +314,7 @@ Ip6CleanInterface (
|
||||
}
|
||||
|
||||
//
|
||||
// Destory the interface if this is the last IP instance.
|
||||
// Destroy the interface if this is the last IP instance.
|
||||
// Remove all the system transmitted packets
|
||||
// from this interface, cancel the receive request if exists.
|
||||
//
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation of EFI_IP6_PROTOCOL protocol interfaces.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -689,7 +689,7 @@ EfiIp6Configure (
|
||||
Status = Ip6CleanProtocol (IpInstance);
|
||||
|
||||
//
|
||||
// Don't change the state if it is DESTORY, consider the following
|
||||
// Don't change the state if it is DESTROY, consider the following
|
||||
// valid sequence: Mnp is unloaded-->Ip Stopped-->Udp Stopped,
|
||||
// Configure (ThisIp, NULL). If the state is changed to UNCONFIGED,
|
||||
// the unload fails miserably.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation of Neighbor Discovery support routines.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -261,7 +261,7 @@ Ip6CreatePrefixListEntry (
|
||||
}
|
||||
|
||||
/**
|
||||
Destory a IP6 prefix list entry.
|
||||
Destroy a IP6 prefix list entry.
|
||||
|
||||
@param[in] IpSb The pointer to IP6_SERVICE instance.
|
||||
@param[in] PrefixEntry The to be destroyed prefix list entry.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Definition of Neighbor Discovery support routines.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -336,7 +336,7 @@ Ip6CreatePrefixListEntry (
|
||||
);
|
||||
|
||||
/**
|
||||
Destory a IP6 prefix list entry.
|
||||
Destroy a IP6 prefix list entry.
|
||||
|
||||
@param[in] IpSb The pointer to IP6_SERVICE instance.
|
||||
@param[in] PrefixEntry The to be destroyed prefix list entry.
|
||||
|
@ -2,7 +2,7 @@
|
||||
Driver Binding functions and Service Binding functions
|
||||
implementation for Mtftp6 Driver.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -33,7 +33,7 @@ EFI_SERVICE_BINDING_PROTOCOL gMtftp6ServiceBindingTemplate = {
|
||||
|
||||
|
||||
/**
|
||||
Destory the MTFTP6 service. The MTFTP6 service may be partly initialized,
|
||||
Destroy the MTFTP6 service. The MTFTP6 service may be partly initialized,
|
||||
or partly destroyed. If a resource is destroyed, it is marked as such in
|
||||
case the destroy failed and is called again later.
|
||||
|
||||
@ -46,7 +46,7 @@ Mtftp6DestroyService (
|
||||
)
|
||||
{
|
||||
//
|
||||
// Make sure all children instances have been already destoryed.
|
||||
// Make sure all children instances have been already destroyed.
|
||||
//
|
||||
ASSERT (Service->ChildrenNum == 0);
|
||||
|
||||
@ -98,7 +98,7 @@ Mtftp6CreateService (
|
||||
Mtftp6Srv->Signature = MTFTP6_SERVICE_SIGNATURE;
|
||||
Mtftp6Srv->Controller = Controller;
|
||||
Mtftp6Srv->Image = Image;
|
||||
Mtftp6Srv->InDestory = FALSE;
|
||||
Mtftp6Srv->InDestroy = FALSE;
|
||||
Mtftp6Srv->ChildrenNum = 0;
|
||||
|
||||
CopyMem (
|
||||
@ -219,7 +219,7 @@ Mtftp6CreateInstance (
|
||||
}
|
||||
|
||||
Mtftp6Ins->Signature = MTFTP6_INSTANCE_SIGNATURE;
|
||||
Mtftp6Ins->InDestory = FALSE;
|
||||
Mtftp6Ins->InDestroy = FALSE;
|
||||
Mtftp6Ins->Service = Service;
|
||||
|
||||
CopyMem (
|
||||
@ -460,7 +460,7 @@ Mtftp6DriverBindingStop (
|
||||
|
||||
Service = MTFTP6_SERVICE_FROM_THIS (ServiceBinding);
|
||||
|
||||
if (Service->InDestory) {
|
||||
if (Service->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@ -468,9 +468,9 @@ Mtftp6DriverBindingStop (
|
||||
|
||||
if (NumberOfChildren == 0) {
|
||||
//
|
||||
// Destory the Mtftp6 service if there is no Mtftp6 child instance left.
|
||||
// Destroy the Mtftp6 service if there is no Mtftp6 child instance left.
|
||||
//
|
||||
Service->InDestory = TRUE;
|
||||
Service->InDestroy = TRUE;
|
||||
|
||||
gBS->UninstallProtocolInterface (
|
||||
NicHandle,
|
||||
@ -482,7 +482,7 @@ Mtftp6DriverBindingStop (
|
||||
|
||||
} else {
|
||||
//
|
||||
// Destory the Mtftp6 child instance one by one.
|
||||
// Destroy the Mtftp6 child instance one by one.
|
||||
//
|
||||
while (!IsListEmpty (&Service->Children)) {
|
||||
Instance = NET_LIST_HEAD (&Service->Children, MTFTP6_INSTANCE, Link);
|
||||
@ -657,15 +657,15 @@ Mtftp6ServiceBindingDestroyChild (
|
||||
}
|
||||
|
||||
//
|
||||
// Check whether the instance already in destory state.
|
||||
// Check whether the instance already in Destroy state.
|
||||
//
|
||||
if (Instance->InDestory) {
|
||||
if (Instance->InDestroy) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
Instance->InDestory = TRUE;
|
||||
Instance->InDestroy = TRUE;
|
||||
|
||||
gBS->CloseProtocol (
|
||||
Service->DummyUdpIo->UdpHandle,
|
||||
@ -684,7 +684,7 @@ Mtftp6ServiceBindingDestroyChild (
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
Instance->InDestory = FALSE;
|
||||
Instance->InDestroy = FALSE;
|
||||
gBS->RestoreTPL (OldTpl);
|
||||
return Status;
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
RFC2348 - TFTP Blocksize Option
|
||||
RFC2349 - TFTP Timeout Interval and Transfer Size Options
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -189,13 +189,15 @@ EfiMtftp6Configure (
|
||||
// Don't configure the udpio here because each operation might override
|
||||
// the configuration, so delay udpio configuration in each operation.
|
||||
//
|
||||
Instance->UdpIo = UdpIoCreateIo (
|
||||
Service->Controller,
|
||||
Service->Image,
|
||||
Mtftp6ConfigDummyUdpIo,
|
||||
UDP_IO_UDP6_VERSION,
|
||||
NULL
|
||||
);
|
||||
if (Instance->UdpIo == NULL) {
|
||||
Instance->UdpIo = UdpIoCreateIo (
|
||||
Service->Controller,
|
||||
Service->Image,
|
||||
Mtftp6ConfigDummyUdpIo,
|
||||
UDP_IO_UDP6_VERSION,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
if (Instance->UdpIo == NULL) {
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
@ -620,11 +622,11 @@ EfiMtftp6Poll (
|
||||
Instance = MTFTP6_INSTANCE_FROM_THIS (This);
|
||||
|
||||
//
|
||||
// Check the instance whether configured or in destory.
|
||||
// Check the instance whether configured or in destroy.
|
||||
//
|
||||
if (Instance->Config == NULL) {
|
||||
return EFI_NOT_STARTED;
|
||||
} else if (Instance->InDestory) {
|
||||
} else if (Instance->InDestroy) {
|
||||
return EFI_DEVICE_ERROR;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Mtftp6 internal data structure and definition declaration.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved. <BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -94,7 +94,7 @@ struct _MTFTP6_INSTANCE {
|
||||
EFI_TPL OldTpl;
|
||||
BOOLEAN IsTransmitted;
|
||||
BOOLEAN IsMaster;
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
};
|
||||
|
||||
//
|
||||
@ -117,7 +117,7 @@ struct _MTFTP6_SERVICE {
|
||||
// mtftp driver and udp driver.
|
||||
//
|
||||
UDP_IO *DummyUdpIo;
|
||||
BOOLEAN InDestory;
|
||||
BOOLEAN InDestroy;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation of the Socket.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -787,7 +787,7 @@ SockDestroy (
|
||||
|
||||
}
|
||||
//
|
||||
// Destory the RcvBuffer Queue and SendBuffer Queue
|
||||
// Destroy the RcvBuffer Queue and SendBuffer Queue
|
||||
//
|
||||
NetbufQueFree (Sock->RcvBuffer.DataQueue);
|
||||
NetbufQueFree (Sock->SndBuffer.DataQueue);
|
||||
@ -802,7 +802,7 @@ SockDestroy (
|
||||
|
||||
DEBUG (
|
||||
(EFI_D_WARN,
|
||||
"SockDestory: Delete a unaccepted socket from parent now conncnt is %d\n",
|
||||
"SockDestroy: Delete a unaccepted socket from parent now conncnt is %d\n",
|
||||
Sock->Parent->ConnCnt)
|
||||
);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Interface function of the Socket.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -129,7 +129,7 @@ SockBufferToken (
|
||||
}
|
||||
|
||||
/**
|
||||
Destory the socket Sock and its associated protocol control block.
|
||||
Destroy the socket Sock and its associated protocol control block.
|
||||
|
||||
@param[in, out] Sock The socket to be destroyed.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Common head file for TCP socket.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -696,7 +696,7 @@ SockCreateChild (
|
||||
);
|
||||
|
||||
/**
|
||||
Destory the socket Sock and its associated protocol control block.
|
||||
Destroy the socket Sock and its associated protocol control block.
|
||||
|
||||
@param[in, out] Sock The socket to be destroyed.
|
||||
|
||||
|
@ -532,7 +532,7 @@ PxeBcParseDhcp4Packet (
|
||||
(Offer->Dhcp4.Header.BootFileName[0] != 0)) {
|
||||
//
|
||||
// If the bootfile is not present and bootfilename is present in DHCPv4 packet, just parse it.
|
||||
// Do not count dhcp option header here, or else will destory the serverhostname.
|
||||
// Do not count dhcp option header here, or else will destroy the serverhostname.
|
||||
//
|
||||
Options[PXEBC_DHCP4_TAG_INDEX_BOOTFILE] = (EFI_DHCP4_PACKET_OPTION *)
|
||||
(&Offer->Dhcp4.Header.BootFileName[0] -
|
||||
|
@ -1748,7 +1748,7 @@ PxeBcDhcp6Sarr (
|
||||
Config.IaInfoEvent = NULL;
|
||||
Config.RapidCommit = FALSE;
|
||||
Config.ReconfigureAccept = FALSE;
|
||||
Config.IaDescriptor.IaId = 1;
|
||||
Config.IaDescriptor.IaId = Private->IaId;
|
||||
Config.IaDescriptor.Type = EFI_DHCP6_IA_TYPE_NA;
|
||||
Config.SolicitRetransmission = Retransmit;
|
||||
Retransmit->Irt = 4;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Driver Binding functions implementationfor for UefiPxeBc Driver.
|
||||
|
||||
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -779,6 +779,7 @@ PxeBcCreateIp6Children (
|
||||
EFI_IP6_MODE_DATA Ip6ModeData;
|
||||
PXEBC_PRIVATE_PROTOCOL *Id;
|
||||
EFI_SIMPLE_NETWORK_PROTOCOL *Snp;
|
||||
UINTN Index;
|
||||
|
||||
if (Private->Ip6Nic != NULL) {
|
||||
//
|
||||
@ -821,6 +822,16 @@ PxeBcCreateIp6Children (
|
||||
goto ON_ERROR;
|
||||
}
|
||||
|
||||
//
|
||||
// Generate a random IAID for the Dhcp6 assigned address.
|
||||
//
|
||||
Private->IaId = NET_RANDOM (NetRandomInitSeed ());
|
||||
if (Private->Snp != NULL) {
|
||||
for (Index = 0; Index < Private->Snp->Mode->HwAddressSize; Index++) {
|
||||
Private->IaId |= (Private->Snp->Mode->CurrentAddress.Addr[Index] << ((Index << 3) & 31));
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Create Mtftp6 child and open Mtftp6 protocol for PxeBc->Mtftp.
|
||||
//
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -165,6 +165,7 @@ struct _PXEBC_PRIVATE_DATA {
|
||||
EFI_IP_ADDRESS GatewayIp;
|
||||
EFI_IP_ADDRESS ServerIp;
|
||||
UINT16 CurSrcPort;
|
||||
UINT32 IaId;
|
||||
|
||||
UINT32 Ip4MaxPacketSize;
|
||||
UINT32 Ip6MaxPacketSize;
|
||||
|
@ -1042,7 +1042,7 @@ TimeoutToGetMap (
|
||||
}
|
||||
|
||||
/**
|
||||
Create an IP child, use it to start the auto configuration, then destory it.
|
||||
Create an IP child, use it to start the auto configuration, then destroy it.
|
||||
|
||||
@param[in] NicInfo The pointer to the NIC_INFO of the Nic to be configured.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The implementation for Ping shell command.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -1190,14 +1190,14 @@ ON_ERROR:
|
||||
}
|
||||
|
||||
/**
|
||||
Destory the IP instance.
|
||||
Destroy the IP instance.
|
||||
|
||||
@param[in] Private The pointer of PING_PRIVATE_DATA.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
Ping6DestoryIp6Instance (
|
||||
Ping6DestroyIp6Instance (
|
||||
IN PING_PRIVATE_DATA *Private
|
||||
)
|
||||
{
|
||||
@ -1414,7 +1414,7 @@ ON_EXIT:
|
||||
}
|
||||
|
||||
if (Private->IpChildHandle != NULL) {
|
||||
Ping6DestoryIp6Instance (Private);
|
||||
Ping6DestroyIp6Instance (Private);
|
||||
}
|
||||
|
||||
FreePool (Private);
|
||||
|
Loading…
x
Reference in New Issue
Block a user