\r
Copyright (c) 2009 - 2018, 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
**/\r
EFI_STATUS\r
Ip6SetToAllNodeMulticast (\r
- IN BOOLEAN Router,\r
- IN UINT8 Scope,\r
- OUT EFI_IPv6_ADDRESS *Ip6Addr\r
+ IN BOOLEAN Router,\r
+ IN UINT8 Scope,\r
+ OUT EFI_IPv6_ADDRESS *Ip6Addr\r
)\r
{\r
if (Ip6Addr == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (!Router && Scope == IP6_SITE_LOCAL_SCOPE) {\r
+ if (!Router && (Scope == IP6_SITE_LOCAL_SCOPE)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
**/\r
UINT8 *\r
Ip6CreateInterfaceID (\r
- IN OUT IP6_SERVICE *IpSb\r
+ IN OUT IP6_SERVICE *IpSb\r
)\r
{\r
- UINT8 InterfaceId[8];\r
- UINT8 Byte;\r
- EFI_MAC_ADDRESS *MacAddr;\r
- UINT32 AddrLen;\r
+ UINT8 InterfaceId[8];\r
+ UINT8 Byte;\r
+ EFI_MAC_ADDRESS *MacAddr;\r
+ UINT32 AddrLen;\r
\r
NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
\r
//\r
// Currently only IEEE 802 48-bit MACs are supported to create link local address.\r
//\r
- if (AddrLen != IP6_MAC_LEN || IpSb->InterfaceIdLen != IP6_IF_ID_LEN) {\r
+ if ((AddrLen != IP6_MAC_LEN) || (IpSb->InterfaceIdLen != IP6_IF_ID_LEN)) {\r
return NULL;\r
}\r
\r
InterfaceId[4] = 0xFE;\r
CopyMem (&InterfaceId[5], &MacAddr->Addr[3], 3);\r
\r
- Byte = (UINT8) (InterfaceId[0] & IP6_U_BIT);\r
+ Byte = (UINT8)(InterfaceId[0] & IP6_U_BIT);\r
if (Byte == IP6_U_BIT) {\r
InterfaceId[0] &= ~IP6_U_BIT;\r
} else {\r
**/\r
EFI_IPv6_ADDRESS *\r
Ip6CreateLinkLocalAddr (\r
- IN OUT IP6_SERVICE *IpSb\r
+ IN OUT IP6_SERVICE *IpSb\r
)\r
{\r
EFI_IPv6_ADDRESS *Ip6Addr;\r
}\r
\r
//\r
- // Get the interface id if it is manully configured.\r
+ // Get the interface id if it is manually configured.\r
//\r
Ip6Config = &IpSb->Ip6ConfigInstance.Ip6Config;\r
DataSize = sizeof (EFI_IP6_CONFIG_INTERFACE_ID);\r
**/\r
VOID\r
Ip6CreateSNMulticastAddr (\r
- IN EFI_IPv6_ADDRESS *Ip6Addr,\r
- OUT EFI_IPv6_ADDRESS *MulticastAddr\r
+ IN EFI_IPv6_ADDRESS *Ip6Addr,\r
+ OUT EFI_IPv6_ADDRESS *MulticastAddr\r
)\r
{\r
ASSERT (Ip6Addr != NULL && MulticastAddr != NULL);\r
**/\r
VOID\r
Ip6AddAddr (\r
- IN OUT IP6_INTERFACE *IpIf,\r
- IN IP6_ADDRESS_INFO *AddrInfo\r
+ IN OUT IP6_INTERFACE *IpIf,\r
+ IN IP6_ADDRESS_INFO *AddrInfo\r
)\r
{\r
InsertHeadList (&IpIf->AddressList, &AddrInfo->Link);\r
EFI_STATUS\r
EFIAPI\r
Ip6DestroyChildEntryByAddr (\r
- IN LIST_ENTRY *Entry,\r
- IN VOID *Context\r
+ IN LIST_ENTRY *Entry,\r
+ IN VOID *Context\r
)\r
{\r
IP6_PROTOCOL *Instance;\r
EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding;\r
EFI_IPv6_ADDRESS *Address;\r
\r
- Instance = NET_LIST_USER_STRUCT_S (Entry, IP6_PROTOCOL, Link, IP6_PROTOCOL_SIGNATURE);\r
- ServiceBinding = ((IP6_DESTROY_CHILD_BY_ADDR_CALLBACK_CONTEXT*) Context)->ServiceBinding;\r
- Address = ((IP6_DESTROY_CHILD_BY_ADDR_CALLBACK_CONTEXT*) Context)->Address;\r
+ Instance = NET_LIST_USER_STRUCT_S (Entry, IP6_PROTOCOL, Link, IP6_PROTOCOL_SIGNATURE);\r
+ ServiceBinding = ((IP6_DESTROY_CHILD_BY_ADDR_CALLBACK_CONTEXT *)Context)->ServiceBinding;\r
+ Address = ((IP6_DESTROY_CHILD_BY_ADDR_CALLBACK_CONTEXT *)Context)->Address;\r
\r
if ((Instance->State == IP6_STATE_CONFIGED) && EFI_IP6_EQUAL (&Instance->ConfigData.StationAddress, Address)) {\r
return ServiceBinding->DestroyChild (ServiceBinding, Instance->Handle);\r
IN EFI_IPv6_ADDRESS *Address\r
)\r
{\r
- LIST_ENTRY *List;\r
+ LIST_ENTRY *List;\r
IP6_DESTROY_CHILD_BY_ADDR_CALLBACK_CONTEXT Context;\r
\r
NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
\r
- List = &IpSb->Children;\r
+ List = &IpSb->Children;\r
Context.ServiceBinding = &IpSb->ServiceBinding;\r
- Context.Address = Address;\r
+ Context.Address = Address;\r
NetDestroyLinkList (\r
List,\r
Ip6DestroyChildEntryByAddr,\r
IN UINT8 PrefixLength\r
)\r
{\r
- EFI_STATUS Status;\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
- IP6_ADDRESS_INFO *AddrInfo;\r
- EFI_IPv6_ADDRESS SnMCastAddr;\r
+ EFI_STATUS Status;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
+ IP6_ADDRESS_INFO *AddrInfo;\r
+ EFI_IPv6_ADDRESS SnMCastAddr;\r
\r
- if (IsListEmpty (AddressList) || *AddressCount < 1 || PrefixLength > IP6_PREFIX_MAX) {\r
+ if (IsListEmpty (AddressList) || (*AddressCount < 1) || (PrefixLength > IP6_PREFIX_MAX)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
NET_LIST_FOR_EACH_SAFE (Entry, Next, AddressList) {\r
AddrInfo = NET_LIST_USER_STRUCT_S (Entry, IP6_ADDRESS_INFO, Link, IP6_ADDR_INFO_SIGNATURE);\r
\r
- if (Prefix == NULL ||\r
- (PrefixLength == 128 && EFI_IP6_EQUAL (Prefix, &AddrInfo->Address)) ||\r
- (PrefixLength == AddrInfo->PrefixLength && NetIp6IsNetEqual (Prefix, &AddrInfo->Address, PrefixLength))\r
- ) {\r
+ if ((Prefix == NULL) ||\r
+ ((PrefixLength == 128) && EFI_IP6_EQUAL (Prefix, &AddrInfo->Address)) ||\r
+ ((PrefixLength == AddrInfo->PrefixLength) && NetIp6IsNetEqual (Prefix, &AddrInfo->Address, PrefixLength))\r
+ )\r
+ {\r
if (IpSb != NULL) {\r
NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
Ip6CreateSNMulticastAddr (&AddrInfo->Address, &SnMCastAddr);\r
**/\r
BOOLEAN\r
Ip6IsSNMulticastAddr (\r
- IN EFI_IPv6_ADDRESS *Ip6\r
+ IN EFI_IPv6_ADDRESS *Ip6\r
)\r
{\r
- EFI_IPv6_ADDRESS Sn;\r
- BOOLEAN Flag;\r
+ EFI_IPv6_ADDRESS Sn;\r
+ BOOLEAN Flag;\r
\r
Ip6CreateSNMulticastAddr (Ip6, &Sn);\r
Flag = FALSE;\r
**/\r
BOOLEAN\r
Ip6IsOneOfSetAddress (\r
- IN IP6_SERVICE *IpSb,\r
- IN EFI_IPv6_ADDRESS *Address,\r
- OUT IP6_INTERFACE **Interface OPTIONAL,\r
- OUT IP6_ADDRESS_INFO **AddressInfo OPTIONAL\r
+ IN IP6_SERVICE *IpSb,\r
+ IN EFI_IPv6_ADDRESS *Address,\r
+ OUT IP6_INTERFACE **Interface OPTIONAL,\r
+ OUT IP6_ADDRESS_INFO **AddressInfo OPTIONAL\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Entry2;\r
- IP6_INTERFACE *IpIf;\r
- IP6_ADDRESS_INFO *TmpAddressInfo;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Entry2;\r
+ IP6_INTERFACE *IpIf;\r
+ IP6_ADDRESS_INFO *TmpAddressInfo;\r
\r
//\r
// Check link-local address first\r
IN EFI_MAC_ADDRESS *LinkAddress\r
)\r
{\r
- UINT32 Index;\r
+ UINT32 Index;\r
\r
//\r
// TODO: might be updated later to be more acceptable.\r
**/\r
VOID\r
Ip6CopyAddressByPrefix (\r
- OUT EFI_IPv6_ADDRESS *Dest,\r
- IN EFI_IPv6_ADDRESS *Src,\r
- IN UINT8 PrefixLength\r
+ OUT EFI_IPv6_ADDRESS *Dest,\r
+ IN EFI_IPv6_ADDRESS *Src,\r
+ IN UINT8 PrefixLength\r
)\r
{\r
- UINT8 Byte;\r
- UINT8 Bit;\r
- UINT8 Mask;\r
+ UINT8 Byte;\r
+ UINT8 Bit;\r
+ UINT8 Mask;\r
\r
ASSERT (Dest != NULL && Src != NULL);\r
ASSERT (PrefixLength <= IP6_PREFIX_MAX);\r
\r
- Byte = (UINT8) (PrefixLength / 8);\r
- Bit = (UINT8) (PrefixLength % 8);\r
+ Byte = (UINT8)(PrefixLength / 8);\r
+ Bit = (UINT8)(PrefixLength % 8);\r
\r
ZeroMem (Dest, sizeof (EFI_IPv6_ADDRESS));\r
\r
CopyMem (Dest, Src, Byte);\r
\r
if (Bit > 0) {\r
- Mask = (UINT8) (0xFF << (8 - Bit));\r
+ Mask = (UINT8)(0xFF << (8 - Bit));\r
ASSERT (Byte < 16);\r
- Dest->Addr[Byte] = (UINT8) (Src->Addr[Byte] & Mask);\r
+ Dest->Addr[Byte] = (UINT8)(Src->Addr[Byte] & Mask);\r
}\r
}\r
\r
**/\r
EFI_STATUS\r
Ip6GetMulticastMac (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *Mnp,\r
- IN EFI_IPv6_ADDRESS *Multicast,\r
- OUT EFI_MAC_ADDRESS *Mac\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *Mnp,\r
+ IN EFI_IPv6_ADDRESS *Multicast,\r
+ OUT EFI_MAC_ADDRESS *Mac\r
)\r
{\r
- EFI_IP_ADDRESS EfiIp;\r
+ EFI_IP_ADDRESS EfiIp;\r
\r
IP6_COPY_ADDRESS (&EfiIp.v6, Multicast);\r
\r
**/\r
EFI_IP6_HEADER *\r
Ip6NtohHead (\r
- IN OUT EFI_IP6_HEADER *Head\r
+ IN OUT EFI_IP6_HEADER *Head\r
)\r
{\r
Head->FlowLabelL = NTOHS (Head->FlowLabelL);\r
\r
return Head;\r
}\r
-\r