**/\r
IP6_MLD_GROUP *\r
Ip6CreateMldEntry (\r
- IN OUT IP6_SERVICE *IpSb,\r
- IN EFI_IPv6_ADDRESS *MulticastAddr,\r
- IN UINT32 DelayTimer\r
+ IN OUT IP6_SERVICE *IpSb,\r
+ IN EFI_IPv6_ADDRESS *MulticastAddr,\r
+ IN UINT32 DelayTimer\r
)\r
{\r
- IP6_MLD_GROUP *Entry;\r
+ IP6_MLD_GROUP *Entry;\r
\r
NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
ASSERT (MulticastAddr != NULL && IP6_IS_MULTICAST (MulticastAddr));\r
**/\r
IP6_MLD_GROUP *\r
Ip6FindMldEntry (\r
- IN IP6_SERVICE *IpSb,\r
- IN EFI_IPv6_ADDRESS *MulticastAddr\r
+ IN IP6_SERVICE *IpSb,\r
+ IN EFI_IPv6_ADDRESS *MulticastAddr\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- IP6_MLD_GROUP *Group;\r
+ LIST_ENTRY *Entry;\r
+ IP6_MLD_GROUP *Group;\r
\r
NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
ASSERT (MulticastAddr != NULL && IP6_IS_MULTICAST (MulticastAddr));\r
**/\r
INTN\r
Ip6FindMac (\r
- IN IP6_MLD_SERVICE_DATA *MldCtrl,\r
- IN EFI_MAC_ADDRESS *Mac\r
+ IN IP6_MLD_SERVICE_DATA *MldCtrl,\r
+ IN EFI_MAC_ADDRESS *Mac\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- IP6_MLD_GROUP *Group;\r
- INTN Count;\r
+ LIST_ENTRY *Entry;\r
+ IP6_MLD_GROUP *Group;\r
+ INTN Count;\r
\r
Count = 0;\r
\r
**/\r
EFI_STATUS\r
Ip6SendMldReport (\r
- IN IP6_SERVICE *IpSb,\r
- IN IP6_INTERFACE *Interface OPTIONAL,\r
- IN EFI_IPv6_ADDRESS *MulticastAddr\r
+ IN IP6_SERVICE *IpSb,\r
+ IN IP6_INTERFACE *Interface OPTIONAL,\r
+ IN EFI_IPv6_ADDRESS *MulticastAddr\r
)\r
{\r
- IP6_MLD_HEAD *MldHead;\r
- NET_BUF *Packet;\r
- EFI_IP6_HEADER Head;\r
- UINT16 PayloadLen;\r
- UINTN OptionLen;\r
- UINT8 *Options;\r
- EFI_STATUS Status;\r
- UINT16 HeadChecksum;\r
- UINT16 PseudoChecksum;\r
+ IP6_MLD_HEAD *MldHead;\r
+ NET_BUF *Packet;\r
+ EFI_IP6_HEADER Head;\r
+ UINT16 PayloadLen;\r
+ UINTN OptionLen;\r
+ UINT8 *Options;\r
+ EFI_STATUS Status;\r
+ UINT16 HeadChecksum;\r
+ UINT16 PseudoChecksum;\r
\r
NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
ASSERT (MulticastAddr != NULL && IP6_IS_MULTICAST (MulticastAddr));\r
//\r
\r
OptionLen = 0;\r
- Status = Ip6FillHopByHop (NULL, &OptionLen, IP6_ICMP);\r
+ Status = Ip6FillHopByHop (NULL, &OptionLen, IP6_ICMP);\r
ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
\r
- PayloadLen = (UINT16) (OptionLen + sizeof (IP6_MLD_HEAD));\r
- Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32) PayloadLen);\r
+ PayloadLen = (UINT16)(OptionLen + sizeof (IP6_MLD_HEAD));\r
+ Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32)PayloadLen);\r
if (Packet == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
// RFC3590: Use link-local address as source address if it is available,\r
// otherwise use the unspecified address.\r
//\r
- Head.FlowLabelL = 0;\r
- Head.FlowLabelH = 0;\r
- Head.PayloadLength = HTONS (PayloadLen);\r
- Head.NextHeader = IP6_HOP_BY_HOP;\r
- Head.HopLimit = 1;\r
+ Head.FlowLabelL = 0;\r
+ Head.FlowLabelH = 0;\r
+ Head.PayloadLength = HTONS (PayloadLen);\r
+ Head.NextHeader = IP6_HOP_BY_HOP;\r
+ Head.HopLimit = 1;\r
IP6_COPY_ADDRESS (&Head.DestinationAddress, MulticastAddr);\r
\r
//\r
//\r
// Fill a IPv6 Router Alert option in a Hop-by-Hop Options Header\r
//\r
- Options = NetbufAllocSpace (Packet, (UINT32) OptionLen, FALSE);\r
+ Options = NetbufAllocSpace (Packet, (UINT32)OptionLen, FALSE);\r
ASSERT (Options != NULL);\r
Status = Ip6FillHopByHop (Options, &OptionLen, IP6_ICMP);\r
if (EFI_ERROR (Status)) {\r
//\r
// Fill in MLD message - Report\r
//\r
- MldHead = (IP6_MLD_HEAD *) NetbufAllocSpace (Packet, sizeof (IP6_MLD_HEAD), FALSE);\r
+ MldHead = (IP6_MLD_HEAD *)NetbufAllocSpace (Packet, sizeof (IP6_MLD_HEAD), FALSE);\r
ASSERT (MldHead != NULL);\r
ZeroMem (MldHead, sizeof (IP6_MLD_HEAD));\r
MldHead->Head.Type = ICMP_V6_LISTENER_REPORT;\r
MldHead->Head.Code = 0;\r
IP6_COPY_ADDRESS (&MldHead->Group, MulticastAddr);\r
\r
- HeadChecksum = NetblockChecksum ((UINT8 *) MldHead, sizeof (IP6_MLD_HEAD));\r
+ HeadChecksum = NetblockChecksum ((UINT8 *)MldHead, sizeof (IP6_MLD_HEAD));\r
PseudoChecksum = NetIp6PseudoHeadChecksum (\r
&Head.SourceAddress,\r
&Head.DestinationAddress,\r
**/\r
EFI_STATUS\r
Ip6SendMldDone (\r
- IN IP6_SERVICE *IpSb,\r
- IN EFI_IPv6_ADDRESS *MulticastAddr\r
+ IN IP6_SERVICE *IpSb,\r
+ IN EFI_IPv6_ADDRESS *MulticastAddr\r
)\r
{\r
- IP6_MLD_HEAD *MldHead;\r
- NET_BUF *Packet;\r
- EFI_IP6_HEADER Head;\r
- UINT16 PayloadLen;\r
- UINTN OptionLen;\r
- UINT8 *Options;\r
- EFI_STATUS Status;\r
- EFI_IPv6_ADDRESS Destination;\r
- UINT16 HeadChecksum;\r
- UINT16 PseudoChecksum;\r
+ IP6_MLD_HEAD *MldHead;\r
+ NET_BUF *Packet;\r
+ EFI_IP6_HEADER Head;\r
+ UINT16 PayloadLen;\r
+ UINTN OptionLen;\r
+ UINT8 *Options;\r
+ EFI_STATUS Status;\r
+ EFI_IPv6_ADDRESS Destination;\r
+ UINT16 HeadChecksum;\r
+ UINT16 PseudoChecksum;\r
\r
NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);\r
ASSERT (MulticastAddr != NULL && IP6_IS_MULTICAST (MulticastAddr));\r
//\r
\r
OptionLen = 0;\r
- Status = Ip6FillHopByHop (NULL, &OptionLen, IP6_ICMP);\r
+ Status = Ip6FillHopByHop (NULL, &OptionLen, IP6_ICMP);\r
ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
\r
- PayloadLen = (UINT16) (OptionLen + sizeof (IP6_MLD_HEAD));\r
- Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32) PayloadLen);\r
+ PayloadLen = (UINT16)(OptionLen + sizeof (IP6_MLD_HEAD));\r
+ Packet = NetbufAlloc (sizeof (EFI_IP6_HEADER) + (UINT32)PayloadLen);\r
if (Packet == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
//\r
// Create the basic IPv6 header.\r
//\r
- Head.FlowLabelL = 0;\r
- Head.FlowLabelH = 0;\r
- Head.PayloadLength = HTONS (PayloadLen);\r
- Head.NextHeader = IP6_HOP_BY_HOP;\r
- Head.HopLimit = 1;\r
+ Head.FlowLabelL = 0;\r
+ Head.FlowLabelH = 0;\r
+ Head.PayloadLength = HTONS (PayloadLen);\r
+ Head.NextHeader = IP6_HOP_BY_HOP;\r
+ Head.HopLimit = 1;\r
\r
//\r
// If Link-Local address is not ready, we use unspecified address.\r
//\r
// Fill a IPv6 Router Alert option in a Hop-by-Hop Options Header\r
//\r
- Options = NetbufAllocSpace (Packet, (UINT32) OptionLen, FALSE);\r
+ Options = NetbufAllocSpace (Packet, (UINT32)OptionLen, FALSE);\r
ASSERT (Options != NULL);\r
Status = Ip6FillHopByHop (Options, &OptionLen, IP6_ICMP);\r
if (EFI_ERROR (Status)) {\r
//\r
// Fill in MLD message - Done\r
//\r
- MldHead = (IP6_MLD_HEAD *) NetbufAllocSpace (Packet, sizeof (IP6_MLD_HEAD), FALSE);\r
+ MldHead = (IP6_MLD_HEAD *)NetbufAllocSpace (Packet, sizeof (IP6_MLD_HEAD), FALSE);\r
ASSERT (MldHead != NULL);\r
ZeroMem (MldHead, sizeof (IP6_MLD_HEAD));\r
MldHead->Head.Type = ICMP_V6_LISTENER_DONE;\r
MldHead->Head.Code = 0;\r
IP6_COPY_ADDRESS (&MldHead->Group, MulticastAddr);\r
\r
- HeadChecksum = NetblockChecksum ((UINT8 *) MldHead, sizeof (IP6_MLD_HEAD));\r
+ HeadChecksum = NetblockChecksum ((UINT8 *)MldHead, sizeof (IP6_MLD_HEAD));\r
PseudoChecksum = NetIp6PseudoHeadChecksum (\r
&Head.SourceAddress,\r
&Head.DestinationAddress,\r
**/\r
EFI_STATUS\r
Ip6InitMld (\r
- IN IP6_SERVICE *IpSb\r
+ IN IP6_SERVICE *IpSb\r
)\r
{\r
- EFI_IPv6_ADDRESS AllNodes;\r
- IP6_MLD_GROUP *Group;\r
- EFI_STATUS Status;\r
+ EFI_IPv6_ADDRESS AllNodes;\r
+ IP6_MLD_GROUP *Group;\r
+ EFI_STATUS Status;\r
\r
//\r
// Join the link-scope all-nodes multicast address (FF02::1).\r
\r
Ip6SetToAllNodeMulticast (FALSE, IP6_LINK_LOCAL_SCOPE, &AllNodes);\r
\r
- Group = Ip6CreateMldEntry (IpSb, &AllNodes, (UINT32) IP6_INFINIT_LIFETIME);\r
+ Group = Ip6CreateMldEntry (IpSb, &AllNodes, (UINT32)IP6_INFINIT_LIFETIME);\r
if (Group == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
**/\r
EFI_STATUS\r
Ip6CombineGroups (\r
- IN OUT IP6_PROTOCOL *IpInstance,\r
- IN EFI_IPv6_ADDRESS *Group\r
+ IN OUT IP6_PROTOCOL *IpInstance,\r
+ IN EFI_IPv6_ADDRESS *Group\r
)\r
{\r
- EFI_IPv6_ADDRESS *GroupList;\r
+ EFI_IPv6_ADDRESS *GroupList;\r
\r
NET_CHECK_SIGNATURE (IpInstance, IP6_PROTOCOL_SIGNATURE);\r
ASSERT (Group != NULL && IP6_IS_MULTICAST (Group));\r
**/\r
EFI_STATUS\r
Ip6RemoveGroup (\r
- IN OUT IP6_PROTOCOL *IpInstance,\r
- IN EFI_IPv6_ADDRESS *Group\r
+ IN OUT IP6_PROTOCOL *IpInstance,\r
+ IN EFI_IPv6_ADDRESS *Group\r
)\r
{\r
- UINT32 Index;\r
- UINT32 Count;\r
+ UINT32 Index;\r
+ UINT32 Count;\r
\r
Count = IpInstance->GroupCount;\r
\r
**/\r
EFI_STATUS\r
Ip6JoinGroup (\r
- IN IP6_SERVICE *IpSb,\r
- IN IP6_INTERFACE *Interface,\r
- IN EFI_IPv6_ADDRESS *Address\r
+ IN IP6_SERVICE *IpSb,\r
+ IN IP6_INTERFACE *Interface,\r
+ IN EFI_IPv6_ADDRESS *Address\r
)\r
{\r
- IP6_MLD_GROUP *Group;\r
- EFI_STATUS Status;\r
+ IP6_MLD_GROUP *Group;\r
+ EFI_STATUS Status;\r
\r
Group = Ip6FindMldEntry (IpSb, Address);\r
if (Group != NULL) {\r
**/\r
EFI_STATUS\r
Ip6LeaveGroup (\r
- IN IP6_SERVICE *IpSb,\r
- IN EFI_IPv6_ADDRESS *Address\r
+ IN IP6_SERVICE *IpSb,\r
+ IN EFI_IPv6_ADDRESS *Address\r
)\r
{\r
- IP6_MLD_GROUP *Group;\r
- EFI_STATUS Status;\r
+ IP6_MLD_GROUP *Group;\r
+ EFI_STATUS Status;\r
\r
Group = Ip6FindMldEntry (IpSb, Address);\r
if (Group == NULL) {\r
**/\r
EFI_STATUS\r
Ip6Groups (\r
- IN IP6_PROTOCOL *IpInstance,\r
- IN BOOLEAN JoinFlag,\r
- IN EFI_IPv6_ADDRESS *GroupAddress OPTIONAL\r
+ IN IP6_PROTOCOL *IpInstance,\r
+ IN BOOLEAN JoinFlag,\r
+ IN EFI_IPv6_ADDRESS *GroupAddress OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- IP6_SERVICE *IpSb;\r
- UINT32 Index;\r
- EFI_IPv6_ADDRESS *Group;\r
+ EFI_STATUS Status;\r
+ IP6_SERVICE *IpSb;\r
+ UINT32 Index;\r
+ EFI_IPv6_ADDRESS *Group;\r
\r
IpSb = IpInstance->Service;\r
\r
**/\r
EFI_STATUS\r
Ip6UpdateDelayTimer (\r
- IN IP6_SERVICE *IpSb,\r
- IN UINT16 MaxRespDelay,\r
- IN EFI_IPv6_ADDRESS *MulticastAddr,\r
- IN OUT IP6_MLD_GROUP *Group\r
+ IN IP6_SERVICE *IpSb,\r
+ IN UINT16 MaxRespDelay,\r
+ IN EFI_IPv6_ADDRESS *MulticastAddr,\r
+ IN OUT IP6_MLD_GROUP *Group\r
)\r
{\r
- UINT32 Delay;\r
+ UINT32 Delay;\r
\r
//\r
// If the Query packet specifies a Maximum Response Delay of zero, perform timer\r
return Ip6SendMldReport (IpSb, NULL, MulticastAddr);\r
}\r
\r
- Delay = (UINT32) (MaxRespDelay / 1000);\r
+ Delay = (UINT32)(MaxRespDelay / 1000);\r
\r
//\r
// Sets a delay timer to a random value selected from the range [0, Maximum Response Delay]\r
// If a timer is already running, resets it if the request Maximum Response Delay\r
// is less than the remaining value of the running timer.\r
//\r
- if (Group->DelayTimer == 0 || Delay < Group->DelayTimer) {\r
+ if ((Group->DelayTimer == 0) || (Delay < Group->DelayTimer)) {\r
Group->DelayTimer = Delay / 4294967295UL * NET_RANDOM (NetRandomInitSeed ());\r
}\r
\r
**/\r
EFI_STATUS\r
Ip6ProcessMldQuery (\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
- EFI_IPv6_ADDRESS AllNodes;\r
- IP6_MLD_GROUP *Group;\r
- IP6_MLD_HEAD MldPacket;\r
- LIST_ENTRY *Entry;\r
- EFI_STATUS Status;\r
+ EFI_IPv6_ADDRESS AllNodes;\r
+ IP6_MLD_GROUP *Group;\r
+ IP6_MLD_HEAD MldPacket;\r
+ LIST_ENTRY *Entry;\r
+ EFI_STATUS Status;\r
\r
Status = EFI_INVALID_PARAMETER;\r
\r
goto Exit;\r
}\r
\r
- if (Head->HopLimit != 1 || !IP6_IS_MULTICAST (&Head->DestinationAddress)) {\r
+ if ((Head->HopLimit != 1) || !IP6_IS_MULTICAST (&Head->DestinationAddress)) {\r
goto Exit;\r
}\r
\r
//\r
// The Packet points to MLD report raw data without Hop-By-Hop option.\r
//\r
- NetbufCopy (Packet, 0, sizeof (IP6_MLD_HEAD), (UINT8 *) &MldPacket);\r
+ NetbufCopy (Packet, 0, sizeof (IP6_MLD_HEAD), (UINT8 *)&MldPacket);\r
MldPacket.MaxRespDelay = NTOHS (MldPacket.MaxRespDelay);\r
\r
Ip6SetToAllNodeMulticast (FALSE, IP6_LINK_LOCAL_SCOPE, &AllNodes);\r
if (!EFI_IP6_EQUAL (&Head->DestinationAddress, &MldPacket.Group)) {\r
goto Exit;\r
}\r
+\r
//\r
// The node is not listening but it receives the specific query. Just return.\r
//\r
**/\r
EFI_STATUS\r
Ip6ProcessMldReport (\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_MLD_HEAD MldPacket;\r
- IP6_MLD_GROUP *Group;\r
- EFI_STATUS Status;\r
+ IP6_MLD_HEAD MldPacket;\r
+ IP6_MLD_GROUP *Group;\r
+ EFI_STATUS Status;\r
\r
Status = EFI_INVALID_PARAMETER;\r
\r
goto Exit;\r
}\r
\r
- if (Head->HopLimit != 1 || !IP6_IS_MULTICAST (&Head->DestinationAddress)) {\r
+ if ((Head->HopLimit != 1) || !IP6_IS_MULTICAST (&Head->DestinationAddress)) {\r
goto Exit;\r
}\r
\r
//\r
// The Packet points to MLD report raw data without Hop-By-Hop option.\r
//\r
- NetbufCopy (Packet, 0, sizeof (IP6_MLD_HEAD), (UINT8 *) &MldPacket);\r
+ NetbufCopy (Packet, 0, sizeof (IP6_MLD_HEAD), (UINT8 *)&MldPacket);\r
if (!EFI_IP6_EQUAL (&Head->DestinationAddress, &MldPacket.Group)) {\r
goto Exit;\r
}\r
**/\r
VOID\r
Ip6MldTimerTicking (\r
- IN IP6_SERVICE *IpSb\r
+ IN IP6_SERVICE *IpSb\r
)\r
{\r
- IP6_MLD_GROUP *Group;\r
- LIST_ENTRY *Entry;\r
+ IP6_MLD_GROUP *Group;\r
+ LIST_ENTRY *Entry;\r
\r
//\r
// Send solicited report when timer expires\r
}\r
}\r
}\r
-\r