]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Ip6Dxe/Ip6Impl.c
NetworkPkg: Apply uncrustify changes
[mirror_edk2.git] / NetworkPkg / Ip6Dxe / Ip6Impl.c
index 44e0392511c04243b544c8995b8088a1defd2dc8..a4bfd0f9a3037f4e4926c39d3584ee1bc63cd5df 100644 (file)
@@ -1,23 +1,18 @@
 /** @file\r
   Implementation of EFI_IP6_PROTOCOL protocol interfaces.\r
 \r
-  Copyright (c) 2009 - 2012, 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
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #include "Ip6Impl.h"\r
 \r
-EFI_IPSEC2_PROTOCOL    *mIpSec = NULL;\r
+EFI_IPSEC2_PROTOCOL  *mIpSec = NULL;\r
 \r
-EFI_IP6_PROTOCOL mEfiIp6ProtocolTemplete = {\r
+EFI_IP6_PROTOCOL  mEfiIp6ProtocolTemplete = {\r
   EfiIp6GetModeData,\r
   EfiIp6Configure,\r
   EfiIp6Groups,\r
@@ -49,18 +44,18 @@ EFI_IP6_PROTOCOL mEfiIp6ProtocolTemplete = {
 EFI_STATUS\r
 EFIAPI\r
 EfiIp6GetModeData (\r
-  IN EFI_IP6_PROTOCOL                 *This,\r
-  OUT EFI_IP6_MODE_DATA               *Ip6ModeData     OPTIONAL,\r
-  OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData   OPTIONAL,\r
-  OUT EFI_SIMPLE_NETWORK_MODE         *SnpModeData     OPTIONAL\r
+  IN EFI_IP6_PROTOCOL                  *This,\r
+  OUT EFI_IP6_MODE_DATA                *Ip6ModeData     OPTIONAL,\r
+  OUT EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData   OPTIONAL,\r
+  OUT EFI_SIMPLE_NETWORK_MODE          *SnpModeData     OPTIONAL\r
   )\r
 {\r
-  IP6_PROTOCOL              *IpInstance;\r
-  IP6_SERVICE               *IpSb;\r
-  IP6_INTERFACE             *IpIf;\r
-  EFI_IP6_CONFIG_DATA       *Config;\r
-  EFI_STATUS                Status;\r
-  EFI_TPL                   OldTpl;\r
+  IP6_PROTOCOL         *IpInstance;\r
+  IP6_SERVICE          *IpSb;\r
+  IP6_INTERFACE        *IpIf;\r
+  EFI_IP6_CONFIG_DATA  *Config;\r
+  EFI_STATUS           Status;\r
+  EFI_TPL              OldTpl;\r
 \r
   if (This == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -80,25 +75,25 @@ EfiIp6GetModeData (
     // IsStarted is "whether the EfiIp6Configure has been called".\r
     // IsConfigured is "whether the station address has been configured"\r
     //\r
-    Ip6ModeData->IsStarted     = (BOOLEAN) (IpInstance->State == IP6_STATE_CONFIGED);\r
+    Ip6ModeData->IsStarted     = (BOOLEAN)(IpInstance->State == IP6_STATE_CONFIGED);\r
     Ip6ModeData->MaxPacketSize = IpSb->MaxPacketSize;\r
     CopyMem (&Ip6ModeData->ConfigData, &IpInstance->ConfigData, sizeof (EFI_IP6_CONFIG_DATA));\r
-    Ip6ModeData->IsConfigured  = FALSE;\r
+    Ip6ModeData->IsConfigured = FALSE;\r
 \r
-    Ip6ModeData->AddressCount  = 0;\r
-    Ip6ModeData->AddressList   = NULL;\r
+    Ip6ModeData->AddressCount = 0;\r
+    Ip6ModeData->AddressList  = NULL;\r
 \r
-    Ip6ModeData->GroupCount    = IpInstance->GroupCount;\r
-    Ip6ModeData->GroupTable    = NULL;\r
+    Ip6ModeData->GroupCount = IpInstance->GroupCount;\r
+    Ip6ModeData->GroupTable = NULL;\r
 \r
-    Ip6ModeData->RouteCount    = 0;\r
-    Ip6ModeData->RouteTable    = NULL;\r
+    Ip6ModeData->RouteCount = 0;\r
+    Ip6ModeData->RouteTable = NULL;\r
 \r
     Ip6ModeData->NeighborCount = 0;\r
     Ip6ModeData->NeighborCache = NULL;\r
 \r
-    Ip6ModeData->PrefixCount   = 0;\r
-    Ip6ModeData->PrefixTable   = NULL;\r
+    Ip6ModeData->PrefixCount = 0;\r
+    Ip6ModeData->PrefixTable = NULL;\r
 \r
     Ip6ModeData->IcmpTypeCount = 23;\r
     Ip6ModeData->IcmpTypeList  = AllocateCopyPool (\r
@@ -165,6 +160,7 @@ EfiIp6GetModeData (
           goto Error;\r
         }\r
       }\r
+\r
       //\r
       // Return the neighbor cache entries\r
       //\r
@@ -188,7 +184,6 @@ EfiIp6GetModeData (
       if (EFI_ERROR (Status)) {\r
         goto Error;\r
       }\r
-\r
     }\r
   }\r
 \r
@@ -247,15 +242,16 @@ Exit:
 **/\r
 BOOLEAN\r
 Ip6IsValidAddress (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *Ip,\r
-  IN BOOLEAN                Flag\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *Ip,\r
+  IN BOOLEAN           Flag\r
   )\r
 {\r
   if (!NetIp6IsUnspecifiedAddr (Ip)) {\r
-    if (!NetIp6IsValidUnicast(Ip)) {\r
+    if (!NetIp6IsValidUnicast (Ip)) {\r
       return FALSE;\r
     }\r
+\r
     if (Ip6IsOneOfSetAddress (IpSb, Ip, NULL, NULL)) {\r
       return Flag;\r
     }\r
@@ -278,14 +274,14 @@ Ip6IsValidAddress (
 **/\r
 BOOLEAN\r
 Ip6IsIllegalProtocol (\r
-  IN UINT8                  Protocol\r
+  IN UINT8  Protocol\r
   )\r
 {\r
-  if (Protocol == IP6_HOP_BY_HOP || Protocol == EFI_IP_PROTO_ICMP || Protocol == IP4_PROTO_IGMP) {\r
+  if ((Protocol == IP6_HOP_BY_HOP) || (Protocol == EFI_IP_PROTO_ICMP) || (Protocol == IP4_PROTO_IGMP)) {\r
     return TRUE;\r
   }\r
 \r
-  if (Protocol == 41 || Protocol == 43 || Protocol == 44 || Protocol == 59 || Protocol == 60 || Protocol == 124) {\r
+  if ((Protocol == 41) || (Protocol == 43) || (Protocol == 44) || (Protocol == 59) || (Protocol == 60) || (Protocol == 124)) {\r
     return TRUE;\r
   }\r
 \r
@@ -293,7 +289,7 @@ Ip6IsIllegalProtocol (
 }\r
 \r
 /**\r
-  Intiialize the IP6_PROTOCOL structure to the unconfigured states.\r
+  Initialize the IP6_PROTOCOL structure to the unconfigured states.\r
 \r
   @param[in]       IpSb                   The IP6 service instance.\r
   @param[in, out]  IpInstance             The IP6 child instance.\r
@@ -301,8 +297,8 @@ Ip6IsIllegalProtocol (
 **/\r
 VOID\r
 Ip6InitProtocol (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN OUT IP6_PROTOCOL       *IpInstance\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN OUT IP6_PROTOCOL  *IpInstance\r
   )\r
 {\r
   ASSERT ((IpSb != NULL) && (IpInstance != NULL));\r
@@ -315,8 +311,8 @@ Ip6InitProtocol (
   IpInstance->GroupList = NULL;\r
   CopyMem (&IpInstance->Ip6Proto, &mEfiIp6ProtocolTemplete, sizeof (EFI_IP6_PROTOCOL));\r
 \r
-  NetMapInit  (&IpInstance->RxTokens);\r
-  NetMapInit  (&IpInstance->TxTokens);\r
+  NetMapInit (&IpInstance->RxTokens);\r
+  NetMapInit (&IpInstance->TxTokens);\r
   InitializeListHead (&IpInstance->Received);\r
   InitializeListHead (&IpInstance->Delivered);\r
 \r
@@ -345,19 +341,19 @@ Ip6InitProtocol (
 **/\r
 EFI_STATUS\r
 Ip6ConfigProtocol (\r
-  IN OUT IP6_PROTOCOL        *IpInstance,\r
-  IN     EFI_IP6_CONFIG_DATA *Config\r
+  IN OUT IP6_PROTOCOL         *IpInstance,\r
+  IN     EFI_IP6_CONFIG_DATA  *Config\r
   )\r
 {\r
-  IP6_SERVICE               *IpSb;\r
-  IP6_INTERFACE             *IpIf;\r
-  EFI_STATUS                Status;\r
-  EFI_IP6_CONFIG_DATA       *Current;\r
-  IP6_ADDRESS_INFO          *AddressInfo;\r
-  BOOLEAN                   StationZero;\r
-  BOOLEAN                   DestZero;\r
-  EFI_IPv6_ADDRESS          Source;\r
-  BOOLEAN                   AddrOk;\r
+  IP6_SERVICE          *IpSb;\r
+  IP6_INTERFACE        *IpIf;\r
+  EFI_STATUS           Status;\r
+  EFI_IP6_CONFIG_DATA  *Current;\r
+  IP6_ADDRESS_INFO     *AddressInfo;\r
+  BOOLEAN              StationZero;\r
+  BOOLEAN              DestZero;\r
+  EFI_IPv6_ADDRESS     Source;\r
+  BOOLEAN              AddrOk;\r
 \r
   IpSb    = IpInstance->Service;\r
   Current = &IpInstance->ConfigData;\r
@@ -424,7 +420,6 @@ Ip6ConfigProtocol (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-\r
   NET_GET_REF (IpIf);\r
   IpInstance->Interface = IpIf;\r
   InsertTailList (&IpIf->IpInstances, &IpInstance->AddrLink);\r
@@ -447,7 +442,7 @@ Ip6ConfigProtocol (
 **/\r
 EFI_STATUS\r
 Ip6CleanProtocol (\r
-  IN OUT IP6_PROTOCOL            *IpInstance\r
+  IN OUT IP6_PROTOCOL  *IpInstance\r
   )\r
 {\r
   if (EFI_ERROR (Ip6Cancel (IpInstance, NULL))) {\r
@@ -464,7 +459,6 @@ Ip6CleanProtocol (
   // hasn't been called. Just leave it alone.\r
   //\r
   if (!IsListEmpty (&IpInstance->Delivered)) {\r
-    ;\r
   }\r
 \r
   if (IpInstance->Interface != NULL) {\r
@@ -475,8 +469,8 @@ Ip6CleanProtocol (
 \r
   if (IpInstance->GroupList != NULL) {\r
     FreePool (IpInstance->GroupList);\r
-    IpInstance->GroupList   = NULL;\r
-    IpInstance->GroupCount  = 0;\r
+    IpInstance->GroupList  = NULL;\r
+    IpInstance->GroupCount = 0;\r
   }\r
 \r
   NetMapClean (&IpInstance->TxTokens);\r
@@ -506,17 +500,17 @@ Ip6CleanProtocol (
 **/\r
 EFI_STATUS\r
 Ip6ServiceConfigMnp (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN BOOLEAN                Force\r
+  IN IP6_SERVICE  *IpSb,\r
+  IN BOOLEAN      Force\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *ProtoEntry;\r
-  IP6_INTERFACE             *IpIf;\r
-  IP6_PROTOCOL              *IpInstance;\r
-  BOOLEAN                   Reconfig;\r
-  BOOLEAN                   PromiscReceive;\r
-  EFI_STATUS                Status;\r
+  LIST_ENTRY     *Entry;\r
+  LIST_ENTRY     *ProtoEntry;\r
+  IP6_INTERFACE  *IpIf;\r
+  IP6_PROTOCOL   *IpInstance;\r
+  BOOLEAN        Reconfig;\r
+  BOOLEAN        PromiscReceive;\r
+  EFI_STATUS     Status;\r
 \r
   Reconfig       = FALSE;\r
   PromiscReceive = FALSE;\r
@@ -528,7 +522,6 @@ Ip6ServiceConfigMnp (
     // filter also.\r
     //\r
     NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {\r
-\r
       IpIf              = NET_LIST_USER_STRUCT (Entry, IP6_INTERFACE, Link);\r
       IpIf->PromiscRecv = FALSE;\r
 \r
@@ -549,7 +542,7 @@ Ip6ServiceConfigMnp (
       return EFI_SUCCESS;\r
     }\r
 \r
-    Reconfig  = TRUE;\r
+    Reconfig                                     = TRUE;\r
     IpSb->MnpConfigData.EnablePromiscuousReceive = PromiscReceive;\r
   }\r
 \r
@@ -609,21 +602,21 @@ Ip6ServiceConfigMnp (
   @retval EFI_DEVICE_ERROR       An unexpected system or network error occurred. The EFI IPv6\r
                                  Protocol driver instance was not opened.\r
   @retval EFI_UNSUPPORTED        Default protocol specified through\r
-                                 Ip6ConfigData.DefaulProtocol isn't supported.\r
+                                 Ip6ConfigData.DefaultProtocol isn't supported.\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 EfiIp6Configure (\r
-  IN EFI_IP6_PROTOCOL          *This,\r
-  IN EFI_IP6_CONFIG_DATA       *Ip6ConfigData OPTIONAL\r
+  IN EFI_IP6_PROTOCOL     *This,\r
+  IN EFI_IP6_CONFIG_DATA  *Ip6ConfigData OPTIONAL\r
   )\r
 {\r
-  IP6_PROTOCOL              *IpInstance;\r
-  EFI_IP6_CONFIG_DATA       *Current;\r
-  EFI_TPL                   OldTpl;\r
-  EFI_STATUS                Status;\r
-  IP6_SERVICE               *IpSb;\r
+  IP6_PROTOCOL         *IpInstance;\r
+  EFI_IP6_CONFIG_DATA  *Current;\r
+  EFI_TPL              OldTpl;\r
+  EFI_STATUS           Status;\r
+  IP6_SERVICE          *IpSb;\r
 \r
   //\r
   // First, validate the parameters\r
@@ -635,13 +628,13 @@ EfiIp6Configure (
   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
-  OldTpl     = gBS->RaiseTPL (TPL_CALLBACK);\r
+  OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
 \r
-  Status     = EFI_INVALID_PARAMETER;\r
+  Status = EFI_INVALID_PARAMETER;\r
 \r
   //\r
   // Validate the configuration first.\r
@@ -651,8 +644,9 @@ EfiIp6Configure (
     // Check whether the station address is valid.\r
     //\r
     if (!Ip6IsValidAddress (IpSb, &Ip6ConfigData->StationAddress, TRUE)) {\r
-       goto Exit;\r
+      goto Exit;\r
     }\r
+\r
     //\r
     // Check whether the default protocol is valid.\r
     //\r
@@ -705,11 +699,6 @@ EfiIp6Configure (
   //\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
@@ -754,16 +743,16 @@ EfiIp6Groups (
   IN EFI_IPv6_ADDRESS  *GroupAddress  OPTIONAL\r
   )\r
 {\r
-  EFI_TPL                   OldTpl;\r
-  EFI_STATUS                Status;\r
-  IP6_PROTOCOL              *IpInstance;\r
-  IP6_SERVICE               *IpSb;\r
+  EFI_TPL       OldTpl;\r
+  EFI_STATUS    Status;\r
+  IP6_PROTOCOL  *IpInstance;\r
+  IP6_SERVICE   *IpSb;\r
 \r
-  if ((This == NULL) || (JoinFlag && GroupAddress == NULL)) {\r
+  if ((This == NULL) || (JoinFlag && (GroupAddress == NULL))) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  if (GroupAddress != NULL && !IP6_IS_MULTICAST (GroupAddress)) {\r
+  if ((GroupAddress != NULL) && !IP6_IS_MULTICAST (GroupAddress)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -774,7 +763,7 @@ EfiIp6Groups (
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  OldTpl     = gBS->RaiseTPL (TPL_CALLBACK);\r
+  OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
 \r
   if (IpInstance->State != IP6_STATE_CONFIGED) {\r
     Status = EFI_NOT_STARTED;\r
@@ -797,7 +786,7 @@ ON_EXIT:
   the destination IPv6 address arithmetically. The gateway address must be on the same subnet as the\r
   configured station address.\r
 \r
-  The default route is added with Destination and PrefixLegth both set to all zeros. The\r
+  The default route is added with Destination and PrefixLength both set to all zeros. The\r
   default route matches all destination IPv6 addresses that do not match any other routes.\r
 \r
   All EFI IPv6 Protocol instances share a routing table.\r
@@ -834,19 +823,19 @@ ON_EXIT:
 EFI_STATUS\r
 EFIAPI\r
 EfiIp6Routes (\r
-  IN EFI_IP6_PROTOCOL    *This,\r
-  IN BOOLEAN             DeleteRoute,\r
-  IN EFI_IPv6_ADDRESS    *Destination    OPTIONAL,\r
-  IN UINT8               PrefixLength,\r
-  IN EFI_IPv6_ADDRESS    *GatewayAddress OPTIONAL\r
+  IN EFI_IP6_PROTOCOL  *This,\r
+  IN BOOLEAN           DeleteRoute,\r
+  IN EFI_IPv6_ADDRESS  *Destination    OPTIONAL,\r
+  IN UINT8             PrefixLength,\r
+  IN EFI_IPv6_ADDRESS  *GatewayAddress OPTIONAL\r
   )\r
 {\r
-  IP6_PROTOCOL              *IpInstance;\r
-  EFI_STATUS                Status;\r
-  EFI_TPL                   OldTpl;\r
-  IP6_SERVICE               *IpSb;\r
+  IP6_PROTOCOL  *IpInstance;\r
+  EFI_STATUS    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
@@ -865,7 +854,7 @@ EfiIp6Routes (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  if (!DeleteRoute && (Destination == NULL || GatewayAddress == NULL)) {\r
+  if (!DeleteRoute && ((Destination == NULL) || (GatewayAddress == NULL))) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -876,7 +865,8 @@ EfiIp6Routes (
 \r
     if (!NetIp6IsUnspecifiedAddr (GatewayAddress) &&\r
         !NetIp6IsNetEqual (GatewayAddress, &IpInstance->ConfigData.StationAddress, PrefixLength)\r
-          ) {\r
+        )\r
+    {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
   }\r
@@ -945,20 +935,20 @@ EfiIp6Routes (
 EFI_STATUS\r
 EFIAPI\r
 EfiIp6Neighbors (\r
-  IN EFI_IP6_PROTOCOL          *This,\r
-  IN BOOLEAN                   DeleteFlag,\r
-  IN EFI_IPv6_ADDRESS          *TargetIp6Address,\r
-  IN EFI_MAC_ADDRESS           *TargetLinkAddress OPTIONAL,\r
-  IN UINT32                    Timeout,\r
-  IN BOOLEAN                   Override\r
+  IN EFI_IP6_PROTOCOL  *This,\r
+  IN BOOLEAN           DeleteFlag,\r
+  IN EFI_IPv6_ADDRESS  *TargetIp6Address,\r
+  IN EFI_MAC_ADDRESS   *TargetLinkAddress OPTIONAL,\r
+  IN UINT32            Timeout,\r
+  IN BOOLEAN           Override\r
   )\r
 {\r
-  EFI_TPL                   OldTpl;\r
-  EFI_STATUS                Status;\r
-  IP6_PROTOCOL              *IpInstance;\r
-  IP6_SERVICE               *IpSb;\r
+  EFI_TPL       OldTpl;\r
+  EFI_STATUS    Status;\r
+  IP6_PROTOCOL  *IpInstance;\r
+  IP6_SERVICE   *IpSb;\r
 \r
-  if (This == NULL || TargetIp6Address == NULL) {\r
+  if ((This == NULL) || (TargetIp6Address == NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -1011,7 +1001,7 @@ Exit:
   @param[in]  Map                The container of either user's transmit or receive\r
                                  token.\r
   @param[in]  Item               Current item to check against.\r
-  @param[in]  Context            The Token to check againist.\r
+  @param[in]  Context            The Token to check against.\r
 \r
   @retval EFI_ACCESS_DENIED      The token or event has already been enqueued in IP\r
   @retval EFI_SUCCESS            The current item isn't the same token/event as the\r
@@ -1021,18 +1011,18 @@ Exit:
 EFI_STATUS\r
 EFIAPI\r
 Ip6TokenExist (\r
-  IN NET_MAP                *Map,\r
-  IN NET_MAP_ITEM           *Item,\r
-  IN VOID                   *Context\r
+  IN NET_MAP       *Map,\r
+  IN NET_MAP_ITEM  *Item,\r
+  IN VOID          *Context\r
   )\r
 {\r
   EFI_IP6_COMPLETION_TOKEN  *Token;\r
   EFI_IP6_COMPLETION_TOKEN  *TokenInItem;\r
 \r
-  Token       = (EFI_IP6_COMPLETION_TOKEN *) Context;\r
-  TokenInItem = (EFI_IP6_COMPLETION_TOKEN *) Item->Key;\r
+  Token       = (EFI_IP6_COMPLETION_TOKEN *)Context;\r
+  TokenInItem = (EFI_IP6_COMPLETION_TOKEN *)Item->Key;\r
 \r
-  if (Token == TokenInItem || Token->Event == TokenInItem->Event) {\r
+  if ((Token == TokenInItem) || (Token->Event == TokenInItem->Event)) {\r
     return EFI_ACCESS_DENIED;\r
   }\r
 \r
@@ -1051,29 +1041,29 @@ Ip6TokenExist (
 **/\r
 EFI_STATUS\r
 Ip6TxTokenValid (\r
-  IN EFI_IP6_COMPLETION_TOKEN   *Token\r
+  IN EFI_IP6_COMPLETION_TOKEN  *Token\r
   )\r
 {\r
-  EFI_IP6_TRANSMIT_DATA     *TxData;\r
-  UINT32                    Index;\r
-  UINT32                    DataLength;\r
+  EFI_IP6_TRANSMIT_DATA  *TxData;\r
+  UINT32                 Index;\r
+  UINT32                 DataLength;\r
 \r
-  if (Token == NULL || Token->Event == NULL) {\r
+  if ((Token == NULL) || (Token->Event == NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   TxData = Token->Packet.TxData;\r
 \r
-  if (TxData == NULL || (TxData->ExtHdrsLength != 0 && TxData->ExtHdrs == NULL)) {\r
+  if ((TxData == NULL) || ((TxData->ExtHdrsLength != 0) && (TxData->ExtHdrs == NULL))) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  if (TxData->FragmentCount == 0 || TxData->DataLength == 0) {\r
+  if ((TxData->FragmentCount == 0) || (TxData->DataLength == 0)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   for (DataLength = 0, Index = 0; Index < TxData->FragmentCount; Index++) {\r
-    if (TxData->FragmentTable[Index].FragmentLength == 0 || TxData->FragmentTable[Index].FragmentBuffer == NULL) {\r
+    if ((TxData->FragmentTable[Index].FragmentLength == 0) || (TxData->FragmentTable[Index].FragmentBuffer == NULL)) {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
 \r
@@ -1125,13 +1115,13 @@ Ip6TxTokenValid (
 VOID\r
 EFIAPI\r
 Ip6FreeTxToken (\r
-  IN VOID                   *Context\r
+  IN VOID  *Context\r
   )\r
 {\r
-  IP6_TXTOKEN_WRAP          *Wrap;\r
-  NET_MAP_ITEM              *Item;\r
+  IP6_TXTOKEN_WRAP  *Wrap;\r
+  NET_MAP_ITEM      *Item;\r
 \r
-  Wrap = (IP6_TXTOKEN_WRAP *) Context;\r
+  Wrap = (IP6_TXTOKEN_WRAP *)Context;\r
 \r
   //\r
   // Signal IpSecRecycleEvent to inform IPsec free the memory\r
@@ -1162,7 +1152,6 @@ Ip6FreeTxToken (
   FreePool (Wrap);\r
 }\r
 \r
-\r
 /**\r
   The callback function to Ip6Output to update the transmit status.\r
 \r
@@ -1174,19 +1163,19 @@ Ip6FreeTxToken (
 **/\r
 VOID\r
 Ip6OnPacketSent (\r
-  IN NET_BUF                   *Packet,\r
-  IN EFI_STATUS                IoStatus,\r
-  IN UINT32                    Flag,\r
-  IN VOID                      *Context\r
+  IN NET_BUF     *Packet,\r
+  IN EFI_STATUS  IoStatus,\r
+  IN UINT32      Flag,\r
+  IN VOID        *Context\r
   )\r
 {\r
-  IP6_TXTOKEN_WRAP             *Wrap;\r
+  IP6_TXTOKEN_WRAP  *Wrap;\r
 \r
   //\r
   // This is the transmission request from upper layer,\r
   // not the IP6 driver itself.\r
   //\r
-  Wrap                = (IP6_TXTOKEN_WRAP *) Context;\r
+  Wrap                = (IP6_TXTOKEN_WRAP *)Context;\r
   Wrap->Token->Status = IoStatus;\r
 \r
   NetbufFree (Wrap->Packet);\r
@@ -1251,16 +1240,16 @@ EfiIp6Transmit (
   IN EFI_IP6_COMPLETION_TOKEN  *Token\r
   )\r
 {\r
-  IP6_SERVICE               *IpSb;\r
-  IP6_PROTOCOL              *IpInstance;\r
-  EFI_IP6_CONFIG_DATA       *Config;\r
-  EFI_STATUS                Status;\r
-  EFI_TPL                   OldTpl;\r
-  EFI_IP6_HEADER            Head;\r
-  EFI_IP6_TRANSMIT_DATA     *TxData;\r
-  EFI_IP6_OVERRIDE_DATA     *Override;\r
-  IP6_TXTOKEN_WRAP          *Wrap;\r
-  UINT8                     *ExtHdrs;\r
+  IP6_SERVICE            *IpSb;\r
+  IP6_PROTOCOL           *IpInstance;\r
+  EFI_IP6_CONFIG_DATA    *Config;\r
+  EFI_STATUS             Status;\r
+  EFI_TPL                OldTpl;\r
+  EFI_IP6_HEADER         Head;\r
+  EFI_IP6_TRANSMIT_DATA  *TxData;\r
+  EFI_IP6_OVERRIDE_DATA  *Override;\r
+  IP6_TXTOKEN_WRAP       *Wrap;\r
+  UINT8                  *ExtHdrs;\r
 \r
   //\r
   // Check input parameters.\r
@@ -1283,7 +1272,7 @@ EfiIp6Transmit (
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  OldTpl     = gBS->RaiseTPL (TPL_CALLBACK);\r
+  OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
 \r
   if (IpInstance->State != IP6_STATE_CONFIGED) {\r
     Status = EFI_NOT_STARTED;\r
@@ -1303,7 +1292,7 @@ EfiIp6Transmit (
   //\r
   // Build the IP header, fill in the information from ConfigData or OverrideData\r
   //\r
-  ZeroMem (&Head, sizeof(EFI_IP6_HEADER));\r
+  ZeroMem (&Head, sizeof (EFI_IP6_HEADER));\r
   TxData = Token->Packet.TxData;\r
   IP6_COPY_ADDRESS (&Head.SourceAddress, &Config->StationAddress);\r
   IP6_COPY_ADDRESS (&Head.DestinationAddress, &Config->DestinationAddress);\r
@@ -1316,7 +1305,6 @@ EfiIp6Transmit (
     }\r
 \r
     ASSERT (!NetIp6IsUnspecifiedAddr (&Config->StationAddress));\r
-\r
   } else {\r
     //\r
     // StationAddress is unspecified only when ConfigData.Dest is unspecified.\r
@@ -1352,15 +1340,15 @@ EfiIp6Transmit (
     Override        = TxData->OverrideData;\r
     Head.NextHeader = Override->Protocol;\r
     Head.HopLimit   = Override->HopLimit;\r
-    Head.FlowLabelL = HTONS ((UINT16) Override->FlowLabel);\r
-    Head.FlowLabelH = (UINT8) ((Override->FlowLabel >> 16) & 0x0F);\r
+    Head.FlowLabelL = HTONS ((UINT16)Override->FlowLabel);\r
+    Head.FlowLabelH = (UINT8)((Override->FlowLabel >> 16) & 0x0F);\r
   } else {\r
     Head.HopLimit   = Config->HopLimit;\r
-    Head.FlowLabelL = HTONS ((UINT16) Config->FlowLabel);\r
-    Head.FlowLabelH = (UINT8) ((Config->FlowLabel >> 16) & 0x0F);\r
+    Head.FlowLabelL = HTONS ((UINT16)Config->FlowLabel);\r
+    Head.FlowLabelH = (UINT8)((Config->FlowLabel >> 16) & 0x0F);\r
   }\r
 \r
-  Head.PayloadLength = HTONS ((UINT16) (TxData->ExtHdrsLength + TxData->DataLength));\r
+  Head.PayloadLength = HTONS ((UINT16)(TxData->ExtHdrsLength + TxData->DataLength));\r
 \r
   //\r
   // OK, it survives all the validation check. Wrap the token in\r
@@ -1372,18 +1360,18 @@ EfiIp6Transmit (
     goto Exit;\r
   }\r
 \r
-  Wrap->IpInstance  = IpInstance;\r
-  Wrap->Token       = Token;\r
-  Wrap->Sent        = FALSE;\r
-  Wrap->Life        = IP6_US_TO_SEC (Config->TransmitTimeout);\r
-  Wrap->Packet      = NetbufFromExt (\r
-                        (NET_FRAGMENT *) TxData->FragmentTable,\r
-                        TxData->FragmentCount,\r
-                        IP6_MAX_HEADLEN,\r
-                        0,\r
-                        Ip6FreeTxToken,\r
-                        Wrap\r
-                        );\r
+  Wrap->IpInstance = IpInstance;\r
+  Wrap->Token      = Token;\r
+  Wrap->Sent       = FALSE;\r
+  Wrap->Life       = IP6_US_TO_SEC (Config->TransmitTimeout);\r
+  Wrap->Packet     = NetbufFromExt (\r
+                       (NET_FRAGMENT *)TxData->FragmentTable,\r
+                       TxData->FragmentCount,\r
+                       IP6_MAX_HEADLEN,\r
+                       0,\r
+                       Ip6FreeTxToken,\r
+                       Wrap\r
+                       );\r
 \r
   if (Wrap->Packet == NULL) {\r
     FreePool (Wrap);\r
@@ -1407,8 +1395,8 @@ EfiIp6Transmit (
   // Allocate a new buffer to store IPv6 extension headers to avoid updating\r
   // the original data in EFI_IP6_COMPLETION_TOKEN.\r
   //\r
-  if (TxData->ExtHdrsLength != 0 && TxData->ExtHdrs != NULL) {\r
-    ExtHdrs = (UINT8 *) AllocateCopyPool (TxData->ExtHdrsLength, TxData->ExtHdrs);\r
+  if ((TxData->ExtHdrsLength != 0) && (TxData->ExtHdrs != NULL)) {\r
+    ExtHdrs = (UINT8 *)AllocateCopyPool (TxData->ExtHdrsLength, TxData->ExtHdrs);\r
     if (ExtHdrs == NULL) {\r
       Status = EFI_OUT_OF_RESOURCES;\r
       goto Exit;\r
@@ -1459,7 +1447,7 @@ Exit:
   is signaled.\r
 \r
   Current Udp implementation creates an IP child for each Udp child.\r
-  It initates a asynchronous receive immediately no matter whether\r
+  It initiates a asynchronous receive immediately no matter whether\r
   there is no mapping or not. Therefore, disable the returning EFI_NO_MAPPING for now.\r
   To enable it, the following check must be performed:\r
 \r
@@ -1495,12 +1483,12 @@ EfiIp6Receive (
   IN EFI_IP6_COMPLETION_TOKEN  *Token\r
   )\r
 {\r
-  IP6_PROTOCOL              *IpInstance;\r
-  EFI_STATUS                Status;\r
-  EFI_TPL                   OldTpl;\r
-  IP6_SERVICE               *IpSb;\r
+  IP6_PROTOCOL  *IpInstance;\r
+  EFI_STATUS    Status;\r
+  EFI_TPL       OldTpl;\r
+  IP6_SERVICE   *IpSb;\r
 \r
-  if (This == NULL || Token == NULL || Token->Event == NULL) {\r
+  if ((This == NULL) || (Token == NULL) || (Token->Event == NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -1550,7 +1538,6 @@ Exit:
   return Status;\r
 }\r
 \r
-\r
 /**\r
   Cancel the transmitted but not recycled packet. If a matching\r
   token is found, it will call Ip6CancelPacket to cancel the\r
@@ -1571,15 +1558,15 @@ Exit:
 EFI_STATUS\r
 EFIAPI\r
 Ip6CancelTxTokens (\r
-  IN NET_MAP                *Map,\r
-  IN NET_MAP_ITEM           *Item,\r
-  IN VOID                   *Context\r
+  IN NET_MAP       *Map,\r
+  IN NET_MAP_ITEM  *Item,\r
+  IN VOID          *Context\r
   )\r
 {\r
   EFI_IP6_COMPLETION_TOKEN  *Token;\r
   IP6_TXTOKEN_WRAP          *Wrap;\r
 \r
-  Token = (EFI_IP6_COMPLETION_TOKEN *) Context;\r
+  Token = (EFI_IP6_COMPLETION_TOKEN *)Context;\r
 \r
   //\r
   // Return EFI_SUCCESS to check the next item in the map if\r
@@ -1589,7 +1576,7 @@ Ip6CancelTxTokens (
     return EFI_SUCCESS;\r
   }\r
 \r
-  Wrap = (IP6_TXTOKEN_WRAP *) Item->Value;\r
+  Wrap = (IP6_TXTOKEN_WRAP *)Item->Value;\r
   ASSERT (Wrap != NULL);\r
 \r
   //\r
@@ -1609,7 +1596,6 @@ Ip6CancelTxTokens (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Cancel the receive request. This is simple, because\r
   it is only enqueued in our local receive map.\r
@@ -1628,15 +1614,15 @@ Ip6CancelTxTokens (
 EFI_STATUS\r
 EFIAPI\r
 Ip6CancelRxTokens (\r
-  IN NET_MAP                *Map,\r
-  IN NET_MAP_ITEM           *Item,\r
-  IN VOID                   *Context\r
+  IN NET_MAP       *Map,\r
+  IN NET_MAP_ITEM  *Item,\r
+  IN VOID          *Context\r
   )\r
 {\r
   EFI_IP6_COMPLETION_TOKEN  *Token;\r
   EFI_IP6_COMPLETION_TOKEN  *This;\r
 \r
-  Token = (EFI_IP6_COMPLETION_TOKEN *) Context;\r
+  Token = (EFI_IP6_COMPLETION_TOKEN *)Context;\r
   This  = Item->Key;\r
 \r
   if ((Token != NULL) && (Token != This)) {\r
@@ -1672,11 +1658,11 @@ Ip6CancelRxTokens (
 **/\r
 EFI_STATUS\r
 Ip6Cancel (\r
-  IN IP6_PROTOCOL             *IpInstance,\r
-  IN EFI_IP6_COMPLETION_TOKEN *Token          OPTIONAL\r
+  IN IP6_PROTOCOL              *IpInstance,\r
+  IN EFI_IP6_COMPLETION_TOKEN  *Token          OPTIONAL\r
   )\r
 {\r
-  EFI_STATUS                Status;\r
+  EFI_STATUS  Status;\r
 \r
   //\r
   // First check the transmitted packet. Ip6CancelTxTokens returns\r
@@ -1723,7 +1709,6 @@ Ip6Cancel (
   // all of them are cancelled.\r
   //\r
   if (!NetMapIsEmpty (&IpInstance->TxTokens) || !NetMapIsEmpty (&IpInstance->RxTokens)) {\r
-\r
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
@@ -1765,21 +1750,15 @@ EfiIp6Cancel (
   IN EFI_IP6_COMPLETION_TOKEN  *Token    OPTIONAL\r
   )\r
 {\r
-  IP6_PROTOCOL              *IpInstance;\r
-  IP6_SERVICE               *IpSb;\r
-  EFI_STATUS                Status;\r
-  EFI_TPL                   OldTpl;\r
+  IP6_PROTOCOL  *IpInstance;\r
+  EFI_STATUS    Status;\r
+  EFI_TPL       OldTpl;\r
 \r
   if (This == NULL) {\r
     return EFI_INVALID_PARAMETER;\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
@@ -1823,7 +1802,7 @@ Exit:
 EFI_STATUS\r
 EFIAPI\r
 EfiIp6Poll (\r
-  IN EFI_IP6_PROTOCOL          *This\r
+  IN EFI_IP6_PROTOCOL  *This\r
   )\r
 {\r
   IP6_PROTOCOL                  *IpInstance;\r
@@ -1852,6 +1831,4 @@ EfiIp6Poll (
   // the packet polled up.\r
   //\r
   return Mnp->Poll (Mnp);\r
-\r
 }\r
-\r