]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Ip6Dxe/Ip6Nd.c
NetworkPkg: Apply uncrustify changes
[mirror_edk2.git] / NetworkPkg / Ip6Dxe / Ip6Nd.c
index 0780a98cb3253897d2260714f8dc25ca37e8e474..c10c7017f88dcbb4d4e5027f0c3f2456d8c5fcaa 100644 (file)
@@ -9,7 +9,7 @@
 \r
 #include "Ip6Impl.h"\r
 \r
-EFI_MAC_ADDRESS mZeroMacAddress;\r
+EFI_MAC_ADDRESS  mZeroMacAddress;\r
 \r
 /**\r
   Update the ReachableTime in IP6 service binding instance data, in milliseconds.\r
@@ -22,10 +22,10 @@ Ip6UpdateReachableTime (
   IN OUT IP6_SERVICE  *IpSb\r
   )\r
 {\r
-  UINT32              Random;\r
+  UINT32  Random;\r
 \r
-  Random = (NetRandomInitSeed () / 4294967295UL) * IP6_RANDOM_FACTOR_SCALE;\r
-  Random = Random + IP6_MIN_RANDOM_FACTOR_SCALED;\r
+  Random              = (NetRandomInitSeed () / 4294967295UL) * IP6_RANDOM_FACTOR_SCALE;\r
+  Random              = Random + IP6_MIN_RANDOM_FACTOR_SCALED;\r
   IpSb->ReachableTime = (IpSb->BaseReachableTime * Random) / IP6_RANDOM_FACTOR_SCALE;\r
 }\r
 \r
@@ -43,17 +43,17 @@ Ip6UpdateReachableTime (
 **/\r
 EFI_STATUS\r
 Ip6BuildEfiNeighborCache (\r
-  IN IP6_PROTOCOL            *IpInstance,\r
-  OUT UINT32                 *NeighborCount,\r
-  OUT EFI_IP6_NEIGHBOR_CACHE **NeighborCache\r
+  IN IP6_PROTOCOL             *IpInstance,\r
+  OUT UINT32                  *NeighborCount,\r
+  OUT EFI_IP6_NEIGHBOR_CACHE  **NeighborCache\r
   )\r
 {\r
-  IP6_NEIGHBOR_ENTRY        *Neighbor;\r
-  LIST_ENTRY                *Entry;\r
-  IP6_SERVICE               *IpSb;\r
-  UINT32                    Count;\r
-  EFI_IP6_NEIGHBOR_CACHE    *EfiNeighborCache;\r
-  EFI_IP6_NEIGHBOR_CACHE    *NeighborCacheTmp;\r
+  IP6_NEIGHBOR_ENTRY      *Neighbor;\r
+  LIST_ENTRY              *Entry;\r
+  IP6_SERVICE             *IpSb;\r
+  UINT32                  Count;\r
+  EFI_IP6_NEIGHBOR_CACHE  *EfiNeighborCache;\r
+  EFI_IP6_NEIGHBOR_CACHE  *NeighborCacheTmp;\r
 \r
   NET_CHECK_SIGNATURE (IpInstance, IP6_PROTOCOL_SIGNATURE);\r
   ASSERT (NeighborCount != NULL && NeighborCache != NULL);\r
@@ -82,7 +82,7 @@ Ip6BuildEfiNeighborCache (
 \r
     EfiNeighborCache = NeighborCacheTmp + Count;\r
 \r
-   EfiNeighborCache->State = Neighbor->State;\r
+    EfiNeighborCache->State = Neighbor->State;\r
     IP6_COPY_ADDRESS (&EfiNeighborCache->Neighbor, &Neighbor->Neighbor);\r
     IP6_COPY_LINK_ADDRESS (&EfiNeighborCache->LinkAddress, &Neighbor->LinkAddress);\r
 \r
@@ -114,12 +114,12 @@ Ip6BuildPrefixTable (
   OUT EFI_IP6_ADDRESS_INFO  **PrefixTable\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  IP6_SERVICE               *IpSb;\r
-  UINT32                    Count;\r
-  IP6_PREFIX_LIST_ENTRY     *PrefixList;\r
-  EFI_IP6_ADDRESS_INFO      *EfiPrefix;\r
-  EFI_IP6_ADDRESS_INFO      *PrefixTableTmp;\r
+  LIST_ENTRY             *Entry;\r
+  IP6_SERVICE            *IpSb;\r
+  UINT32                 Count;\r
+  IP6_PREFIX_LIST_ENTRY  *PrefixList;\r
+  EFI_IP6_ADDRESS_INFO   *EfiPrefix;\r
+  EFI_IP6_ADDRESS_INFO   *PrefixTableTmp;\r
 \r
   NET_CHECK_SIGNATURE (IpInstance, IP6_PROTOCOL_SIGNATURE);\r
   ASSERT (PrefixCount != NULL && PrefixTable != NULL);\r
@@ -178,21 +178,21 @@ Ip6BuildPrefixTable (
 **/\r
 IP6_PREFIX_LIST_ENTRY *\r
 Ip6CreatePrefixListEntry (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN BOOLEAN                OnLinkOrAuto,\r
-  IN UINT32                 ValidLifetime,\r
-  IN UINT32                 PreferredLifetime,\r
-  IN UINT8                  PrefixLength,\r
-  IN EFI_IPv6_ADDRESS       *Prefix\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN BOOLEAN           OnLinkOrAuto,\r
+  IN UINT32            ValidLifetime,\r
+  IN UINT32            PreferredLifetime,\r
+  IN UINT8             PrefixLength,\r
+  IN EFI_IPv6_ADDRESS  *Prefix\r
   )\r
 {\r
-  IP6_PREFIX_LIST_ENTRY     *PrefixEntry;\r
-  IP6_ROUTE_ENTRY           *RtEntry;\r
-  LIST_ENTRY                *ListHead;\r
-  LIST_ENTRY                *Entry;\r
-  IP6_PREFIX_LIST_ENTRY     *TmpPrefixEntry;\r
+  IP6_PREFIX_LIST_ENTRY  *PrefixEntry;\r
+  IP6_ROUTE_ENTRY        *RtEntry;\r
+  LIST_ENTRY             *ListHead;\r
+  LIST_ENTRY             *Entry;\r
+  IP6_PREFIX_LIST_ENTRY  *TmpPrefixEntry;\r
 \r
-  if (Prefix == NULL || PreferredLifetime > ValidLifetime || PrefixLength > IP6_PREFIX_MAX) {\r
+  if ((Prefix == NULL) || (PreferredLifetime > ValidLifetime) || (PrefixLength > IP6_PREFIX_MAX)) {\r
     return NULL;\r
   }\r
 \r
@@ -205,7 +205,7 @@ Ip6CreatePrefixListEntry (
                   Prefix\r
                   );\r
   if (PrefixEntry != NULL) {\r
-    PrefixEntry->RefCnt ++;\r
+    PrefixEntry->RefCnt++;\r
     return PrefixEntry;\r
   }\r
 \r
@@ -242,7 +242,7 @@ Ip6CreatePrefixListEntry (
   // is put ahead in the list.\r
   //\r
   NET_LIST_FOR_EACH (Entry, ListHead) {\r
-    TmpPrefixEntry = NET_LIST_USER_STRUCT(Entry, IP6_PREFIX_LIST_ENTRY, Link);\r
+    TmpPrefixEntry = NET_LIST_USER_STRUCT (Entry, IP6_PREFIX_LIST_ENTRY, Link);\r
 \r
     if (TmpPrefixEntry->PrefixLength < PrefixEntry->PrefixLength) {\r
       break;\r
@@ -274,26 +274,26 @@ Ip6DestroyPrefixListEntry (
   IN BOOLEAN                ImmediateDelete\r
   )\r
 {\r
-  LIST_ENTRY      *Entry;\r
-  IP6_INTERFACE   *IpIf;\r
-  EFI_STATUS      Status;\r
+  LIST_ENTRY     *Entry;\r
+  IP6_INTERFACE  *IpIf;\r
+  EFI_STATUS     Status;\r
 \r
   if ((!ImmediateDelete) && (PrefixEntry->RefCnt > 0) && ((--PrefixEntry->RefCnt) > 0)) {\r
-    return ;\r
+    return;\r
   }\r
 \r
   if (OnLinkOrAuto) {\r
-      //\r
-      // Remove the direct route for onlink prefix from route table.\r
-      //\r
-      do {\r
-        Status = Ip6DelRoute (\r
-                   IpSb->RouteTable,\r
-                   &PrefixEntry->Prefix,\r
-                   PrefixEntry->PrefixLength,\r
-                   NULL\r
-                   );\r
-      } while (Status != EFI_NOT_FOUND);\r
+    //\r
+    // Remove the direct route for onlink prefix from route table.\r
+    //\r
+    do {\r
+      Status = Ip6DelRoute (\r
+                 IpSb->RouteTable,\r
+                 &PrefixEntry->Prefix,\r
+                 PrefixEntry->PrefixLength,\r
+                 NULL\r
+                 );\r
+    } while (Status != EFI_NOT_FOUND);\r
   } else {\r
     //\r
     // Remove the corresponding addresses generated from this autonomous prefix.\r
@@ -324,15 +324,15 @@ Ip6DestroyPrefixListEntry (
 **/\r
 IP6_PREFIX_LIST_ENTRY *\r
 Ip6FindPrefixListEntry (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN BOOLEAN                OnLinkOrAuto,\r
-  IN UINT8                  PrefixLength,\r
-  IN EFI_IPv6_ADDRESS       *Prefix\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN BOOLEAN           OnLinkOrAuto,\r
+  IN UINT8             PrefixLength,\r
+  IN EFI_IPv6_ADDRESS  *Prefix\r
   )\r
 {\r
-  IP6_PREFIX_LIST_ENTRY     *PrefixList;\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *ListHead;\r
+  IP6_PREFIX_LIST_ENTRY  *PrefixList;\r
+  LIST_ENTRY             *Entry;\r
+  LIST_ENTRY             *ListHead;\r
 \r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
   ASSERT (Prefix != NULL);\r
@@ -349,8 +349,9 @@ Ip6FindPrefixListEntry (
       //\r
       // Perform exactly prefix match.\r
       //\r
-      if (PrefixList->PrefixLength == PrefixLength &&\r
-        NetIp6IsNetEqual (&PrefixList->Prefix, Prefix, PrefixLength)) {\r
+      if ((PrefixList->PrefixLength == PrefixLength) &&\r
+          NetIp6IsNetEqual (&PrefixList->Prefix, Prefix, PrefixLength))\r
+      {\r
         return PrefixList;\r
       }\r
     } else {\r
@@ -377,14 +378,14 @@ Ip6FindPrefixListEntry (
 **/\r
 VOID\r
 Ip6CleanPrefixListTable (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN LIST_ENTRY             *ListHead\r
+  IN IP6_SERVICE  *IpSb,\r
+  IN LIST_ENTRY   *ListHead\r
   )\r
 {\r
-  IP6_PREFIX_LIST_ENTRY     *PrefixList;\r
-  BOOLEAN                   OnLink;\r
+  IP6_PREFIX_LIST_ENTRY  *PrefixList;\r
+  BOOLEAN                OnLink;\r
 \r
-  OnLink = (BOOLEAN) (ListHead == &IpSb->OnlinkPrefix);\r
+  OnLink = (BOOLEAN)(ListHead == &IpSb->OnlinkPrefix);\r
 \r
   while (!IsListEmpty (ListHead)) {\r
     PrefixList = NET_LIST_HEAD (ListHead, IP6_PREFIX_LIST_ENTRY, Link);\r
@@ -402,25 +403,25 @@ Ip6CleanPrefixListTable (
 **/\r
 VOID\r
 Ip6OnArpResolved (\r
-  IN VOID                   *Context\r
+  IN VOID  *Context\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *Next;\r
-  IP6_NEIGHBOR_ENTRY        *ArpQue;\r
-  IP6_SERVICE               *IpSb;\r
-  IP6_LINK_TX_TOKEN         *Token;\r
-  EFI_STATUS                Status;\r
-  BOOLEAN                   Sent;\r
-\r
-  ArpQue = (IP6_NEIGHBOR_ENTRY *) Context;\r
+  LIST_ENTRY          *Entry;\r
+  LIST_ENTRY          *Next;\r
+  IP6_NEIGHBOR_ENTRY  *ArpQue;\r
+  IP6_SERVICE         *IpSb;\r
+  IP6_LINK_TX_TOKEN   *Token;\r
+  EFI_STATUS          Status;\r
+  BOOLEAN             Sent;\r
+\r
+  ArpQue = (IP6_NEIGHBOR_ENTRY *)Context;\r
   if ((ArpQue == NULL) || (ArpQue->Interface == NULL)) {\r
-    return ;\r
+    return;\r
   }\r
 \r
-  IpSb   = ArpQue->Interface->Service;\r
+  IpSb = ArpQue->Interface->Service;\r
   if ((IpSb == NULL) || (IpSb->Signature != IP6_SERVICE_SIGNATURE)) {\r
-    return ;\r
+    return;\r
   }\r
 \r
   //\r
@@ -430,7 +431,7 @@ Ip6OnArpResolved (
   //\r
   if (NET_MAC_EQUAL (&ArpQue->LinkAddress, &mZeroMacAddress, IpSb->SnpMode.HwAddressSize)) {\r
     Ip6FreeNeighborEntry (IpSb, ArpQue, FALSE, TRUE, EFI_NO_MAPPING, NULL, NULL);\r
-    return ;\r
+    return;\r
   }\r
 \r
   //\r
@@ -471,7 +472,7 @@ Ip6OnArpResolved (
 \r
   if (Sent && (ArpQue->State == EfiNeighborStale)) {\r
     ArpQue->State = EfiNeighborDelay;\r
-    ArpQue->Ticks = (UINT32) IP6_GET_TICKS (IP6_DELAY_FIRST_PROBE_TIME);\r
+    ArpQue->Ticks = (UINT32)IP6_GET_TICKS (IP6_DELAY_FIRST_PROBE_TIME);\r
   }\r
 }\r
 \r
@@ -491,17 +492,17 @@ Ip6OnArpResolved (
 **/\r
 IP6_NEIGHBOR_ENTRY *\r
 Ip6CreateNeighborEntry (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN IP6_ARP_CALLBACK       CallBack,\r
-  IN EFI_IPv6_ADDRESS       *Ip6Address,\r
-  IN EFI_MAC_ADDRESS        *LinkAddress OPTIONAL\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN IP6_ARP_CALLBACK  CallBack,\r
+  IN EFI_IPv6_ADDRESS  *Ip6Address,\r
+  IN EFI_MAC_ADDRESS   *LinkAddress OPTIONAL\r
   )\r
 {\r
-  IP6_NEIGHBOR_ENTRY        *Entry;\r
-  IP6_DEFAULT_ROUTER        *DefaultRouter;\r
+  IP6_NEIGHBOR_ENTRY  *Entry;\r
+  IP6_DEFAULT_ROUTER  *DefaultRouter;\r
 \r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
-  ASSERT (Ip6Address!= NULL);\r
+  ASSERT (Ip6Address != NULL);\r
 \r
   Entry = AllocateZeroPool (sizeof (IP6_NEIGHBOR_ENTRY));\r
   if (Entry == NULL) {\r
@@ -552,13 +553,13 @@ Ip6CreateNeighborEntry (
 **/\r
 IP6_NEIGHBOR_ENTRY *\r
 Ip6FindNeighborEntry (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *Ip6Address\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *Ip6Address\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *Next;\r
-  IP6_NEIGHBOR_ENTRY        *Neighbor;\r
+  LIST_ENTRY          *Entry;\r
+  LIST_ENTRY          *Next;\r
+  IP6_NEIGHBOR_ENTRY  *Neighbor;\r
 \r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
   ASSERT (Ip6Address != NULL);\r
@@ -599,25 +600,25 @@ Ip6FindNeighborEntry (
 **/\r
 EFI_STATUS\r
 Ip6FreeNeighborEntry (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN IP6_NEIGHBOR_ENTRY     *NeighborCache,\r
-  IN BOOLEAN                SendIcmpError,\r
-  IN BOOLEAN                FullFree,\r
-  IN EFI_STATUS             IoStatus,\r
-  IN IP6_FRAME_TO_CANCEL    FrameToCancel OPTIONAL,\r
-  IN VOID                   *Context      OPTIONAL\r
+  IN IP6_SERVICE          *IpSb,\r
+  IN IP6_NEIGHBOR_ENTRY   *NeighborCache,\r
+  IN BOOLEAN              SendIcmpError,\r
+  IN BOOLEAN              FullFree,\r
+  IN EFI_STATUS           IoStatus,\r
+  IN IP6_FRAME_TO_CANCEL  FrameToCancel OPTIONAL,\r
+  IN VOID                 *Context      OPTIONAL\r
   )\r
 {\r
-  IP6_LINK_TX_TOKEN         *TxToken;\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *Next;\r
-  IP6_DEFAULT_ROUTER        *DefaultRouter;\r
+  IP6_LINK_TX_TOKEN   *TxToken;\r
+  LIST_ENTRY          *Entry;\r
+  LIST_ENTRY          *Next;\r
+  IP6_DEFAULT_ROUTER  *DefaultRouter;\r
 \r
   //\r
   // If FrameToCancel fails, the token will not be released.\r
   // To avoid the memory leak, stop this usage model.\r
   //\r
-  if (FullFree && FrameToCancel != NULL) {\r
+  if (FullFree && (FrameToCancel != NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -677,13 +678,13 @@ Ip6FreeNeighborEntry (
 **/\r
 IP6_DEFAULT_ROUTER *\r
 Ip6CreateDefaultRouter (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *Ip6Address,\r
-  IN UINT16                 RouterLifetime\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *Ip6Address,\r
+  IN UINT16            RouterLifetime\r
   )\r
 {\r
-  IP6_DEFAULT_ROUTER        *Entry;\r
-  IP6_ROUTE_ENTRY           *RtEntry;\r
+  IP6_DEFAULT_ROUTER  *Entry;\r
+  IP6_ROUTE_ENTRY     *RtEntry;\r
 \r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
   ASSERT (Ip6Address != NULL);\r
@@ -724,11 +725,11 @@ Ip6CreateDefaultRouter (
 **/\r
 VOID\r
 Ip6DestroyDefaultRouter (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN IP6_DEFAULT_ROUTER     *DefaultRouter\r
+  IN IP6_SERVICE         *IpSb,\r
+  IN IP6_DEFAULT_ROUTER  *DefaultRouter\r
   )\r
 {\r
-  EFI_STATUS                Status;\r
+  EFI_STATUS  Status;\r
 \r
   RemoveEntryList (&DefaultRouter->Link);\r
 \r
@@ -751,10 +752,10 @@ Ip6DestroyDefaultRouter (
 **/\r
 VOID\r
 Ip6CleanDefaultRouterList (\r
-  IN IP6_SERVICE            *IpSb\r
+  IN IP6_SERVICE  *IpSb\r
   )\r
 {\r
-  IP6_DEFAULT_ROUTER        *DefaultRouter;\r
+  IP6_DEFAULT_ROUTER  *DefaultRouter;\r
 \r
   while (!IsListEmpty (&IpSb->DefaultRouterList)) {\r
     DefaultRouter = NET_LIST_HEAD (&IpSb->DefaultRouterList, IP6_DEFAULT_ROUTER, Link);\r
@@ -774,12 +775,12 @@ Ip6CleanDefaultRouterList (
 **/\r
 IP6_DEFAULT_ROUTER *\r
 Ip6FindDefaultRouter (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *Ip6Address\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *Ip6Address\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  IP6_DEFAULT_ROUTER        *DefaultRouter;\r
+  LIST_ENTRY          *Entry;\r
+  IP6_DEFAULT_ROUTER  *DefaultRouter;\r
 \r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
   ASSERT (Ip6Address != NULL);\r
@@ -846,10 +847,10 @@ Ip6OnDADFinished (
         // Set the exta options to send. Here we only want the option request option\r
         // with DNS SERVERS.\r
         //\r
-        Oro         = (EFI_DHCP6_PACKET_OPTION *) OptBuf;\r
-        Oro->OpCode = HTONS (DHCP6_OPT_ORO);\r
-        Oro->OpLen  = HTONS (2);\r
-        *((UINT16 *) &Oro->Data[0]) = HTONS (DHCP6_OPT_DNS_SERVERS);\r
+        Oro                        = (EFI_DHCP6_PACKET_OPTION *)OptBuf;\r
+        Oro->OpCode                = HTONS (DHCP6_OPT_ORO);\r
+        Oro->OpLen                 = HTONS (2);\r
+        *((UINT16 *)&Oro->Data[0]) = HTONS (DHCP6_OPT_DNS_SERVERS);\r
 \r
         InfoReqReXmit.Irt = 4;\r
         InfoReqReXmit.Mrc = 64;\r
@@ -875,12 +876,11 @@ Ip6OnDADFinished (
       Ip6CreatePrefixListEntry (\r
         IpSb,\r
         TRUE,\r
-        (UINT32) IP6_INFINIT_LIFETIME,\r
-        (UINT32) IP6_INFINIT_LIFETIME,\r
+        (UINT32)IP6_INFINIT_LIFETIME,\r
+        (UINT32)IP6_INFINIT_LIFETIME,\r
         IP6_LINK_LOCAL_PREFIX_LENGTH,\r
         &IpSb->LinkLocalAddr\r
         );\r
-\r
     } else {\r
       //\r
       // Global scope unicast address.\r
@@ -928,7 +928,7 @@ Ip6OnDADFinished (
     IpSb->Mnp->Configure (IpSb->Mnp, NULL);\r
     gBS->SetTimer (IpSb->Timer, TimerCancel, 0);\r
     gBS->SetTimer (IpSb->FasterTimer, TimerCancel, 0);\r
-    return ;\r
+    return;\r
   }\r
 \r
   if (!IsDadPassed || NetIp6IsLinkLocalAddr (&AddrInfo->Address)) {\r
@@ -961,10 +961,10 @@ Ip6OnDADFinished (
 **/\r
 EFI_STATUS\r
 Ip6InitDADProcess (\r
-  IN IP6_INTERFACE          *IpIf,\r
-  IN IP6_ADDRESS_INFO       *AddressInfo,\r
-  IN IP6_DAD_CALLBACK       Callback  OPTIONAL,\r
-  IN VOID                   *Context  OPTIONAL\r
+  IN IP6_INTERFACE     *IpIf,\r
+  IN IP6_ADDRESS_INFO  *AddressInfo,\r
+  IN IP6_DAD_CALLBACK  Callback  OPTIONAL,\r
+  IN VOID              *Context  OPTIONAL\r
   )\r
 {\r
   IP6_DAD_ENTRY                             *Entry;\r
@@ -1009,15 +1009,15 @@ Ip6InitDADProcess (
     return Status;\r
   }\r
 \r
-  Entry->Signature    = IP6_DAD_ENTRY_SIGNATURE;\r
-  Entry->MaxTransmit  = DadXmits->DupAddrDetectTransmits;\r
-  Entry->Transmit     = 0;\r
-  Entry->Receive      = 0;\r
-  MaxDelayTick        = IP6_MAX_RTR_SOLICITATION_DELAY / IP6_TIMER_INTERVAL_IN_MS;\r
-  Entry->RetransTick  = (MaxDelayTick * ((NET_RANDOM (NetRandomInitSeed ()) % 5) + 1)) / 5;\r
-  Entry->AddressInfo  = AddressInfo;\r
-  Entry->Callback     = Callback;\r
-  Entry->Context      = Context;\r
+  Entry->Signature   = IP6_DAD_ENTRY_SIGNATURE;\r
+  Entry->MaxTransmit = DadXmits->DupAddrDetectTransmits;\r
+  Entry->Transmit    = 0;\r
+  Entry->Receive     = 0;\r
+  MaxDelayTick       = IP6_MAX_RTR_SOLICITATION_DELAY / IP6_TIMER_INTERVAL_IN_MS;\r
+  Entry->RetransTick = (MaxDelayTick * ((NET_RANDOM (NetRandomInitSeed ()) % 5) + 1)) / 5;\r
+  Entry->AddressInfo = AddressInfo;\r
+  Entry->Callback    = Callback;\r
+  Entry->Context     = Context;\r
   InsertTailList (&IpIf->DupAddrDetectList, &Entry->Link);\r
 \r
   if (Entry->MaxTransmit == 0) {\r
@@ -1044,16 +1044,16 @@ Ip6InitDADProcess (
 **/\r
 IP6_DAD_ENTRY *\r
 Ip6FindDADEntry (\r
-  IN  IP6_SERVICE      *IpSb,\r
-  IN  EFI_IPv6_ADDRESS *Target,\r
-  OUT IP6_INTERFACE    **Interface OPTIONAL\r
+  IN  IP6_SERVICE       *IpSb,\r
+  IN  EFI_IPv6_ADDRESS  *Target,\r
+  OUT IP6_INTERFACE     **Interface OPTIONAL\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *Entry2;\r
-  IP6_INTERFACE             *IpIf;\r
-  IP6_DAD_ENTRY             *DupAddrDetect;\r
-  IP6_ADDRESS_INFO          *AddrInfo;\r
+  LIST_ENTRY        *Entry;\r
+  LIST_ENTRY        *Entry2;\r
+  IP6_INTERFACE     *IpIf;\r
+  IP6_DAD_ENTRY     *DupAddrDetect;\r
+  IP6_ADDRESS_INFO  *AddrInfo;\r
 \r
   NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {\r
     IpIf = NET_LIST_USER_STRUCT (Entry, IP6_INTERFACE, Link);\r
@@ -1065,6 +1065,7 @@ Ip6FindDADEntry (
         if (Interface != NULL) {\r
           *Interface = IpIf;\r
         }\r
+\r
         return DupAddrDetect;\r
       }\r
     }\r
@@ -1093,24 +1094,24 @@ Ip6FindDADEntry (
 **/\r
 EFI_STATUS\r
 Ip6SendRouterSolicit (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN IP6_INTERFACE          *Interface          OPTIONAL,\r
-  IN EFI_IPv6_ADDRESS       *SourceAddress      OPTIONAL,\r
-  IN EFI_IPv6_ADDRESS       *DestinationAddress OPTIONAL,\r
-  IN EFI_MAC_ADDRESS        *SourceLinkAddress  OPTIONAL\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN IP6_INTERFACE     *Interface          OPTIONAL,\r
+  IN EFI_IPv6_ADDRESS  *SourceAddress      OPTIONAL,\r
+  IN EFI_IPv6_ADDRESS  *DestinationAddress OPTIONAL,\r
+  IN EFI_MAC_ADDRESS   *SourceLinkAddress  OPTIONAL\r
   )\r
 {\r
-  NET_BUF                   *Packet;\r
-  EFI_IP6_HEADER            Head;\r
-  IP6_ICMP_INFORMATION_HEAD *IcmpHead;\r
-  IP6_ETHER_ADDR_OPTION     *LinkLayerOption;\r
-  UINT16                    PayloadLen;\r
-  IP6_INTERFACE             *IpIf;\r
+  NET_BUF                    *Packet;\r
+  EFI_IP6_HEADER             Head;\r
+  IP6_ICMP_INFORMATION_HEAD  *IcmpHead;\r
+  IP6_ETHER_ADDR_OPTION      *LinkLayerOption;\r
+  UINT16                     PayloadLen;\r
+  IP6_INTERFACE              *IpIf;\r
 \r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
 \r
   IpIf = Interface;\r
-  if (IpIf == NULL && IpSb->DefaultInterface != NULL) {\r
+  if ((IpIf == NULL) && (IpSb->DefaultInterface != NULL)) {\r
     IpIf = IpSb->DefaultInterface;\r
   }\r
 \r
@@ -1118,12 +1119,12 @@ Ip6SendRouterSolicit (
   // Generate the packet to be sent\r
   //\r
 \r
-  PayloadLen = (UINT16) sizeof (IP6_ICMP_INFORMATION_HEAD);\r
+  PayloadLen = (UINT16)sizeof (IP6_ICMP_INFORMATION_HEAD);\r
   if (SourceLinkAddress != NULL) {\r
     PayloadLen += sizeof (IP6_ETHER_ADDR_OPTION);\r
   }\r
 \r
-  Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32) PayloadLen);\r
+  Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32)PayloadLen);\r
   if (Packet == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
@@ -1131,11 +1132,11 @@ Ip6SendRouterSolicit (
   //\r
   // Create the basic IPv6 header.\r
   //\r
-  Head.FlowLabelL     = 0;\r
-  Head.FlowLabelH     = 0;\r
-  Head.PayloadLength  = HTONS (PayloadLen);\r
-  Head.NextHeader     = IP6_ICMP;\r
-  Head.HopLimit       = IP6_HOP_LIMIT;\r
+  Head.FlowLabelL    = 0;\r
+  Head.FlowLabelH    = 0;\r
+  Head.PayloadLength = HTONS (PayloadLen);\r
+  Head.NextHeader    = IP6_ICMP;\r
+  Head.HopLimit      = IP6_HOP_LIMIT;\r
 \r
   if (SourceAddress != NULL) {\r
     IP6_COPY_ADDRESS (&Head.SourceAddress, SourceAddress);\r
@@ -1143,7 +1144,6 @@ Ip6SendRouterSolicit (
     ZeroMem (&Head.SourceAddress, sizeof (EFI_IPv6_ADDRESS));\r
   }\r
 \r
-\r
   if (DestinationAddress != NULL) {\r
     IP6_COPY_ADDRESS (&Head.DestinationAddress, DestinationAddress);\r
   } else {\r
@@ -1156,7 +1156,7 @@ Ip6SendRouterSolicit (
   // Fill in the ICMP header, and Source link-layer address if contained.\r
   //\r
 \r
-  IcmpHead = (IP6_ICMP_INFORMATION_HEAD *) NetbufAllocSpace (Packet, sizeof (IP6_ICMP_INFORMATION_HEAD), FALSE);\r
+  IcmpHead = (IP6_ICMP_INFORMATION_HEAD *)NetbufAllocSpace (Packet, sizeof (IP6_ICMP_INFORMATION_HEAD), FALSE);\r
   ASSERT (IcmpHead != NULL);\r
   ZeroMem (IcmpHead, sizeof (IP6_ICMP_INFORMATION_HEAD));\r
   IcmpHead->Head.Type = ICMP_V6_ROUTER_SOLICIT;\r
@@ -1164,14 +1164,14 @@ Ip6SendRouterSolicit (
 \r
   LinkLayerOption = NULL;\r
   if (SourceLinkAddress != NULL) {\r
-    LinkLayerOption = (IP6_ETHER_ADDR_OPTION *) NetbufAllocSpace (\r
-                                                  Packet,\r
-                                                  sizeof (IP6_ETHER_ADDR_OPTION),\r
-                                                  FALSE\r
-                                                  );\r
+    LinkLayerOption = (IP6_ETHER_ADDR_OPTION *)NetbufAllocSpace (\r
+                                                 Packet,\r
+                                                 sizeof (IP6_ETHER_ADDR_OPTION),\r
+                                                 FALSE\r
+                                                 );\r
     ASSERT (LinkLayerOption != NULL);\r
     LinkLayerOption->Type   = Ip6OptionEtherSource;\r
-    LinkLayerOption->Length = (UINT8) sizeof (IP6_ETHER_ADDR_OPTION);\r
+    LinkLayerOption->Length = (UINT8)sizeof (IP6_ETHER_ADDR_OPTION);\r
     CopyMem (LinkLayerOption->EtherAddr, SourceLinkAddress, 6);\r
   }\r
 \r
@@ -1205,22 +1205,22 @@ Ip6SendRouterSolicit (
 **/\r
 EFI_STATUS\r
 Ip6SendNeighborAdvertise (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *SourceAddress,\r
-  IN EFI_IPv6_ADDRESS       *DestinationAddress,\r
-  IN EFI_IPv6_ADDRESS       *TargetIp6Address,\r
-  IN EFI_MAC_ADDRESS        *TargetLinkAddress,\r
-  IN BOOLEAN                IsRouter,\r
-  IN BOOLEAN                Override,\r
-  IN BOOLEAN                Solicited\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *SourceAddress,\r
+  IN EFI_IPv6_ADDRESS  *DestinationAddress,\r
+  IN EFI_IPv6_ADDRESS  *TargetIp6Address,\r
+  IN EFI_MAC_ADDRESS   *TargetLinkAddress,\r
+  IN BOOLEAN           IsRouter,\r
+  IN BOOLEAN           Override,\r
+  IN BOOLEAN           Solicited\r
   )\r
 {\r
-  NET_BUF                   *Packet;\r
-  EFI_IP6_HEADER            Head;\r
-  IP6_ICMP_INFORMATION_HEAD *IcmpHead;\r
-  IP6_ETHER_ADDR_OPTION     *LinkLayerOption;\r
-  EFI_IPv6_ADDRESS          *Target;\r
-  UINT16                    PayloadLen;\r
+  NET_BUF                    *Packet;\r
+  EFI_IP6_HEADER             Head;\r
+  IP6_ICMP_INFORMATION_HEAD  *IcmpHead;\r
+  IP6_ETHER_ADDR_OPTION      *LinkLayerOption;\r
+  EFI_IPv6_ADDRESS           *Target;\r
+  UINT16                     PayloadLen;\r
 \r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
 \r
@@ -1232,13 +1232,13 @@ Ip6SendNeighborAdvertise (
   //\r
   ASSERT (DestinationAddress != NULL && TargetIp6Address != NULL && TargetLinkAddress != NULL);\r
 \r
-  PayloadLen = (UINT16) (sizeof (IP6_ICMP_INFORMATION_HEAD) + sizeof (EFI_IPv6_ADDRESS) + sizeof (IP6_ETHER_ADDR_OPTION));\r
+  PayloadLen = (UINT16)(sizeof (IP6_ICMP_INFORMATION_HEAD) + sizeof (EFI_IPv6_ADDRESS) + sizeof (IP6_ETHER_ADDR_OPTION));\r
 \r
   //\r
   // Generate the packet to be sent\r
   //\r
 \r
-  Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32) PayloadLen);\r
+  Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32)PayloadLen);\r
   if (Packet == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
@@ -1246,11 +1246,11 @@ Ip6SendNeighborAdvertise (
   //\r
   // Create the basic IPv6 header.\r
   //\r
-  Head.FlowLabelL     = 0;\r
-  Head.FlowLabelH     = 0;\r
-  Head.PayloadLength  = HTONS (PayloadLen);\r
-  Head.NextHeader     = IP6_ICMP;\r
-  Head.HopLimit       = IP6_HOP_LIMIT;\r
+  Head.FlowLabelL    = 0;\r
+  Head.FlowLabelH    = 0;\r
+  Head.PayloadLength = HTONS (PayloadLen);\r
+  Head.NextHeader    = IP6_ICMP;\r
+  Head.HopLimit      = IP6_HOP_LIMIT;\r
 \r
   IP6_COPY_ADDRESS (&Head.SourceAddress, SourceAddress);\r
   IP6_COPY_ADDRESS (&Head.DestinationAddress, DestinationAddress);\r
@@ -1262,7 +1262,7 @@ Ip6SendNeighborAdvertise (
   // Set the Router flag, Solicited flag and Override flag.\r
   //\r
 \r
-  IcmpHead = (IP6_ICMP_INFORMATION_HEAD *) NetbufAllocSpace (Packet, sizeof (IP6_ICMP_INFORMATION_HEAD), FALSE);\r
+  IcmpHead = (IP6_ICMP_INFORMATION_HEAD *)NetbufAllocSpace (Packet, sizeof (IP6_ICMP_INFORMATION_HEAD), FALSE);\r
   ASSERT (IcmpHead != NULL);\r
   ZeroMem (IcmpHead, sizeof (IP6_ICMP_INFORMATION_HEAD));\r
   IcmpHead->Head.Type = ICMP_V6_NEIGHBOR_ADVERTISE;\r
@@ -1280,15 +1280,15 @@ Ip6SendNeighborAdvertise (
     IcmpHead->Fourth |= IP6_OVERRIDE_FLAG;\r
   }\r
 \r
-  Target = (EFI_IPv6_ADDRESS *) NetbufAllocSpace (Packet, sizeof (EFI_IPv6_ADDRESS), FALSE);\r
+  Target = (EFI_IPv6_ADDRESS *)NetbufAllocSpace (Packet, sizeof (EFI_IPv6_ADDRESS), FALSE);\r
   ASSERT (Target != NULL);\r
   IP6_COPY_ADDRESS (Target, TargetIp6Address);\r
 \r
-  LinkLayerOption = (IP6_ETHER_ADDR_OPTION *) NetbufAllocSpace (\r
-                                                Packet,\r
-                                                sizeof (IP6_ETHER_ADDR_OPTION),\r
-                                                FALSE\r
-                                                );\r
+  LinkLayerOption = (IP6_ETHER_ADDR_OPTION *)NetbufAllocSpace (\r
+                                               Packet,\r
+                                               sizeof (IP6_ETHER_ADDR_OPTION),\r
+                                               FALSE\r
+                                               );\r
   ASSERT (LinkLayerOption != NULL);\r
   LinkLayerOption->Type   = Ip6OptionEtherTarget;\r
   LinkLayerOption->Length = 1;\r
@@ -1320,33 +1320,33 @@ Ip6SendNeighborAdvertise (
 **/\r
 EFI_STATUS\r
 Ip6SendNeighborSolicit (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *SourceAddress,\r
-  IN EFI_IPv6_ADDRESS       *DestinationAddress,\r
-  IN EFI_IPv6_ADDRESS       *TargetIp6Address,\r
-  IN EFI_MAC_ADDRESS        *SourceLinkAddress OPTIONAL\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *SourceAddress,\r
+  IN EFI_IPv6_ADDRESS  *DestinationAddress,\r
+  IN EFI_IPv6_ADDRESS  *TargetIp6Address,\r
+  IN EFI_MAC_ADDRESS   *SourceLinkAddress OPTIONAL\r
   )\r
 {\r
-  NET_BUF                   *Packet;\r
-  EFI_IP6_HEADER            Head;\r
-  IP6_ICMP_INFORMATION_HEAD *IcmpHead;\r
-  IP6_ETHER_ADDR_OPTION     *LinkLayerOption;\r
-  EFI_IPv6_ADDRESS          *Target;\r
-  BOOLEAN                   IsDAD;\r
-  UINT16                    PayloadLen;\r
-  IP6_NEIGHBOR_ENTRY        *Neighbor;\r
+  NET_BUF                    *Packet;\r
+  EFI_IP6_HEADER             Head;\r
+  IP6_ICMP_INFORMATION_HEAD  *IcmpHead;\r
+  IP6_ETHER_ADDR_OPTION      *LinkLayerOption;\r
+  EFI_IPv6_ADDRESS           *Target;\r
+  BOOLEAN                    IsDAD;\r
+  UINT16                     PayloadLen;\r
+  IP6_NEIGHBOR_ENTRY         *Neighbor;\r
 \r
   //\r
   // Check input parameters\r
   //\r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
-  if (DestinationAddress == NULL || TargetIp6Address == NULL) {\r
+  if ((DestinationAddress == NULL) || (TargetIp6Address == NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   IsDAD = FALSE;\r
 \r
-  if (SourceAddress == NULL || (SourceAddress != NULL && NetIp6IsUnspecifiedAddr (SourceAddress))) {\r
+  if ((SourceAddress == NULL) || ((SourceAddress != NULL) && NetIp6IsUnspecifiedAddr (SourceAddress))) {\r
     IsDAD = TRUE;\r
   }\r
 \r
@@ -1355,21 +1355,21 @@ Ip6SendNeighborSolicit (
   // if the solicitation is not sent by performing DAD - Duplicate Address Detection.\r
   // Otherwise must not include it.\r
   //\r
-  PayloadLen = (UINT16) (sizeof (IP6_ICMP_INFORMATION_HEAD) + sizeof (EFI_IPv6_ADDRESS));\r
+  PayloadLen = (UINT16)(sizeof (IP6_ICMP_INFORMATION_HEAD) + sizeof (EFI_IPv6_ADDRESS));\r
 \r
   if (!IsDAD) {\r
     if (SourceLinkAddress == NULL) {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
 \r
-    PayloadLen = (UINT16) (PayloadLen + sizeof (IP6_ETHER_ADDR_OPTION));\r
+    PayloadLen = (UINT16)(PayloadLen + sizeof (IP6_ETHER_ADDR_OPTION));\r
   }\r
 \r
   //\r
   // Generate the packet to be sent\r
   //\r
 \r
-  Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32) PayloadLen);\r
+  Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32)PayloadLen);\r
   if (Packet == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
@@ -1377,11 +1377,11 @@ Ip6SendNeighborSolicit (
   //\r
   // Create the basic IPv6 header\r
   //\r
-  Head.FlowLabelL     = 0;\r
-  Head.FlowLabelH     = 0;\r
-  Head.PayloadLength  = HTONS (PayloadLen);\r
-  Head.NextHeader     = IP6_ICMP;\r
-  Head.HopLimit       = IP6_HOP_LIMIT;\r
+  Head.FlowLabelL    = 0;\r
+  Head.FlowLabelH    = 0;\r
+  Head.PayloadLength = HTONS (PayloadLen);\r
+  Head.NextHeader    = IP6_ICMP;\r
+  Head.HopLimit      = IP6_HOP_LIMIT;\r
 \r
   if (SourceAddress != NULL) {\r
     IP6_COPY_ADDRESS (&Head.SourceAddress, SourceAddress);\r
@@ -1396,27 +1396,26 @@ Ip6SendNeighborSolicit (
   //\r
   // Fill in the ICMP header, Target address, and Source link-layer address.\r
   //\r
-  IcmpHead = (IP6_ICMP_INFORMATION_HEAD *) NetbufAllocSpace (Packet, sizeof (IP6_ICMP_INFORMATION_HEAD), FALSE);\r
+  IcmpHead = (IP6_ICMP_INFORMATION_HEAD *)NetbufAllocSpace (Packet, sizeof (IP6_ICMP_INFORMATION_HEAD), FALSE);\r
   ASSERT (IcmpHead != NULL);\r
   ZeroMem (IcmpHead, sizeof (IP6_ICMP_INFORMATION_HEAD));\r
   IcmpHead->Head.Type = ICMP_V6_NEIGHBOR_SOLICIT;\r
   IcmpHead->Head.Code = 0;\r
 \r
-  Target = (EFI_IPv6_ADDRESS *) NetbufAllocSpace (Packet, sizeof (EFI_IPv6_ADDRESS), FALSE);\r
+  Target = (EFI_IPv6_ADDRESS *)NetbufAllocSpace (Packet, sizeof (EFI_IPv6_ADDRESS), FALSE);\r
   ASSERT (Target != NULL);\r
   IP6_COPY_ADDRESS (Target, TargetIp6Address);\r
 \r
   LinkLayerOption = NULL;\r
   if (!IsDAD) {\r
-\r
     //\r
     // Fill in the source link-layer address option\r
     //\r
-    LinkLayerOption = (IP6_ETHER_ADDR_OPTION *) NetbufAllocSpace (\r
-                                                  Packet,\r
-                                                  sizeof (IP6_ETHER_ADDR_OPTION),\r
-                                                  FALSE\r
-                                                  );\r
+    LinkLayerOption = (IP6_ETHER_ADDR_OPTION *)NetbufAllocSpace (\r
+                                                 Packet,\r
+                                                 sizeof (IP6_ETHER_ADDR_OPTION),\r
+                                                 FALSE\r
+                                                 );\r
     ASSERT (LinkLayerOption != NULL);\r
     LinkLayerOption->Type   = Ip6OptionEtherSource;\r
     LinkLayerOption->Length = 1;\r
@@ -1457,30 +1456,30 @@ Ip6SendNeighborSolicit (
 **/\r
 EFI_STATUS\r
 Ip6ProcessNeighborSolicit (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IP6_HEADER         *Head,\r
-  IN NET_BUF                *Packet\r
+  IN IP6_SERVICE     *IpSb,\r
+  IN EFI_IP6_HEADER  *Head,\r
+  IN NET_BUF         *Packet\r
   )\r
 {\r
-  IP6_ICMP_INFORMATION_HEAD Icmp;\r
-  EFI_IPv6_ADDRESS          Target;\r
-  IP6_ETHER_ADDR_OPTION     LinkLayerOption;\r
-  BOOLEAN                   IsDAD;\r
-  BOOLEAN                   IsUnicast;\r
-  BOOLEAN                   IsMaintained;\r
-  IP6_DAD_ENTRY             *DupAddrDetect;\r
-  IP6_INTERFACE             *IpIf;\r
-  IP6_NEIGHBOR_ENTRY        *Neighbor;\r
-  BOOLEAN                   Solicited;\r
-  BOOLEAN                   UpdateCache;\r
-  EFI_IPv6_ADDRESS          Dest;\r
-  UINT16                    OptionLen;\r
-  UINT8                     *Option;\r
-  BOOLEAN                   Provided;\r
-  EFI_STATUS                Status;\r
-  VOID                      *MacAddress;\r
-\r
-  NetbufCopy (Packet, 0, sizeof (Icmp), (UINT8 *) &Icmp);\r
+  IP6_ICMP_INFORMATION_HEAD  Icmp;\r
+  EFI_IPv6_ADDRESS           Target;\r
+  IP6_ETHER_ADDR_OPTION      LinkLayerOption;\r
+  BOOLEAN                    IsDAD;\r
+  BOOLEAN                    IsUnicast;\r
+  BOOLEAN                    IsMaintained;\r
+  IP6_DAD_ENTRY              *DupAddrDetect;\r
+  IP6_INTERFACE              *IpIf;\r
+  IP6_NEIGHBOR_ENTRY         *Neighbor;\r
+  BOOLEAN                    Solicited;\r
+  BOOLEAN                    UpdateCache;\r
+  EFI_IPv6_ADDRESS           Dest;\r
+  UINT16                     OptionLen;\r
+  UINT8                      *Option;\r
+  BOOLEAN                    Provided;\r
+  EFI_STATUS                 Status;\r
+  VOID                       *MacAddress;\r
+\r
+  NetbufCopy (Packet, 0, sizeof (Icmp), (UINT8 *)&Icmp);\r
   NetbufCopy (Packet, sizeof (Icmp), sizeof (Target), Target.Addr);\r
 \r
   //\r
@@ -1492,7 +1491,7 @@ Ip6ProcessNeighborSolicit (
   //\r
   Status = EFI_INVALID_PARAMETER;\r
 \r
-  if (Head->HopLimit != IP6_HOP_LIMIT || Icmp.Head.Code != 0 || !NetIp6IsValidUnicast (&Target)) {\r
+  if ((Head->HopLimit != IP6_HOP_LIMIT) || (Icmp.Head.Code != 0) || !NetIp6IsValidUnicast (&Target)) {\r
     goto Exit;\r
   }\r
 \r
@@ -1503,9 +1502,9 @@ Ip6ProcessNeighborSolicit (
   if (Head->PayloadLength < IP6_ND_LENGTH) {\r
     goto Exit;\r
   } else {\r
-    OptionLen = (UINT16) (Head->PayloadLength - IP6_ND_LENGTH);\r
+    OptionLen = (UINT16)(Head->PayloadLength - IP6_ND_LENGTH);\r
     if (OptionLen != 0) {\r
-      Option    = NetbufGetByte (Packet, IP6_ND_LENGTH, NULL);\r
+      Option = NetbufGetByte (Packet, IP6_ND_LENGTH, NULL);\r
       ASSERT (Option != NULL);\r
 \r
       //\r
@@ -1527,7 +1526,7 @@ Ip6ProcessNeighborSolicit (
       Packet,\r
       IP6_ND_LENGTH,\r
       sizeof (IP6_ETHER_ADDR_OPTION),\r
-      (UINT8 *) &LinkLayerOption\r
+      (UINT8 *)&LinkLayerOption\r
       );\r
     //\r
     // The solicitation for neighbor discovery should include a source link-layer\r
@@ -1591,7 +1590,8 @@ Ip6ProcessNeighborSolicit (
               MacAddress,\r
               &IpSb->SnpMode.CurrentAddress,\r
               IpSb->SnpMode.HwAddressSize\r
-              ) != 0) {\r
+              ) != 0)\r
+        {\r
           //\r
           // The NS is from another node to performing DAD on the same address.\r
           // Fail DAD for the tentative address.\r
@@ -1607,6 +1607,7 @@ Ip6ProcessNeighborSolicit (
         }\r
       }\r
     }\r
+\r
     goto Exit;\r
   }\r
 \r
@@ -1624,6 +1625,7 @@ Ip6ProcessNeighborSolicit (
         Status = EFI_OUT_OF_RESOURCES;\r
         goto Exit;\r
       }\r
+\r
       UpdateCache = TRUE;\r
     } else {\r
       if (CompareMem (Neighbor->LinkAddress.Addr, LinkLayerOption.EtherAddr, 6) != 0) {\r
@@ -1633,12 +1635,12 @@ Ip6ProcessNeighborSolicit (
 \r
     if (UpdateCache) {\r
       Neighbor->State = EfiNeighborStale;\r
-      Neighbor->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
+      Neighbor->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
       CopyMem (Neighbor->LinkAddress.Addr, LinkLayerOption.EtherAddr, 6);\r
       //\r
       // Send queued packets if exist.\r
       //\r
-      Neighbor->CallBack ((VOID *) Neighbor);\r
+      Neighbor->CallBack ((VOID *)Neighbor);\r
     }\r
   }\r
 \r
@@ -1686,28 +1688,28 @@ Exit:
 **/\r
 EFI_STATUS\r
 Ip6ProcessNeighborAdvertise (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IP6_HEADER         *Head,\r
-  IN NET_BUF                *Packet\r
+  IN IP6_SERVICE     *IpSb,\r
+  IN EFI_IP6_HEADER  *Head,\r
+  IN NET_BUF         *Packet\r
   )\r
 {\r
-  IP6_ICMP_INFORMATION_HEAD Icmp;\r
-  EFI_IPv6_ADDRESS          Target;\r
-  IP6_ETHER_ADDR_OPTION     LinkLayerOption;\r
-  BOOLEAN                   Provided;\r
-  INTN                      Compare;\r
-  IP6_NEIGHBOR_ENTRY        *Neighbor;\r
-  IP6_DEFAULT_ROUTER        *DefaultRouter;\r
-  BOOLEAN                   Solicited;\r
-  BOOLEAN                   IsRouter;\r
-  BOOLEAN                   Override;\r
-  IP6_DAD_ENTRY             *DupAddrDetect;\r
-  IP6_INTERFACE             *IpIf;\r
-  UINT16                    OptionLen;\r
-  UINT8                     *Option;\r
-  EFI_STATUS                Status;\r
-\r
-  NetbufCopy (Packet, 0, sizeof (Icmp), (UINT8 *) &Icmp);\r
+  IP6_ICMP_INFORMATION_HEAD  Icmp;\r
+  EFI_IPv6_ADDRESS           Target;\r
+  IP6_ETHER_ADDR_OPTION      LinkLayerOption;\r
+  BOOLEAN                    Provided;\r
+  INTN                       Compare;\r
+  IP6_NEIGHBOR_ENTRY         *Neighbor;\r
+  IP6_DEFAULT_ROUTER         *DefaultRouter;\r
+  BOOLEAN                    Solicited;\r
+  BOOLEAN                    IsRouter;\r
+  BOOLEAN                    Override;\r
+  IP6_DAD_ENTRY              *DupAddrDetect;\r
+  IP6_INTERFACE              *IpIf;\r
+  UINT16                     OptionLen;\r
+  UINT8                      *Option;\r
+  EFI_STATUS                 Status;\r
+\r
+  NetbufCopy (Packet, 0, sizeof (Icmp), (UINT8 *)&Icmp);\r
   NetbufCopy (Packet, sizeof (Icmp), sizeof (Target), Target.Addr);\r
 \r
   //\r
@@ -1720,7 +1722,7 @@ Ip6ProcessNeighborAdvertise (
   // ICMP Code is 0.\r
   // Target Address is not a multicast address.\r
   //\r
-  if (Head->HopLimit != IP6_HOP_LIMIT || Icmp.Head.Code != 0 || !NetIp6IsValidUnicast (&Target)) {\r
+  if ((Head->HopLimit != IP6_HOP_LIMIT) || (Icmp.Head.Code != 0) || !NetIp6IsValidUnicast (&Target)) {\r
     goto Exit;\r
   }\r
 \r
@@ -1732,9 +1734,9 @@ Ip6ProcessNeighborAdvertise (
   if (Head->PayloadLength < IP6_ND_LENGTH) {\r
     goto Exit;\r
   } else {\r
-    OptionLen = (UINT16) (Head->PayloadLength - IP6_ND_LENGTH);\r
+    OptionLen = (UINT16)(Head->PayloadLength - IP6_ND_LENGTH);\r
     if (OptionLen != 0) {\r
-      Option    = NetbufGetByte (Packet, IP6_ND_LENGTH, NULL);\r
+      Option = NetbufGetByte (Packet, IP6_ND_LENGTH, NULL);\r
       ASSERT (Option != NULL);\r
 \r
       //\r
@@ -1753,6 +1755,7 @@ Ip6ProcessNeighborAdvertise (
   if ((Icmp.Fourth & IP6_SOLICITED_FLAG) == IP6_SOLICITED_FLAG) {\r
     Solicited = TRUE;\r
   }\r
+\r
   if (IP6_IS_MULTICAST (&Head->DestinationAddress) && Solicited) {\r
     goto Exit;\r
   }\r
@@ -1787,6 +1790,7 @@ Ip6ProcessNeighborAdvertise (
   if ((Icmp.Fourth & IP6_IS_ROUTER_FLAG) == IP6_IS_ROUTER_FLAG) {\r
     IsRouter = TRUE;\r
   }\r
+\r
   if ((Icmp.Fourth & IP6_OVERRIDE_FLAG) == IP6_OVERRIDE_FLAG) {\r
     Override = TRUE;\r
   }\r
@@ -1799,7 +1803,7 @@ Ip6ProcessNeighborAdvertise (
       Packet,\r
       IP6_ND_LENGTH,\r
       sizeof (IP6_ETHER_ADDR_OPTION),\r
-      (UINT8 *) &LinkLayerOption\r
+      (UINT8 *)&LinkLayerOption\r
       );\r
 \r
     if (LinkLayerOption.Type == Ip6OptionEtherTarget) {\r
@@ -1828,6 +1832,7 @@ Ip6ProcessNeighborAdvertise (
     if (!Provided) {\r
       goto Exit;\r
     }\r
+\r
     //\r
     // Update the Neighbor Cache\r
     //\r
@@ -1837,17 +1842,16 @@ Ip6ProcessNeighborAdvertise (
       Neighbor->Ticks = IP6_GET_TICKS (IpSb->ReachableTime);\r
     } else {\r
       Neighbor->State = EfiNeighborStale;\r
-      Neighbor->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
+      Neighbor->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
       //\r
       // Send any packets queued for the neighbor awaiting address resolution.\r
       //\r
-      Neighbor->CallBack ((VOID *) Neighbor);\r
+      Neighbor->CallBack ((VOID *)Neighbor);\r
     }\r
 \r
     Neighbor->IsRouter = IsRouter;\r
-\r
   } else {\r
-    if (!Override && Compare != 0) {\r
+    if (!Override && (Compare != 0)) {\r
       //\r
       // When the Override Flag is clear and supplied link-layer address differs from\r
       // that in the cache, if the state of the entry is not REACHABLE, ignore the\r
@@ -1856,12 +1860,13 @@ Ip6ProcessNeighborAdvertise (
       //\r
       if (Neighbor->State == EfiNeighborReachable) {\r
         Neighbor->State = EfiNeighborStale;\r
-        Neighbor->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
+        Neighbor->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
       }\r
     } else {\r
       if (Compare != 0) {\r
         CopyMem (Neighbor->LinkAddress.Addr, LinkLayerOption.EtherAddr, 6);\r
       }\r
+\r
       //\r
       // Update the entry's state\r
       //\r
@@ -1871,7 +1876,7 @@ Ip6ProcessNeighborAdvertise (
       } else {\r
         if (Compare != 0) {\r
           Neighbor->State = EfiNeighborStale;\r
-          Neighbor->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
+          Neighbor->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
         }\r
       }\r
 \r
@@ -1892,7 +1897,7 @@ Ip6ProcessNeighborAdvertise (
   }\r
 \r
   if (Neighbor->State == EfiNeighborReachable) {\r
-    Neighbor->CallBack ((VOID *) Neighbor);\r
+    Neighbor->CallBack ((VOID *)Neighbor);\r
   }\r
 \r
   Status = EFI_SUCCESS;\r
@@ -1918,36 +1923,36 @@ Exit:
 **/\r
 EFI_STATUS\r
 Ip6ProcessRouterAdvertise (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IP6_HEADER         *Head,\r
-  IN NET_BUF                *Packet\r
+  IN IP6_SERVICE     *IpSb,\r
+  IN EFI_IP6_HEADER  *Head,\r
+  IN NET_BUF         *Packet\r
   )\r
 {\r
-  IP6_ICMP_INFORMATION_HEAD Icmp;\r
-  UINT32                    ReachableTime;\r
-  UINT32                    RetransTimer;\r
-  UINT16                    RouterLifetime;\r
-  UINT32                    Offset;\r
-  UINT8                     Type;\r
-  UINT8                     Length;\r
-  IP6_ETHER_ADDR_OPTION     LinkLayerOption;\r
-  UINT32                    Fourth;\r
-  UINT8                     CurHopLimit;\r
-  BOOLEAN                   Mflag;\r
-  BOOLEAN                   Oflag;\r
-  IP6_DEFAULT_ROUTER        *DefaultRouter;\r
-  IP6_NEIGHBOR_ENTRY        *NeighborCache;\r
-  EFI_MAC_ADDRESS           LinkLayerAddress;\r
-  IP6_MTU_OPTION            MTUOption;\r
-  IP6_PREFIX_INFO_OPTION    PrefixOption;\r
-  IP6_PREFIX_LIST_ENTRY     *PrefixList;\r
-  BOOLEAN                   OnLink;\r
-  BOOLEAN                   Autonomous;\r
-  EFI_IPv6_ADDRESS          StatelessAddress;\r
-  EFI_STATUS                Status;\r
-  UINT16                    OptionLen;\r
-  UINT8                     *Option;\r
-  INTN                      Result;\r
+  IP6_ICMP_INFORMATION_HEAD  Icmp;\r
+  UINT32                     ReachableTime;\r
+  UINT32                     RetransTimer;\r
+  UINT16                     RouterLifetime;\r
+  UINT32                     Offset;\r
+  UINT8                      Type;\r
+  UINT8                      Length;\r
+  IP6_ETHER_ADDR_OPTION      LinkLayerOption;\r
+  UINT32                     Fourth;\r
+  UINT8                      CurHopLimit;\r
+  BOOLEAN                    Mflag;\r
+  BOOLEAN                    Oflag;\r
+  IP6_DEFAULT_ROUTER         *DefaultRouter;\r
+  IP6_NEIGHBOR_ENTRY         *NeighborCache;\r
+  EFI_MAC_ADDRESS            LinkLayerAddress;\r
+  IP6_MTU_OPTION             MTUOption;\r
+  IP6_PREFIX_INFO_OPTION     PrefixOption;\r
+  IP6_PREFIX_LIST_ENTRY      *PrefixList;\r
+  BOOLEAN                    OnLink;\r
+  BOOLEAN                    Autonomous;\r
+  EFI_IPv6_ADDRESS           StatelessAddress;\r
+  EFI_STATUS                 Status;\r
+  UINT16                     OptionLen;\r
+  UINT8                      *Option;\r
+  INTN                       Result;\r
 \r
   Status = EFI_INVALID_PARAMETER;\r
 \r
@@ -1958,7 +1963,7 @@ Ip6ProcessRouterAdvertise (
     goto Exit;\r
   }\r
 \r
-  NetbufCopy (Packet, 0, sizeof (Icmp), (UINT8 *) &Icmp);\r
+  NetbufCopy (Packet, 0, sizeof (Icmp), (UINT8 *)&Icmp);\r
 \r
   //\r
   // Validate the incoming Router Advertisement\r
@@ -1970,23 +1975,25 @@ Ip6ProcessRouterAdvertise (
   if (!NetIp6IsLinkLocalAddr (&Head->SourceAddress)) {\r
     goto Exit;\r
   }\r
+\r
   //\r
   // The IP Hop Limit field has a value of 255, i.e. the packet\r
   // could not possibly have been forwarded by a router.\r
   // ICMP Code is 0.\r
   // ICMP length (derived from the IP length) is 16 or more octets.\r
   //\r
-  if (Head->HopLimit != IP6_HOP_LIMIT || Icmp.Head.Code != 0 ||\r
-      Head->PayloadLength < IP6_RA_LENGTH) {\r
+  if ((Head->HopLimit != IP6_HOP_LIMIT) || (Icmp.Head.Code != 0) ||\r
+      (Head->PayloadLength < IP6_RA_LENGTH))\r
+  {\r
     goto Exit;\r
   }\r
 \r
   //\r
   // All included options have a length that is greater than zero.\r
   //\r
-  OptionLen = (UINT16) (Head->PayloadLength - IP6_RA_LENGTH);\r
+  OptionLen = (UINT16)(Head->PayloadLength - IP6_RA_LENGTH);\r
   if (OptionLen != 0) {\r
-    Option    = NetbufGetByte (Packet, IP6_RA_LENGTH, NULL);\r
+    Option = NetbufGetByte (Packet, IP6_RA_LENGTH, NULL);\r
     ASSERT (Option != NULL);\r
 \r
     if (!Ip6IsNDOptionValid (Option, OptionLen)) {\r
@@ -2035,17 +2042,17 @@ Ip6ProcessRouterAdvertise (
     }\r
   }\r
 \r
-  CurHopLimit = *((UINT8 *) &Fourth + 3);\r
+  CurHopLimit = *((UINT8 *)&Fourth + 3);\r
   if (CurHopLimit != 0) {\r
     IpSb->CurHopLimit = CurHopLimit;\r
   }\r
 \r
   Mflag = FALSE;\r
   Oflag = FALSE;\r
-  if ((*((UINT8 *) &Fourth + 2) & IP6_M_ADDR_CONFIG_FLAG) == IP6_M_ADDR_CONFIG_FLAG) {\r
+  if ((*((UINT8 *)&Fourth + 2) & IP6_M_ADDR_CONFIG_FLAG) == IP6_M_ADDR_CONFIG_FLAG) {\r
     Mflag = TRUE;\r
   } else {\r
-    if ((*((UINT8 *) &Fourth + 2) & IP6_O_CONFIG_FLAG) == IP6_O_CONFIG_FLAG) {\r
+    if ((*((UINT8 *)&Fourth + 2) & IP6_O_CONFIG_FLAG) == IP6_O_CONFIG_FLAG) {\r
       Oflag = TRUE;\r
     }\r
   }\r
@@ -2060,12 +2067,12 @@ Ip6ProcessRouterAdvertise (
   //\r
   // Process Reachable Time and Retrans Timer fields.\r
   //\r
-  NetbufCopy (Packet, sizeof (Icmp), sizeof (UINT32), (UINT8 *) &ReachableTime);\r
-  NetbufCopy (Packet, sizeof (Icmp) + sizeof (UINT32), sizeof (UINT32), (UINT8 *) &RetransTimer);\r
+  NetbufCopy (Packet, sizeof (Icmp), sizeof (UINT32), (UINT8 *)&ReachableTime);\r
+  NetbufCopy (Packet, sizeof (Icmp) + sizeof (UINT32), sizeof (UINT32), (UINT8 *)&RetransTimer);\r
   ReachableTime = NTOHL (ReachableTime);\r
   RetransTimer  = NTOHL (RetransTimer);\r
 \r
-  if (ReachableTime != 0 && ReachableTime != IpSb->BaseReachableTime) {\r
+  if ((ReachableTime != 0) && (ReachableTime != IpSb->BaseReachableTime)) {\r
     //\r
     // If new value is not unspecified and differs from the previous one, record it\r
     // in BaseReachableTime and recompute a ReachableTime.\r
@@ -2098,262 +2105,266 @@ Ip6ProcessRouterAdvertise (
   // fit within the input packet.\r
   //\r
   Offset = 16;\r
-  while (Offset < (UINT32) Head->PayloadLength) {\r
+  while (Offset < (UINT32)Head->PayloadLength) {\r
     NetbufCopy (Packet, Offset, sizeof (UINT8), &Type);\r
     switch (Type) {\r
-    case Ip6OptionEtherSource:\r
-      //\r
-      // Update the neighbor cache\r
-      //\r
-      NetbufCopy (Packet, Offset, sizeof (IP6_ETHER_ADDR_OPTION), (UINT8 *) &LinkLayerOption);\r
+      case Ip6OptionEtherSource:\r
+        //\r
+        // Update the neighbor cache\r
+        //\r
+        NetbufCopy (Packet, Offset, sizeof (IP6_ETHER_ADDR_OPTION), (UINT8 *)&LinkLayerOption);\r
 \r
-      //\r
-      // Option size validity ensured by Ip6IsNDOptionValid().\r
-      //\r
-      ASSERT (LinkLayerOption.Length != 0);\r
-      ASSERT (Offset + (UINT32) LinkLayerOption.Length * 8 <= (UINT32) Head->PayloadLength);\r
+        //\r
+        // Option size validity ensured by Ip6IsNDOptionValid().\r
+        //\r
+        ASSERT (LinkLayerOption.Length != 0);\r
+        ASSERT (Offset + (UINT32)LinkLayerOption.Length * 8 <= (UINT32)Head->PayloadLength);\r
 \r
-      ZeroMem (&LinkLayerAddress, sizeof (EFI_MAC_ADDRESS));\r
-      CopyMem (&LinkLayerAddress, LinkLayerOption.EtherAddr, 6);\r
+        ZeroMem (&LinkLayerAddress, sizeof (EFI_MAC_ADDRESS));\r
+        CopyMem (&LinkLayerAddress, LinkLayerOption.EtherAddr, 6);\r
 \r
-      if (NeighborCache == NULL) {\r
-        NeighborCache = Ip6CreateNeighborEntry (\r
-                          IpSb,\r
-                          Ip6OnArpResolved,\r
-                          &Head->SourceAddress,\r
-                          &LinkLayerAddress\r
-                          );\r
         if (NeighborCache == NULL) {\r
-          Status = EFI_OUT_OF_RESOURCES;\r
-          goto Exit;\r
+          NeighborCache = Ip6CreateNeighborEntry (\r
+                            IpSb,\r
+                            Ip6OnArpResolved,\r
+                            &Head->SourceAddress,\r
+                            &LinkLayerAddress\r
+                            );\r
+          if (NeighborCache == NULL) {\r
+            Status = EFI_OUT_OF_RESOURCES;\r
+            goto Exit;\r
+          }\r
+\r
+          NeighborCache->IsRouter = TRUE;\r
+          NeighborCache->State    = EfiNeighborStale;\r
+          NeighborCache->Ticks    = (UINT32)IP6_INFINIT_LIFETIME;\r
+        } else {\r
+          Result = CompareMem (&LinkLayerAddress, &NeighborCache->LinkAddress, 6);\r
+\r
+          //\r
+          // If the link-local address is the same as that already in the cache,\r
+          // the cache entry's state remains unchanged. Otherwise update the\r
+          // reachability state to STALE.\r
+          //\r
+          if ((NeighborCache->State == EfiNeighborInComplete) || (Result != 0)) {\r
+            CopyMem (&NeighborCache->LinkAddress, &LinkLayerAddress, 6);\r
+\r
+            NeighborCache->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
+\r
+            if (NeighborCache->State == EfiNeighborInComplete) {\r
+              //\r
+              // Send queued packets if exist.\r
+              //\r
+              NeighborCache->State = EfiNeighborStale;\r
+              NeighborCache->CallBack ((VOID *)NeighborCache);\r
+            } else {\r
+              NeighborCache->State = EfiNeighborStale;\r
+            }\r
+          }\r
         }\r
-        NeighborCache->IsRouter = TRUE;\r
-        NeighborCache->State    = EfiNeighborStale;\r
-        NeighborCache->Ticks    = (UINT32) IP6_INFINIT_LIFETIME;\r
-      } else {\r
-        Result = CompareMem (&LinkLayerAddress, &NeighborCache->LinkAddress, 6);\r
+\r
+        Offset += (UINT32)LinkLayerOption.Length * 8;\r
+        break;\r
+      case Ip6OptionPrefixInfo:\r
+        NetbufCopy (Packet, Offset, sizeof (IP6_PREFIX_INFO_OPTION), (UINT8 *)&PrefixOption);\r
 \r
         //\r
-        // If the link-local address is the same as that already in the cache,\r
-        // the cache entry's state remains unchanged. Otherwise update the\r
-        // reachability state to STALE.\r
+        // Option size validity ensured by Ip6IsNDOptionValid().\r
         //\r
-        if ((NeighborCache->State == EfiNeighborInComplete) || (Result != 0)) {\r
-          CopyMem (&NeighborCache->LinkAddress, &LinkLayerAddress, 6);\r
+        ASSERT (PrefixOption.Length == 4);\r
+        ASSERT (Offset + (UINT32)PrefixOption.Length * 8 <= (UINT32)Head->PayloadLength);\r
 \r
-          NeighborCache->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
+        PrefixOption.ValidLifetime     = NTOHL (PrefixOption.ValidLifetime);\r
+        PrefixOption.PreferredLifetime = NTOHL (PrefixOption.PreferredLifetime);\r
 \r
-          if (NeighborCache->State == EfiNeighborInComplete) {\r
-            //\r
-            // Send queued packets if exist.\r
-            //\r
-            NeighborCache->State = EfiNeighborStale;\r
-            NeighborCache->CallBack ((VOID *) NeighborCache);\r
-          } else {\r
-            NeighborCache->State = EfiNeighborStale;\r
-          }\r
+        //\r
+        // Get L and A flag, recorded in the lower 2 bits of Reserved1\r
+        //\r
+        OnLink = FALSE;\r
+        if ((PrefixOption.Reserved1 & IP6_ON_LINK_FLAG) == IP6_ON_LINK_FLAG) {\r
+          OnLink = TRUE;\r
         }\r
-      }\r
-\r
-      Offset += (UINT32) LinkLayerOption.Length * 8;\r
-      break;\r
-    case Ip6OptionPrefixInfo:\r
-      NetbufCopy (Packet, Offset, sizeof (IP6_PREFIX_INFO_OPTION), (UINT8 *) &PrefixOption);\r
 \r
-      //\r
-      // Option size validity ensured by Ip6IsNDOptionValid().\r
-      //\r
-      ASSERT (PrefixOption.Length == 4);\r
-      ASSERT (Offset + (UINT32) PrefixOption.Length * 8 <= (UINT32) Head->PayloadLength);\r
-\r
-      PrefixOption.ValidLifetime     = NTOHL (PrefixOption.ValidLifetime);\r
-      PrefixOption.PreferredLifetime = NTOHL (PrefixOption.PreferredLifetime);\r
+        Autonomous = FALSE;\r
+        if ((PrefixOption.Reserved1 & IP6_AUTO_CONFIG_FLAG) == IP6_AUTO_CONFIG_FLAG) {\r
+          Autonomous = TRUE;\r
+        }\r
 \r
-      //\r
-      // Get L and A flag, recorded in the lower 2 bits of Reserved1\r
-      //\r
-      OnLink = FALSE;\r
-      if ((PrefixOption.Reserved1 & IP6_ON_LINK_FLAG) == IP6_ON_LINK_FLAG) {\r
-        OnLink = TRUE;\r
-      }\r
-      Autonomous = FALSE;\r
-      if ((PrefixOption.Reserved1 & IP6_AUTO_CONFIG_FLAG) == IP6_AUTO_CONFIG_FLAG) {\r
-        Autonomous = TRUE;\r
-      }\r
+        //\r
+        // If the prefix is the link-local prefix, silently ignore the prefix option.\r
+        //\r
+        if ((PrefixOption.PrefixLength == IP6_LINK_LOCAL_PREFIX_LENGTH) &&\r
+            NetIp6IsLinkLocalAddr (&PrefixOption.Prefix)\r
+            )\r
+        {\r
+          Offset += sizeof (IP6_PREFIX_INFO_OPTION);\r
+          break;\r
+        }\r
 \r
-      //\r
-      // If the prefix is the link-local prefix, silently ignore the prefix option.\r
-      //\r
-      if (PrefixOption.PrefixLength == IP6_LINK_LOCAL_PREFIX_LENGTH &&\r
-          NetIp6IsLinkLocalAddr (&PrefixOption.Prefix)\r
-          ) {\r
-        Offset += sizeof (IP6_PREFIX_INFO_OPTION);\r
-        break;\r
-      }\r
-      //\r
-      // Do following if on-link flag is set according to RFC4861.\r
-      //\r
-      if (OnLink) {\r
-        PrefixList = Ip6FindPrefixListEntry (\r
-                       IpSb,\r
-                       TRUE,\r
-                       PrefixOption.PrefixLength,\r
-                       &PrefixOption.Prefix\r
-                       );\r
         //\r
-        // Create a new entry for the prefix, if the ValidLifetime is zero,\r
-        // silently ignore the prefix option.\r
+        // Do following if on-link flag is set according to RFC4861.\r
         //\r
-        if (PrefixList == NULL && PrefixOption.ValidLifetime != 0) {\r
-          PrefixList = Ip6CreatePrefixListEntry (\r
+        if (OnLink) {\r
+          PrefixList = Ip6FindPrefixListEntry (\r
                          IpSb,\r
                          TRUE,\r
-                         PrefixOption.ValidLifetime,\r
-                         PrefixOption.PreferredLifetime,\r
                          PrefixOption.PrefixLength,\r
                          &PrefixOption.Prefix\r
                          );\r
-          if (PrefixList == NULL) {\r
-            Status = EFI_OUT_OF_RESOURCES;\r
-            goto Exit;\r
-          }\r
-        } else if (PrefixList != NULL) {\r
-          if (PrefixOption.ValidLifetime != 0) {\r
-            PrefixList->ValidLifetime = PrefixOption.ValidLifetime;\r
-          } else {\r
-            //\r
-            // If the prefix exists and incoming ValidLifetime is zero, immediately\r
-            // remove the prefix.\r
-            Ip6DestroyPrefixListEntry (IpSb, PrefixList, OnLink, TRUE);\r
-          }\r
-        }\r
-      }\r
-\r
-      //\r
-      // Do following if Autonomous flag is set according to RFC4862.\r
-      //\r
-      if (Autonomous && PrefixOption.PreferredLifetime <= PrefixOption.ValidLifetime) {\r
-        PrefixList = Ip6FindPrefixListEntry (\r
-                       IpSb,\r
-                       FALSE,\r
-                       PrefixOption.PrefixLength,\r
-                       &PrefixOption.Prefix\r
-                       );\r
-        //\r
-        // Create a new entry for the prefix, and form an address by prefix + interface id\r
-        // If the sum of the prefix length and interface identifier length\r
-        // does not equal 128 bits, the Prefix Information option MUST be ignored.\r
-        //\r
-        if (PrefixList == NULL &&\r
-            PrefixOption.ValidLifetime != 0 &&\r
-            PrefixOption.PrefixLength + IpSb->InterfaceIdLen * 8 == 128\r
-            ) {\r
           //\r
-          // Form the address in network order.\r
+          // Create a new entry for the prefix, if the ValidLifetime is zero,\r
+          // silently ignore the prefix option.\r
           //\r
-          CopyMem (&StatelessAddress, &PrefixOption.Prefix, sizeof (UINT64));\r
-          CopyMem (&StatelessAddress.Addr[8], IpSb->InterfaceId, sizeof (UINT64));\r
-\r
-          //\r
-          // If the address is not yet in the assigned address list, adds it into.\r
-          //\r
-          if (!Ip6IsOneOfSetAddress (IpSb, &StatelessAddress, NULL, NULL)) {\r
-            //\r
-            // And also not in the DAD process, check its uniqueness firstly.\r
-            //\r
-            if (Ip6FindDADEntry (IpSb, &StatelessAddress, NULL) == NULL) {\r
-              Status = Ip6SetAddress (\r
-                         IpSb->DefaultInterface,\r
-                         &StatelessAddress,\r
-                         FALSE,\r
-                         PrefixOption.PrefixLength,\r
-                         PrefixOption.ValidLifetime,\r
-                         PrefixOption.PreferredLifetime,\r
-                         NULL,\r
-                         NULL\r
-                         );\r
-              if (EFI_ERROR (Status)) {\r
-                goto Exit;\r
-              }\r
+          if ((PrefixList == NULL) && (PrefixOption.ValidLifetime != 0)) {\r
+            PrefixList = Ip6CreatePrefixListEntry (\r
+                           IpSb,\r
+                           TRUE,\r
+                           PrefixOption.ValidLifetime,\r
+                           PrefixOption.PreferredLifetime,\r
+                           PrefixOption.PrefixLength,\r
+                           &PrefixOption.Prefix\r
+                           );\r
+            if (PrefixList == NULL) {\r
+              Status = EFI_OUT_OF_RESOURCES;\r
+              goto Exit;\r
+            }\r
+          } else if (PrefixList != NULL) {\r
+            if (PrefixOption.ValidLifetime != 0) {\r
+              PrefixList->ValidLifetime = PrefixOption.ValidLifetime;\r
+            } else {\r
+              //\r
+              // If the prefix exists and incoming ValidLifetime is zero, immediately\r
+              // remove the prefix.\r
+              Ip6DestroyPrefixListEntry (IpSb, PrefixList, OnLink, TRUE);\r
             }\r
           }\r
+        }\r
 \r
-          //\r
-          // Adds the prefix option to stateless prefix option list.\r
-          //\r
-          PrefixList = Ip6CreatePrefixListEntry (\r
+        //\r
+        // Do following if Autonomous flag is set according to RFC4862.\r
+        //\r
+        if (Autonomous && (PrefixOption.PreferredLifetime <= PrefixOption.ValidLifetime)) {\r
+          PrefixList = Ip6FindPrefixListEntry (\r
                          IpSb,\r
                          FALSE,\r
-                         PrefixOption.ValidLifetime,\r
-                         PrefixOption.PreferredLifetime,\r
                          PrefixOption.PrefixLength,\r
                          &PrefixOption.Prefix\r
                          );\r
-          if (PrefixList == NULL) {\r
-            Status = EFI_OUT_OF_RESOURCES;\r
-            goto Exit;\r
-          }\r
-        } else if (PrefixList != NULL) {\r
-\r
           //\r
-          // Reset the preferred lifetime of the address if the advertised prefix exists.\r
-          // Perform specific action to valid lifetime together.\r
+          // Create a new entry for the prefix, and form an address by prefix + interface id\r
+          // If the sum of the prefix length and interface identifier length\r
+          // does not equal 128 bits, the Prefix Information option MUST be ignored.\r
           //\r
-          PrefixList->PreferredLifetime = PrefixOption.PreferredLifetime;\r
-          if ((PrefixOption.ValidLifetime > 7200) ||\r
-              (PrefixOption.ValidLifetime > PrefixList->ValidLifetime)) {\r
+          if ((PrefixList == NULL) &&\r
+              (PrefixOption.ValidLifetime != 0) &&\r
+              (PrefixOption.PrefixLength + IpSb->InterfaceIdLen * 8 == 128)\r
+              )\r
+          {\r
             //\r
-            // If the received Valid Lifetime is greater than 2 hours or\r
-            // greater than RemainingLifetime, set the valid lifetime of the\r
-            // corresponding address to the advertised Valid Lifetime.\r
+            // Form the address in network order.\r
             //\r
-            PrefixList->ValidLifetime = PrefixOption.ValidLifetime;\r
+            CopyMem (&StatelessAddress, &PrefixOption.Prefix, sizeof (UINT64));\r
+            CopyMem (&StatelessAddress.Addr[8], IpSb->InterfaceId, sizeof (UINT64));\r
 \r
-          } else if (PrefixList->ValidLifetime <= 7200) {\r
             //\r
-            // If RemainingLifetime is less than or equals to 2 hours, ignore the\r
-            // Prefix Information option with regards to the valid lifetime.\r
-            // TODO: If this option has been authenticated, set the valid lifetime.\r
+            // If the address is not yet in the assigned address list, adds it into.\r
             //\r
-          } else {\r
+            if (!Ip6IsOneOfSetAddress (IpSb, &StatelessAddress, NULL, NULL)) {\r
+              //\r
+              // And also not in the DAD process, check its uniqueness firstly.\r
+              //\r
+              if (Ip6FindDADEntry (IpSb, &StatelessAddress, NULL) == NULL) {\r
+                Status = Ip6SetAddress (\r
+                           IpSb->DefaultInterface,\r
+                           &StatelessAddress,\r
+                           FALSE,\r
+                           PrefixOption.PrefixLength,\r
+                           PrefixOption.ValidLifetime,\r
+                           PrefixOption.PreferredLifetime,\r
+                           NULL,\r
+                           NULL\r
+                           );\r
+                if (EFI_ERROR (Status)) {\r
+                  goto Exit;\r
+                }\r
+              }\r
+            }\r
+\r
             //\r
-            // Otherwise, reset the valid lifetime of the corresponding\r
-            // address to 2 hours.\r
+            // Adds the prefix option to stateless prefix option list.\r
+            //\r
+            PrefixList = Ip6CreatePrefixListEntry (\r
+                           IpSb,\r
+                           FALSE,\r
+                           PrefixOption.ValidLifetime,\r
+                           PrefixOption.PreferredLifetime,\r
+                           PrefixOption.PrefixLength,\r
+                           &PrefixOption.Prefix\r
+                           );\r
+            if (PrefixList == NULL) {\r
+              Status = EFI_OUT_OF_RESOURCES;\r
+              goto Exit;\r
+            }\r
+          } else if (PrefixList != NULL) {\r
             //\r
-            PrefixList->ValidLifetime = 7200;\r
+            // Reset the preferred lifetime of the address if the advertised prefix exists.\r
+            // Perform specific action to valid lifetime together.\r
+            //\r
+            PrefixList->PreferredLifetime = PrefixOption.PreferredLifetime;\r
+            if ((PrefixOption.ValidLifetime > 7200) ||\r
+                (PrefixOption.ValidLifetime > PrefixList->ValidLifetime))\r
+            {\r
+              //\r
+              // If the received Valid Lifetime is greater than 2 hours or\r
+              // greater than RemainingLifetime, set the valid lifetime of the\r
+              // corresponding address to the advertised Valid Lifetime.\r
+              //\r
+              PrefixList->ValidLifetime = PrefixOption.ValidLifetime;\r
+            } else if (PrefixList->ValidLifetime <= 7200) {\r
+              //\r
+              // If RemainingLifetime is less than or equals to 2 hours, ignore the\r
+              // Prefix Information option with regards to the valid lifetime.\r
+              // TODO: If this option has been authenticated, set the valid lifetime.\r
+              //\r
+            } else {\r
+              //\r
+              // Otherwise, reset the valid lifetime of the corresponding\r
+              // address to 2 hours.\r
+              //\r
+              PrefixList->ValidLifetime = 7200;\r
+            }\r
           }\r
         }\r
-      }\r
 \r
-      Offset += sizeof (IP6_PREFIX_INFO_OPTION);\r
-      break;\r
-    case Ip6OptionMtu:\r
-      NetbufCopy (Packet, Offset, sizeof (IP6_MTU_OPTION), (UINT8 *) &MTUOption);\r
+        Offset += sizeof (IP6_PREFIX_INFO_OPTION);\r
+        break;\r
+      case Ip6OptionMtu:\r
+        NetbufCopy (Packet, Offset, sizeof (IP6_MTU_OPTION), (UINT8 *)&MTUOption);\r
 \r
-      //\r
-      // Option size validity ensured by Ip6IsNDOptionValid().\r
-      //\r
-      ASSERT (MTUOption.Length == 1);\r
-      ASSERT (Offset + (UINT32) MTUOption.Length * 8 <= (UINT32) Head->PayloadLength);\r
+        //\r
+        // Option size validity ensured by Ip6IsNDOptionValid().\r
+        //\r
+        ASSERT (MTUOption.Length == 1);\r
+        ASSERT (Offset + (UINT32)MTUOption.Length * 8 <= (UINT32)Head->PayloadLength);\r
 \r
-      //\r
-      // Use IPv6 minimum link MTU 1280 bytes as the maximum packet size in order\r
-      // to omit implementation of Path MTU Discovery. Thus ignore the MTU option\r
-      // in Router Advertisement.\r
-      //\r
+        //\r
+        // Use IPv6 minimum link MTU 1280 bytes as the maximum packet size in order\r
+        // to omit implementation of Path MTU Discovery. Thus ignore the MTU option\r
+        // in Router Advertisement.\r
+        //\r
 \r
-      Offset += sizeof (IP6_MTU_OPTION);\r
-      break;\r
-    default:\r
-      //\r
-      // Silently ignore unrecognized options\r
-      //\r
-      NetbufCopy (Packet, Offset + sizeof (UINT8), sizeof (UINT8), &Length);\r
+        Offset += sizeof (IP6_MTU_OPTION);\r
+        break;\r
+      default:\r
+        //\r
+        // Silently ignore unrecognized options\r
+        //\r
+        NetbufCopy (Packet, Offset + sizeof (UINT8), sizeof (UINT8), &Length);\r
 \r
-      ASSERT (Length != 0);\r
+        ASSERT (Length != 0);\r
 \r
-      Offset += (UINT32) Length * 8;\r
-      break;\r
+        Offset += (UINT32)Length * 8;\r
+        break;\r
     }\r
   }\r
 \r
@@ -2382,31 +2393,31 @@ Exit:
 **/\r
 EFI_STATUS\r
 Ip6ProcessRedirect (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IP6_HEADER         *Head,\r
-  IN NET_BUF                *Packet\r
+  IN IP6_SERVICE     *IpSb,\r
+  IN EFI_IP6_HEADER  *Head,\r
+  IN NET_BUF         *Packet\r
   )\r
 {\r
-  IP6_ICMP_INFORMATION_HEAD *Icmp;\r
-  EFI_IPv6_ADDRESS          *Target;\r
-  EFI_IPv6_ADDRESS          *IcmpDest;\r
-  UINT8                     *Option;\r
-  UINT16                    OptionLen;\r
-  IP6_ROUTE_ENTRY           *RouteEntry;\r
-  IP6_ROUTE_CACHE_ENTRY     *RouteCache;\r
-  IP6_NEIGHBOR_ENTRY        *NeighborCache;\r
-  INT32                     Length;\r
-  UINT8                     OptLen;\r
-  IP6_ETHER_ADDR_OPTION     *LinkLayerOption;\r
-  EFI_MAC_ADDRESS           Mac;\r
-  UINT32                    Index;\r
-  BOOLEAN                   IsRouter;\r
-  EFI_STATUS                Status;\r
-  INTN                      Result;\r
+  IP6_ICMP_INFORMATION_HEAD  *Icmp;\r
+  EFI_IPv6_ADDRESS           *Target;\r
+  EFI_IPv6_ADDRESS           *IcmpDest;\r
+  UINT8                      *Option;\r
+  UINT16                     OptionLen;\r
+  IP6_ROUTE_ENTRY            *RouteEntry;\r
+  IP6_ROUTE_CACHE_ENTRY      *RouteCache;\r
+  IP6_NEIGHBOR_ENTRY         *NeighborCache;\r
+  INT32                      Length;\r
+  UINT8                      OptLen;\r
+  IP6_ETHER_ADDR_OPTION      *LinkLayerOption;\r
+  EFI_MAC_ADDRESS            Mac;\r
+  UINT32                     Index;\r
+  BOOLEAN                    IsRouter;\r
+  EFI_STATUS                 Status;\r
+  INTN                       Result;\r
 \r
   Status = EFI_INVALID_PARAMETER;\r
 \r
-  Icmp = (IP6_ICMP_INFORMATION_HEAD *) NetbufGetByte (Packet, 0, NULL);\r
+  Icmp = (IP6_ICMP_INFORMATION_HEAD *)NetbufGetByte (Packet, 0, NULL);\r
   if (Icmp == NULL) {\r
     goto Exit;\r
   }\r
@@ -2421,8 +2432,9 @@ Ip6ProcessRedirect (
   // ICMP Code is 0.\r
   // ICMP length (derived from the IP length) is 40 or more octets.\r
   //\r
-  if (Head->HopLimit != IP6_HOP_LIMIT || Icmp->Head.Code != 0 ||\r
-      Head->PayloadLength < IP6_REDITECT_LENGTH) {\r
+  if ((Head->HopLimit != IP6_HOP_LIMIT) || (Icmp->Head.Code != 0) ||\r
+      (Head->PayloadLength < IP6_REDITECT_LENGTH))\r
+  {\r
     goto Exit;\r
   }\r
 \r
@@ -2443,9 +2455,9 @@ Ip6ProcessRedirect (
   //\r
   // All included options have a length that is greater than zero.\r
   //\r
-  OptionLen = (UINT16) (Head->PayloadLength - IP6_REDITECT_LENGTH);\r
+  OptionLen = (UINT16)(Head->PayloadLength - IP6_REDITECT_LENGTH);\r
   if (OptionLen != 0) {\r
-    Option    = NetbufGetByte (Packet, IP6_REDITECT_LENGTH, NULL);\r
+    Option = NetbufGetByte (Packet, IP6_REDITECT_LENGTH, NULL);\r
     ASSERT (Option != NULL);\r
 \r
     if (!Ip6IsNDOptionValid (Option, OptionLen)) {\r
@@ -2453,7 +2465,7 @@ Ip6ProcessRedirect (
     }\r
   }\r
 \r
-  Target   = (EFI_IPv6_ADDRESS *) (Icmp + 1);\r
+  Target   = (EFI_IPv6_ADDRESS *)(Icmp + 1);\r
   IcmpDest = Target + 1;\r
 \r
   //\r
@@ -2479,32 +2491,34 @@ Ip6ProcessRedirect (
   // address option.\r
   //\r
   Length          = Packet->TotalSize - 40;\r
-  Option          = (UINT8 *) (IcmpDest + 1);\r
+  Option          = (UINT8 *)(IcmpDest + 1);\r
   LinkLayerOption = NULL;\r
   while (Length > 0) {\r
     switch (*Option) {\r
-    case Ip6OptionEtherTarget:\r
+      case Ip6OptionEtherTarget:\r
 \r
-      LinkLayerOption = (IP6_ETHER_ADDR_OPTION *) Option;\r
-      OptLen          = LinkLayerOption->Length;\r
-      if (OptLen != 1) {\r
-        //\r
-        // For ethernet, the length must be 1.\r
-        //\r
-        goto Exit;\r
-      }\r
-      break;\r
+        LinkLayerOption = (IP6_ETHER_ADDR_OPTION *)Option;\r
+        OptLen          = LinkLayerOption->Length;\r
+        if (OptLen != 1) {\r
+          //\r
+          // For ethernet, the length must be 1.\r
+          //\r
+          goto Exit;\r
+        }\r
 \r
-    default:\r
+        break;\r
 \r
-      OptLen = *(Option + 1);\r
-      if (OptLen == 0) {\r
-        //\r
-        // A length of 0 is invalid.\r
-        //\r
-        goto Exit;\r
-      }\r
-      break;\r
+      default:\r
+\r
+        OptLen = *(Option + 1);\r
+        if (OptLen == 0) {\r
+          //\r
+          // A length of 0 is invalid.\r
+          //\r
+          goto Exit;\r
+        }\r
+\r
+        break;\r
     }\r
 \r
     Length -= 8 * OptLen;\r
@@ -2535,10 +2549,9 @@ Ip6ProcessRedirect (
     IP6_COPY_ADDRESS (&RouteCache->NextHop, Target);\r
 \r
     if (!IsRouter) {\r
-      RouteEntry = (IP6_ROUTE_ENTRY *) RouteCache->Tag;\r
+      RouteEntry       = (IP6_ROUTE_ENTRY *)RouteCache->Tag;\r
       RouteEntry->Flag = RouteEntry->Flag | IP6_DIRECT_ROUTE;\r
     }\r
-\r
   } else {\r
     //\r
     // Get the Route Entry.\r
@@ -2563,7 +2576,7 @@ Ip6ProcessRedirect (
                    IcmpDest,\r
                    &Head->DestinationAddress,\r
                    Target,\r
-                   (UINTN) RouteEntry\r
+                   (UINTN)RouteEntry\r
                    );\r
     if (RouteCache == NULL) {\r
       Status = EFI_OUT_OF_RESOURCES;\r
@@ -2600,7 +2613,7 @@ Ip6ProcessRedirect (
       }\r
 \r
       NeighborCache->State = EfiNeighborStale;\r
-      NeighborCache->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
+      NeighborCache->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
     } else {\r
       Result = CompareMem (LinkLayerOption->EtherAddr, &NeighborCache->LinkAddress, 6);\r
 \r
@@ -2612,14 +2625,14 @@ Ip6ProcessRedirect (
       if ((NeighborCache->State == EfiNeighborInComplete) || (Result != 0)) {\r
         CopyMem (&NeighborCache->LinkAddress, LinkLayerOption->EtherAddr, 6);\r
 \r
-        NeighborCache->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
+        NeighborCache->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
 \r
         if (NeighborCache->State == EfiNeighborInComplete) {\r
           //\r
           // Send queued packets if exist.\r
           //\r
           NeighborCache->State = EfiNeighborStale;\r
-          NeighborCache->CallBack ((VOID *) NeighborCache);\r
+          NeighborCache->CallBack ((VOID *)NeighborCache);\r
         } else {\r
           NeighborCache->State = EfiNeighborStale;\r
         }\r
@@ -2627,7 +2640,7 @@ Ip6ProcessRedirect (
     }\r
   }\r
 \r
-  if (NeighborCache != NULL && IsRouter) {\r
+  if ((NeighborCache != NULL) && IsRouter) {\r
     //\r
     // The Target is a router, set IsRouter to TRUE.\r
     //\r
@@ -2667,14 +2680,14 @@ Exit:
 **/\r
 EFI_STATUS\r
 Ip6AddNeighbor (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *TargetIp6Address,\r
-  IN EFI_MAC_ADDRESS        *TargetLinkAddress OPTIONAL,\r
-  IN UINT32                 Timeout,\r
-  IN BOOLEAN                Override\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *TargetIp6Address,\r
+  IN EFI_MAC_ADDRESS   *TargetLinkAddress OPTIONAL,\r
+  IN UINT32            Timeout,\r
+  IN BOOLEAN           Override\r
   )\r
 {\r
-  IP6_NEIGHBOR_ENTRY        *Neighbor;\r
+  IP6_NEIGHBOR_ENTRY  *Neighbor;\r
 \r
   Neighbor = Ip6FindNeighborEntry (IpSb, TargetIp6Address);\r
   if (Neighbor != NULL) {\r
@@ -2702,7 +2715,7 @@ Ip6AddNeighbor (
     Neighbor->Ticks   = IP6_GET_TICKS (Timeout / TICKS_PER_MS);\r
     Neighbor->Dynamic = TRUE;\r
   } else {\r
-    Neighbor->Ticks   = (UINT32) IP6_INFINIT_LIFETIME;\r
+    Neighbor->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
   }\r
 \r
   return EFI_SUCCESS;\r
@@ -2729,14 +2742,14 @@ Ip6AddNeighbor (
 **/\r
 EFI_STATUS\r
 Ip6DelNeighbor (\r
-  IN IP6_SERVICE            *IpSb,\r
-  IN EFI_IPv6_ADDRESS       *TargetIp6Address,\r
-  IN EFI_MAC_ADDRESS        *TargetLinkAddress OPTIONAL,\r
-  IN UINT32                 Timeout,\r
-  IN BOOLEAN                Override\r
+  IN IP6_SERVICE       *IpSb,\r
+  IN EFI_IPv6_ADDRESS  *TargetIp6Address,\r
+  IN EFI_MAC_ADDRESS   *TargetLinkAddress OPTIONAL,\r
+  IN UINT32            Timeout,\r
+  IN BOOLEAN           Override\r
   )\r
 {\r
-  IP6_NEIGHBOR_ENTRY        *Neighbor;\r
+  IP6_NEIGHBOR_ENTRY  *Neighbor;\r
 \r
   Neighbor = Ip6FindNeighborEntry (IpSb, TargetIp6Address);\r
   if (Neighbor == NULL) {\r
@@ -2761,24 +2774,24 @@ Ip6DelNeighbor (
 VOID\r
 EFIAPI\r
 Ip6NdFasterTimerTicking (\r
-  IN EFI_EVENT              Event,\r
-  IN VOID                   *Context\r
+  IN EFI_EVENT  Event,\r
+  IN VOID       *Context\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *Next;\r
-  LIST_ENTRY                *Entry2;\r
-  IP6_INTERFACE             *IpIf;\r
-  IP6_DELAY_JOIN_LIST       *DelayNode;\r
-  EFI_IPv6_ADDRESS          Source;\r
-  IP6_DAD_ENTRY             *DupAddrDetect;\r
-  EFI_STATUS                Status;\r
-  IP6_NEIGHBOR_ENTRY        *NeighborCache;\r
-  EFI_IPv6_ADDRESS          Destination;\r
-  IP6_SERVICE               *IpSb;\r
-  BOOLEAN                   Flag;\r
-\r
-  IpSb = (IP6_SERVICE *) Context;\r
+  LIST_ENTRY           *Entry;\r
+  LIST_ENTRY           *Next;\r
+  LIST_ENTRY           *Entry2;\r
+  IP6_INTERFACE        *IpIf;\r
+  IP6_DELAY_JOIN_LIST  *DelayNode;\r
+  EFI_IPv6_ADDRESS     Source;\r
+  IP6_DAD_ENTRY        *DupAddrDetect;\r
+  EFI_STATUS           Status;\r
+  IP6_NEIGHBOR_ENTRY   *NeighborCache;\r
+  EFI_IPv6_ADDRESS     Destination;\r
+  IP6_SERVICE          *IpSb;\r
+  BOOLEAN              Flag;\r
+\r
+  IpSb = (IP6_SERVICE *)Context;\r
   NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
 \r
   ZeroMem (&Source, sizeof (EFI_IPv6_ADDRESS));\r
@@ -2790,13 +2803,14 @@ Ip6NdFasterTimerTicking (
   //\r
   if ((IpSb->Ip6ConfigInstance.Policy == Ip6ConfigPolicyAutomatic) &&\r
       !IpSb->RouterAdvertiseReceived &&\r
-      IpSb->SolicitTimer > 0\r
-      ) {\r
+      (IpSb->SolicitTimer > 0)\r
+      )\r
+  {\r
     if ((IpSb->Ticks == 0) || (--IpSb->Ticks == 0)) {\r
       Status = Ip6SendRouterSolicit (IpSb, NULL, NULL, NULL, NULL);\r
       if (!EFI_ERROR (Status)) {\r
         IpSb->SolicitTimer--;\r
-        IpSb->Ticks = (UINT32) IP6_GET_TICKS (IP6_RTR_SOLICITATION_INTERVAL);\r
+        IpSb->Ticks = (UINT32)IP6_GET_TICKS (IP6_RTR_SOLICITATION_INTERVAL);\r
       }\r
     }\r
   }\r
@@ -2864,7 +2878,8 @@ Ip6NdFasterTimerTicking (
           //\r
           Flag = FALSE;\r
           if ((DupAddrDetect->Receive == 0) ||\r
-              (DupAddrDetect->Transmit <= DupAddrDetect->Receive)) {\r
+              (DupAddrDetect->Transmit <= DupAddrDetect->Receive))\r
+          {\r
             Flag = TRUE;\r
           }\r
 \r
@@ -2881,149 +2896,111 @@ Ip6NdFasterTimerTicking (
     NeighborCache = NET_LIST_USER_STRUCT (Entry, IP6_NEIGHBOR_ENTRY, Link);\r
 \r
     switch (NeighborCache->State) {\r
-    case EfiNeighborInComplete:\r
-      if (NeighborCache->Ticks > 0) {\r
-        --NeighborCache->Ticks;\r
-      }\r
-\r
-      //\r
-      // Retransmit Neighbor Solicitation messages approximately every\r
-      // RetransTimer milliseconds while awaiting a response.\r
-      //\r
-      if (NeighborCache->Ticks == 0) {\r
-        if (NeighborCache->Transmit > 1) {\r
-          //\r
-          // Send out multicast neighbor solicitation for address resolution.\r
-          // After last neighbor solicitation message has been sent out, wait\r
-          // for RetransTimer and then remove entry if no response is received.\r
-          //\r
-          Ip6CreateSNMulticastAddr (&NeighborCache->Neighbor, &Destination);\r
-          Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);\r
-          if (EFI_ERROR (Status)) {\r
-            return;\r
-          }\r
-\r
-          Status = Ip6SendNeighborSolicit (\r
-                     IpSb,\r
-                     &Source,\r
-                     &Destination,\r
-                     &NeighborCache->Neighbor,\r
-                     &IpSb->SnpMode.CurrentAddress\r
-                     );\r
-          if (EFI_ERROR (Status)) {\r
-            return;\r
-          }\r
+      case EfiNeighborInComplete:\r
+        if (NeighborCache->Ticks > 0) {\r
+          --NeighborCache->Ticks;\r
         }\r
 \r
         //\r
-        // Update the retransmit times.\r
+        // Retransmit Neighbor Solicitation messages approximately every\r
+        // RetransTimer milliseconds while awaiting a response.\r
         //\r
-        if (NeighborCache->Transmit > 0) {\r
-          --NeighborCache->Transmit;\r
-          NeighborCache->Ticks = IP6_GET_TICKS (IpSb->RetransTimer);\r
-        }\r
-      }\r
-\r
-      if (NeighborCache->Transmit == 0) {\r
-        //\r
-        // Timeout, send ICMP destination unreachable packet and then remove entry\r
-        //\r
-        Status = Ip6FreeNeighborEntry (\r
-                   IpSb,\r
-                   NeighborCache,\r
-                   TRUE,\r
-                   TRUE,\r
-                   EFI_ICMP_ERROR,\r
-                   NULL,\r
-                   NULL\r
-                   );\r
-        if (EFI_ERROR (Status)) {\r
-          return;\r
-        }\r
-      }\r
+        if (NeighborCache->Ticks == 0) {\r
+          if (NeighborCache->Transmit > 1) {\r
+            //\r
+            // Send out multicast neighbor solicitation for address resolution.\r
+            // After last neighbor solicitation message has been sent out, wait\r
+            // for RetransTimer and then remove entry if no response is received.\r
+            //\r
+            Ip6CreateSNMulticastAddr (&NeighborCache->Neighbor, &Destination);\r
+            Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);\r
+            if (EFI_ERROR (Status)) {\r
+              return;\r
+            }\r
 \r
-      break;\r
+            Status = Ip6SendNeighborSolicit (\r
+                       IpSb,\r
+                       &Source,\r
+                       &Destination,\r
+                       &NeighborCache->Neighbor,\r
+                       &IpSb->SnpMode.CurrentAddress\r
+                       );\r
+            if (EFI_ERROR (Status)) {\r
+              return;\r
+            }\r
+          }\r
 \r
-    case EfiNeighborReachable:\r
-      //\r
-      // This entry is inserted by EfiIp6Neighbors() as static entry\r
-      // and will not timeout.\r
-      //\r
-      if (!NeighborCache->Dynamic && (NeighborCache->Ticks == IP6_INFINIT_LIFETIME)) {\r
-        break;\r
-      }\r
+          //\r
+          // Update the retransmit times.\r
+          //\r
+          if (NeighborCache->Transmit > 0) {\r
+            --NeighborCache->Transmit;\r
+            NeighborCache->Ticks = IP6_GET_TICKS (IpSb->RetransTimer);\r
+          }\r
+        }\r
 \r
-      if ((NeighborCache->Ticks == 0) || (--NeighborCache->Ticks == 0)) {\r
-        if (NeighborCache->Dynamic) {\r
+        if (NeighborCache->Transmit == 0) {\r
           //\r
-          // This entry is inserted by EfiIp6Neighbors() as dynamic entry\r
-          // and will be deleted after timeout.\r
+          // Timeout, send ICMP destination unreachable packet and then remove entry\r
           //\r
           Status = Ip6FreeNeighborEntry (\r
                      IpSb,\r
                      NeighborCache,\r
-                     FALSE,\r
                      TRUE,\r
-                     EFI_TIMEOUT,\r
+                     TRUE,\r
+                     EFI_ICMP_ERROR,\r
                      NULL,\r
                      NULL\r
                      );\r
           if (EFI_ERROR (Status)) {\r
             return;\r
           }\r
-        } else {\r
-          NeighborCache->State = EfiNeighborStale;\r
-          NeighborCache->Ticks = (UINT32) IP6_INFINIT_LIFETIME;\r
         }\r
-      }\r
 \r
-      break;\r
-\r
-    case EfiNeighborDelay:\r
-      if ((NeighborCache->Ticks == 0) || (--NeighborCache->Ticks == 0)) {\r
+        break;\r
 \r
-        NeighborCache->State    = EfiNeighborProbe;\r
-        NeighborCache->Ticks    = IP6_GET_TICKS (IpSb->RetransTimer);\r
-        NeighborCache->Transmit = IP6_MAX_UNICAST_SOLICIT + 1;\r
+      case EfiNeighborReachable:\r
         //\r
-        // Send out unicast neighbor solicitation for Neighbor Unreachability Detection\r
+        // This entry is inserted by EfiIp6Neighbors() as static entry\r
+        // and will not timeout.\r
         //\r
-        Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);\r
-        if (EFI_ERROR (Status)) {\r
-          return;\r
+        if (!NeighborCache->Dynamic && (NeighborCache->Ticks == IP6_INFINIT_LIFETIME)) {\r
+          break;\r
         }\r
 \r
-        Status = Ip6SendNeighborSolicit (\r
-                   IpSb,\r
-                   &Source,\r
-                   &NeighborCache->Neighbor,\r
-                   &NeighborCache->Neighbor,\r
-                   &IpSb->SnpMode.CurrentAddress\r
-                   );\r
-        if (EFI_ERROR (Status)) {\r
-          return;\r
+        if ((NeighborCache->Ticks == 0) || (--NeighborCache->Ticks == 0)) {\r
+          if (NeighborCache->Dynamic) {\r
+            //\r
+            // This entry is inserted by EfiIp6Neighbors() as dynamic entry\r
+            // and will be deleted after timeout.\r
+            //\r
+            Status = Ip6FreeNeighborEntry (\r
+                       IpSb,\r
+                       NeighborCache,\r
+                       FALSE,\r
+                       TRUE,\r
+                       EFI_TIMEOUT,\r
+                       NULL,\r
+                       NULL\r
+                       );\r
+            if (EFI_ERROR (Status)) {\r
+              return;\r
+            }\r
+          } else {\r
+            NeighborCache->State = EfiNeighborStale;\r
+            NeighborCache->Ticks = (UINT32)IP6_INFINIT_LIFETIME;\r
+          }\r
         }\r
 \r
-        NeighborCache->Transmit--;\r
-      }\r
-\r
-      break;\r
-\r
-    case EfiNeighborProbe:\r
-      if (NeighborCache->Ticks > 0) {\r
-        --NeighborCache->Ticks;\r
-      }\r
+        break;\r
 \r
-      //\r
-      // Retransmit Neighbor Solicitation messages approximately every\r
-      // RetransTimer milliseconds while awaiting a response.\r
-      //\r
-      if (NeighborCache->Ticks == 0) {\r
-        if (NeighborCache->Transmit > 1) {\r
+      case EfiNeighborDelay:\r
+        if ((NeighborCache->Ticks == 0) || (--NeighborCache->Ticks == 0)) {\r
+          NeighborCache->State    = EfiNeighborProbe;\r
+          NeighborCache->Ticks    = IP6_GET_TICKS (IpSb->RetransTimer);\r
+          NeighborCache->Transmit = IP6_MAX_UNICAST_SOLICIT + 1;\r
           //\r
-          // Send out unicast neighbor solicitation for Neighbor Unreachability\r
-          // Detection. After last neighbor solicitation message has been sent out,\r
-          // wait for RetransTimer and then remove entry if no response is received.\r
+          // Send out unicast neighbor solicitation for Neighbor Unreachability Detection\r
           //\r
           Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);\r
           if (EFI_ERROR (Status)) {\r
@@ -3040,39 +3017,76 @@ Ip6NdFasterTimerTicking (
           if (EFI_ERROR (Status)) {\r
             return;\r
           }\r
+\r
+          NeighborCache->Transmit--;\r
         }\r
 \r
-        //\r
-        // Update the retransmit times.\r
-        //\r
-        if (NeighborCache->Transmit > 0) {\r
-          --NeighborCache->Transmit;\r
-          NeighborCache->Ticks = IP6_GET_TICKS (IpSb->RetransTimer);\r
+        break;\r
+\r
+      case EfiNeighborProbe:\r
+        if (NeighborCache->Ticks > 0) {\r
+          --NeighborCache->Ticks;\r
         }\r
-      }\r
 \r
-      if (NeighborCache->Transmit == 0) {\r
         //\r
-        // Delete the neighbor entry.\r
+        // Retransmit Neighbor Solicitation messages approximately every\r
+        // RetransTimer milliseconds while awaiting a response.\r
         //\r
-        Status = Ip6FreeNeighborEntry (\r
-                   IpSb,\r
-                   NeighborCache,\r
-                   FALSE,\r
-                   TRUE,\r
-                   EFI_TIMEOUT,\r
-                   NULL,\r
-                   NULL\r
-                   );\r
-        if (EFI_ERROR (Status)) {\r
-          return;\r
+        if (NeighborCache->Ticks == 0) {\r
+          if (NeighborCache->Transmit > 1) {\r
+            //\r
+            // Send out unicast neighbor solicitation for Neighbor Unreachability\r
+            // Detection. After last neighbor solicitation message has been sent out,\r
+            // wait for RetransTimer and then remove entry if no response is received.\r
+            //\r
+            Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);\r
+            if (EFI_ERROR (Status)) {\r
+              return;\r
+            }\r
+\r
+            Status = Ip6SendNeighborSolicit (\r
+                       IpSb,\r
+                       &Source,\r
+                       &NeighborCache->Neighbor,\r
+                       &NeighborCache->Neighbor,\r
+                       &IpSb->SnpMode.CurrentAddress\r
+                       );\r
+            if (EFI_ERROR (Status)) {\r
+              return;\r
+            }\r
+          }\r
+\r
+          //\r
+          // Update the retransmit times.\r
+          //\r
+          if (NeighborCache->Transmit > 0) {\r
+            --NeighborCache->Transmit;\r
+            NeighborCache->Ticks = IP6_GET_TICKS (IpSb->RetransTimer);\r
+          }\r
         }\r
-      }\r
 \r
-      break;\r
+        if (NeighborCache->Transmit == 0) {\r
+          //\r
+          // Delete the neighbor entry.\r
+          //\r
+          Status = Ip6FreeNeighborEntry (\r
+                     IpSb,\r
+                     NeighborCache,\r
+                     FALSE,\r
+                     TRUE,\r
+                     EFI_TIMEOUT,\r
+                     NULL,\r
+                     NULL\r
+                     );\r
+          if (EFI_ERROR (Status)) {\r
+            return;\r
+          }\r
+        }\r
 \r
-    default:\r
-      break;\r
+        break;\r
+\r
+      default:\r
+        break;\r
     }\r
   }\r
 }\r
@@ -3087,15 +3101,15 @@ Ip6NdFasterTimerTicking (
 **/\r
 VOID\r
 Ip6NdTimerTicking (\r
-  IN IP6_SERVICE            *IpSb\r
+  IN IP6_SERVICE  *IpSb\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  LIST_ENTRY                *Next;\r
-  IP6_DEFAULT_ROUTER        *DefaultRouter;\r
-  IP6_PREFIX_LIST_ENTRY     *PrefixOption;\r
-  UINT8                     Index;\r
-  IP6_ROUTE_CACHE_ENTRY     *RouteCache;\r
+  LIST_ENTRY             *Entry;\r
+  LIST_ENTRY             *Next;\r
+  IP6_DEFAULT_ROUTER     *DefaultRouter;\r
+  IP6_PREFIX_LIST_ENTRY  *PrefixOption;\r
+  UINT8                  Index;\r
+  IP6_ROUTE_CACHE_ENTRY  *RouteCache;\r
 \r
   //\r
   // Decrease the lifetime of default router, if expires remove it from default router list.\r
@@ -3114,11 +3128,12 @@ Ip6NdTimerTicking (
   //\r
   NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->AutonomousPrefix) {\r
     PrefixOption = NET_LIST_USER_STRUCT (Entry, IP6_PREFIX_LIST_ENTRY, Link);\r
-    if (PrefixOption->ValidLifetime != (UINT32) IP6_INFINIT_LIFETIME) {\r
+    if (PrefixOption->ValidLifetime != (UINT32)IP6_INFINIT_LIFETIME) {\r
       if ((PrefixOption->ValidLifetime > 0) && (--PrefixOption->ValidLifetime > 0)) {\r
-        if ((PrefixOption->PreferredLifetime != (UINT32) IP6_INFINIT_LIFETIME) &&\r
+        if ((PrefixOption->PreferredLifetime != (UINT32)IP6_INFINIT_LIFETIME) &&\r
             (PrefixOption->PreferredLifetime > 0)\r
-            ) {\r
+            )\r
+        {\r
           --PrefixOption->PreferredLifetime;\r
         }\r
       } else {\r
@@ -3129,7 +3144,7 @@ Ip6NdTimerTicking (
 \r
   NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->OnlinkPrefix) {\r
     PrefixOption = NET_LIST_USER_STRUCT (Entry, IP6_PREFIX_LIST_ENTRY, Link);\r
-    if (PrefixOption->ValidLifetime != (UINT32) IP6_INFINIT_LIFETIME) {\r
+    if (PrefixOption->ValidLifetime != (UINT32)IP6_INFINIT_LIFETIME) {\r
       if ((PrefixOption->ValidLifetime == 0) || (--PrefixOption->ValidLifetime == 0)) {\r
         Ip6DestroyPrefixListEntry (IpSb, PrefixOption, TRUE, TRUE);\r
       }\r
@@ -3156,4 +3171,3 @@ Ip6NdTimerTicking (
     }\r
   }\r
 }\r
-\r