/** @file\r
Implementation of EFI_IP6_PROTOCOL protocol interfaces.\r
\r
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>\r
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
\r
#include "Ip6Impl.h"\r
\r
-EFI_IPSEC_PROTOCOL *mIpSec = NULL;\r
+EFI_IPSEC2_PROTOCOL *mIpSec = NULL;\r
\r
EFI_IP6_PROTOCOL mEfiIp6ProtocolTemplete = {\r
EfiIp6GetModeData,\r
IpInstance = IP6_INSTANCE_FROM_PROTOCOL (This);\r
IpSb = IpInstance->Service;\r
\r
- if (IpSb->LinkLocalDadFail) {\r
+ if (IpSb->LinkLocalDadFail && Ip6ConfigData != NULL) {\r
return EFI_DEVICE_ERROR;\r
}\r
\r
Status = Ip6CleanProtocol (IpInstance);\r
\r
//\r
- // Don't change the state if it is DESTORY, consider the following\r
+ // Don't change the state if it is DESTROY, consider the following\r
// valid sequence: Mnp is unloaded-->Ip Stopped-->Udp Stopped,\r
// Configure (ThisIp, NULL). If the state is changed to UNCONFIGED,\r
// the unload fails miserably.\r
//\r
Ip6ServiceConfigMnp (IpInstance->Service, FALSE);\r
\r
- //\r
- // Update the variable data.\r
- //\r
- Ip6SetVariableData (IpInstance->Service);\r
-\r
Exit:\r
gBS->RestoreTPL (OldTpl);\r
return Status;\r
EFI_TPL OldTpl;\r
IP6_SERVICE *IpSb;\r
\r
- if ((This == NULL) || (PrefixLength >= IP6_PREFIX_NUM)) {\r
+ if ((This == NULL) || (PrefixLength > IP6_PREFIX_MAX)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
)\r
{\r
IP6_PROTOCOL *IpInstance;\r
- IP6_SERVICE *IpSb;\r
EFI_STATUS Status;\r
EFI_TPL OldTpl;\r
\r
}\r
\r
IpInstance = IP6_INSTANCE_FROM_PROTOCOL (This);\r
- IpSb = IpInstance->Service;\r
-\r
- if (IpSb->LinkLocalDadFail) {\r
- return EFI_DEVICE_ERROR;\r
- }\r
\r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r