NetworkPkg: Revert git 'eb213f2f' fix

'eb213f2f' is associated with '3d0a49ad' commit. So, this patch is
used to respond the revert for '3d0a49ad' to adapt the Ipv4 config
policy update.

Cc: Subramanian Sriram <sriram-s@hpe.com>
Cc: El-Haj-Mahmoud Samer <samer.el-haj-mahmoud@hpe.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
This commit is contained in:
Jiaxin Wu 2016-02-25 11:06:14 +08:00
parent 4720106b99
commit e19ce3a277
2 changed files with 0 additions and 158 deletions

View File

@ -14,152 +14,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "DnsImpl.h"
/**
The callback function for the timer event used to get map.
@param[in] Event The event this function is registered to.
@param[in] Context The context registered to the event.
**/
VOID
EFIAPI
TimeoutToGetMap (
IN EFI_EVENT Event,
IN VOID *Context
)
{
*((BOOLEAN *) Context) = TRUE;
return ;
}
/**
Create an IP child, use it to start the auto configuration, then destroy it.
@param[in] Controller The controller which has the service installed.
@param[in] Image The image handle used to open service.
@retval EFI_SUCCESS The configuration is done.
@retval Others Other errors as indicated.
**/
EFI_STATUS
EFIAPI
DnsStartIp4(
IN EFI_HANDLE Controller,
IN EFI_HANDLE Image
)
{
EFI_IP4_PROTOCOL *Ip4;
EFI_HANDLE Ip4Handle;
EFI_EVENT TimerToGetMap;
EFI_IP4_CONFIG_DATA Ip4ConfigData;
EFI_IP4_MODE_DATA Ip4Mode;
EFI_STATUS Status;
BOOLEAN Timeout;
//
// Get the Ip4ServiceBinding Protocol
//
Ip4Handle = NULL;
Ip4 = NULL;
TimerToGetMap = NULL;
Timeout = FALSE;
Status = NetLibCreateServiceChild (
Controller,
Image,
&gEfiIp4ServiceBindingProtocolGuid,
&Ip4Handle
);
if (EFI_ERROR (Status)) {
return Status;
}
Status = gBS->OpenProtocol (
Ip4Handle,
&gEfiIp4ProtocolGuid,
(VOID **) &Ip4,
Controller,
Image,
EFI_OPEN_PROTOCOL_GET_PROTOCOL
);
if (EFI_ERROR (Status)) {
goto ON_EXIT;
}
Ip4ConfigData.DefaultProtocol = EFI_IP_PROTO_ICMP;
Ip4ConfigData.AcceptAnyProtocol = FALSE;
Ip4ConfigData.AcceptIcmpErrors = FALSE;
Ip4ConfigData.AcceptBroadcast = FALSE;
Ip4ConfigData.AcceptPromiscuous = FALSE;
Ip4ConfigData.UseDefaultAddress = TRUE;
ZeroMem (&Ip4ConfigData.StationAddress, sizeof (EFI_IPv4_ADDRESS));
ZeroMem (&Ip4ConfigData.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
Ip4ConfigData.TypeOfService = 0;
Ip4ConfigData.TimeToLive = 1;
Ip4ConfigData.DoNotFragment = FALSE;
Ip4ConfigData.RawData = FALSE;
Ip4ConfigData.ReceiveTimeout = 0;
Ip4ConfigData.TransmitTimeout = 0;
Status = Ip4->Configure (Ip4, &Ip4ConfigData);
if (Status == EFI_NO_MAPPING) {
Status = gBS->CreateEvent (
EVT_NOTIFY_SIGNAL | EVT_TIMER,
TPL_CALLBACK,
TimeoutToGetMap,
&Timeout,
&TimerToGetMap
);
if (EFI_ERROR (Status)) {
goto ON_EXIT;
}
Status = gBS->SetTimer (
TimerToGetMap,
TimerRelative,
MultU64x32 (10000000, 5)
);
if (EFI_ERROR (Status)) {
goto ON_EXIT;
}
while (!Timeout) {
Ip4->Poll (Ip4);
if (!EFI_ERROR (Ip4->GetModeData (Ip4, &Ip4Mode, NULL, NULL)) &&
Ip4Mode.IsConfigured) {
break;
}
}
if (Timeout) {
Status = EFI_DEVICE_ERROR;
}
}
ON_EXIT:
if (TimerToGetMap != NULL) {
gBS->SetTimer (TimerToGetMap, TimerCancel, 0);
gBS->CloseEvent (TimerToGetMap);
}
NetLibDestroyServiceChild (
Controller,
Image,
&gEfiIp4ServiceBindingProtocolGuid,
Ip4Handle
);
return Status;
}
/**
This function initialize the DHCP4 message instance.
@ -468,16 +322,6 @@ GetDns4ServerFromDhcp4 (
return EFI_NO_MEDIA;
}
//
// Start the auto configuration if UseDefaultSetting.
//
if (Instance->Dns4CfgData.UseDefaultSetting) {
Status = DnsStartIp4 (Controller, Image);
if (EFI_ERROR(Status)) {
return Status;
}
}
//
// Create a Mnp child instance, get the protocol and config for it.
//

View File

@ -62,8 +62,6 @@
gEfiDhcp4ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiDhcp4ProtocolGuid ## SOMETIMES_CONSUMES
gEfiIp4Config2ProtocolGuid ## SOMETIMES_CONSUMES
gEfiIp4ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiIp4ProtocolGuid ## SOMETIMES_CONSUMES
gEfiManagedNetworkServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiManagedNetworkProtocolGuid ## SOMETIMES_CONSUMES