]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Ip4Dxe/Ip4Igmp.c
NetworkPkg: Apply uncrustify changes
[mirror_edk2.git] / NetworkPkg / Ip4Dxe / Ip4Igmp.c
index f69ba762fe4dedf03afc8c72e7fdd6a1031b390a..e66dae70afc09b55b52543f32de73e82598da704 100644 (file)
@@ -14,7 +14,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //\r
 UINT32  mRouteAlertOption = 0x00000494;\r
 \r
-\r
 /**\r
   Init the IGMP control data of the IP4 service instance, configure\r
   MNP to receive ALL SYSTEM multicast.\r
@@ -28,7 +27,7 @@ UINT32  mRouteAlertOption = 0x00000494;
 **/\r
 EFI_STATUS\r
 Ip4InitIgmp (\r
-  IN OUT IP4_SERVICE            *IpSb\r
+  IN OUT IP4_SERVICE  *IpSb\r
   )\r
 {\r
   IGMP_SERVICE_DATA             *IgmpCtrl;\r
@@ -41,13 +40,13 @@ Ip4InitIgmp (
   //\r
   // Configure MNP to receive ALL_SYSTEM multicast\r
   //\r
-  Group    = AllocatePool (sizeof (IGMP_GROUP));\r
+  Group = AllocatePool (sizeof (IGMP_GROUP));\r
 \r
   if (Group == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  Mnp               = IpSb->Mnp;\r
+  Mnp = IpSb->Mnp;\r
 \r
   Group->Address    = IP4_ALLSYSTEM_ADDRESS;\r
   Group->RefCnt     = 1;\r
@@ -74,7 +73,6 @@ ON_ERROR:
   return Status;\r
 }\r
 \r
-\r
 /**\r
   Find the IGMP_GROUP structure which contains the status of multicast\r
   group Address in this IGMP control block\r
@@ -89,12 +87,12 @@ ON_ERROR:
 **/\r
 IGMP_GROUP *\r
 Ip4FindGroup (\r
-  IN IGMP_SERVICE_DATA      *IgmpCtrl,\r
-  IN IP4_ADDR               Address\r
+  IN IGMP_SERVICE_DATA  *IgmpCtrl,\r
+  IN IP4_ADDR           Address\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  IGMP_GROUP                *Group;\r
+  LIST_ENTRY  *Entry;\r
+  IGMP_GROUP  *Group;\r
 \r
   NET_LIST_FOR_EACH (Entry, &IgmpCtrl->Groups) {\r
     Group = NET_LIST_USER_STRUCT (Entry, IGMP_GROUP, Link);\r
@@ -107,7 +105,6 @@ Ip4FindGroup (
   return NULL;\r
 }\r
 \r
-\r
 /**\r
   Count the number of IP4 multicast groups that are mapped to the\r
   same MAC address. Several IP4 multicast address may be mapped to\r
@@ -122,13 +119,13 @@ Ip4FindGroup (
 **/\r
 INTN\r
 Ip4FindMac (\r
-  IN IGMP_SERVICE_DATA      *IgmpCtrl,\r
-  IN EFI_MAC_ADDRESS        *Mac\r
+  IN IGMP_SERVICE_DATA  *IgmpCtrl,\r
+  IN EFI_MAC_ADDRESS    *Mac\r
   )\r
 {\r
-  LIST_ENTRY                *Entry;\r
-  IGMP_GROUP                *Group;\r
-  INTN                      Count;\r
+  LIST_ENTRY  *Entry;\r
+  IGMP_GROUP  *Group;\r
+  INTN        Count;\r
 \r
   Count = 0;\r
 \r
@@ -143,7 +140,6 @@ Ip4FindMac (
   return Count;\r
 }\r
 \r
-\r
 /**\r
   Send an IGMP protocol message to the Dst, such as IGMP v1 membership report.\r
 \r
@@ -161,15 +157,15 @@ Ip4FindMac (
 **/\r
 EFI_STATUS\r
 Ip4SendIgmpMessage (\r
-  IN IP4_SERVICE            *IpSb,\r
-  IN IP4_ADDR               Dst,\r
-  IN UINT8                  Type,\r
-  IN IP4_ADDR               Group\r
+  IN IP4_SERVICE  *IpSb,\r
+  IN IP4_ADDR     Dst,\r
+  IN UINT8        Type,\r
+  IN IP4_ADDR     Group\r
   )\r
 {\r
-  IP4_HEAD                  Head;\r
-  NET_BUF                   *Packet;\r
-  IGMP_HEAD                 *Igmp;\r
+  IP4_HEAD   Head;\r
+  NET_BUF    *Packet;\r
+  IGMP_HEAD  *Igmp;\r
 \r
   //\r
   // Allocate a net buffer to hold the message\r
@@ -185,7 +181,7 @@ Ip4SendIgmpMessage (
   //\r
   NetbufReserve (Packet, IP4_MAX_HEADLEN);\r
 \r
-  Igmp = (IGMP_HEAD *) NetbufAllocSpace (Packet, sizeof (IGMP_HEAD), FALSE);\r
+  Igmp = (IGMP_HEAD *)NetbufAllocSpace (Packet, sizeof (IGMP_HEAD), FALSE);\r
   if (Igmp == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
@@ -194,21 +190,21 @@ Ip4SendIgmpMessage (
   Igmp->MaxRespTime = 0;\r
   Igmp->Checksum    = 0;\r
   Igmp->Group       = HTONL (Group);\r
-  Igmp->Checksum    = (UINT16) (~NetblockChecksum ((UINT8 *) Igmp, sizeof (IGMP_HEAD)));\r
+  Igmp->Checksum    = (UINT16)(~NetblockChecksum ((UINT8 *)Igmp, sizeof (IGMP_HEAD)));\r
 \r
-  Head.Tos          = 0;\r
-  Head.Protocol     = IP4_PROTO_IGMP;\r
-  Head.Ttl          = 1;\r
-  Head.Fragment     = 0;\r
-  Head.Dst          = Dst;\r
-  Head.Src          = IP4_ALLZERO_ADDRESS;\r
+  Head.Tos      = 0;\r
+  Head.Protocol = IP4_PROTO_IGMP;\r
+  Head.Ttl      = 1;\r
+  Head.Fragment = 0;\r
+  Head.Dst      = Dst;\r
+  Head.Src      = IP4_ALLZERO_ADDRESS;\r
 \r
   return Ip4Output (\r
            IpSb,\r
            NULL,\r
            Packet,\r
            &Head,\r
-           (UINT8 *) &mRouteAlertOption,\r
+           (UINT8 *)&mRouteAlertOption,\r
            sizeof (UINT32),\r
            IP4_ALLZERO_ADDRESS,\r
            Ip4SysPacketSent,\r
@@ -216,7 +212,6 @@ Ip4SendIgmpMessage (
            );\r
 }\r
 \r
-\r
 /**\r
   Send an IGMP membership report. Depends on whether the server is\r
   v1 or v2, it will send either a V1 or V2 membership report.\r
@@ -232,8 +227,8 @@ Ip4SendIgmpMessage (
 **/\r
 EFI_STATUS\r
 Ip4SendIgmpReport (\r
-  IN IP4_SERVICE            *IpSb,\r
-  IN IP4_ADDR               Group\r
+  IN IP4_SERVICE  *IpSb,\r
+  IN IP4_ADDR     Group\r
   )\r
 {\r
   if (IpSb->IgmpCtrl.Igmpv1QuerySeen != 0) {\r
@@ -243,7 +238,6 @@ Ip4SendIgmpReport (
   }\r
 }\r
 \r
-\r
 /**\r
   Join the multicast group on behalf of this IP4 child\r
 \r
@@ -257,8 +251,8 @@ Ip4SendIgmpReport (
 **/\r
 EFI_STATUS\r
 Ip4JoinGroup (\r
-  IN IP4_PROTOCOL           *IpInstance,\r
-  IN IP4_ADDR               Address\r
+  IN IP4_PROTOCOL  *IpInstance,\r
+  IN IP4_ADDR      Address\r
   )\r
 {\r
   EFI_MANAGED_NETWORK_PROTOCOL  *Mnp;\r
@@ -267,15 +261,15 @@ Ip4JoinGroup (
   IGMP_GROUP                    *Group;\r
   EFI_STATUS                    Status;\r
 \r
-  IpSb      = IpInstance->Service;\r
-  IgmpCtrl  = &IpSb->IgmpCtrl;\r
-  Mnp       = IpSb->Mnp;\r
+  IpSb     = IpInstance->Service;\r
+  IgmpCtrl = &IpSb->IgmpCtrl;\r
+  Mnp      = IpSb->Mnp;\r
 \r
   //\r
   // If the IP service already is a member in the group, just\r
   // increase the reference count and return.\r
   //\r
-  Group     = Ip4FindGroup (IgmpCtrl, Address);\r
+  Group = Ip4FindGroup (IgmpCtrl, Address);\r
 \r
   if (Group != NULL) {\r
     Group->RefCnt++;\r
@@ -323,7 +317,6 @@ ON_ERROR:
   return Status;\r
 }\r
 \r
-\r
 /**\r
   Leave the IP4 multicast group on behalf of IpInstance.\r
 \r
@@ -338,8 +331,8 @@ ON_ERROR:
 **/\r
 EFI_STATUS\r
 Ip4LeaveGroup (\r
-  IN IP4_PROTOCOL           *IpInstance,\r
-  IN IP4_ADDR               Address\r
+  IN IP4_PROTOCOL  *IpInstance,\r
+  IN IP4_ADDR      Address\r
   )\r
 {\r
   EFI_MANAGED_NETWORK_PROTOCOL  *Mnp;\r
@@ -348,11 +341,11 @@ Ip4LeaveGroup (
   IGMP_GROUP                    *Group;\r
   EFI_STATUS                    Status;\r
 \r
-  IpSb      = IpInstance->Service;\r
-  IgmpCtrl  = &IpSb->IgmpCtrl;\r
-  Mnp       = IpSb->Mnp;\r
+  IpSb     = IpInstance->Service;\r
+  IgmpCtrl = &IpSb->IgmpCtrl;\r
+  Mnp      = IpSb->Mnp;\r
 \r
-  Group     = Ip4FindGroup (IgmpCtrl, Address);\r
+  Group = Ip4FindGroup (IgmpCtrl, Address);\r
 \r
   if (Group == NULL) {\r
     return EFI_NOT_FOUND;\r
@@ -383,7 +376,7 @@ Ip4LeaveGroup (
   // Send a leave report if the membership is reported by us\r
   // and we are talking IGMPv2.\r
   //\r
-  if (Group->ReportByUs && IgmpCtrl->Igmpv1QuerySeen == 0) {\r
+  if (Group->ReportByUs && (IgmpCtrl->Igmpv1QuerySeen == 0)) {\r
     Ip4SendIgmpMessage (IpSb, IP4_ALLROUTER_ADDRESS, IGMP_LEAVE_GROUP, Group->Address);\r
   }\r
 \r
@@ -393,7 +386,6 @@ Ip4LeaveGroup (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Handle the received IGMP message for the IP4 service instance.\r
 \r
@@ -407,16 +399,16 @@ Ip4LeaveGroup (
 **/\r
 EFI_STATUS\r
 Ip4IgmpHandle (\r
-  IN IP4_SERVICE            *IpSb,\r
-  IN IP4_HEAD               *Head,\r
-  IN NET_BUF                *Packet\r
+  IN IP4_SERVICE  *IpSb,\r
+  IN IP4_HEAD     *Head,\r
+  IN NET_BUF      *Packet\r
   )\r
 {\r
-  IGMP_SERVICE_DATA         *IgmpCtrl;\r
-  IGMP_HEAD                 Igmp;\r
-  IGMP_GROUP                *Group;\r
-  IP4_ADDR                  Address;\r
-  LIST_ENTRY                *Entry;\r
+  IGMP_SERVICE_DATA  *IgmpCtrl;\r
+  IGMP_HEAD          Igmp;\r
+  IGMP_GROUP         *Group;\r
+  IP4_ADDR           Address;\r
+  LIST_ENTRY         *Entry;\r
 \r
   IgmpCtrl = &IpSb->IgmpCtrl;\r
 \r
@@ -436,65 +428,64 @@ Ip4IgmpHandle (
   NetbufCopy (Packet, 0, sizeof (IGMP_HEAD), (UINT8 *)&Igmp);\r
 \r
   switch (Igmp.Type) {\r
-  case IGMP_MEMBERSHIP_QUERY:\r
-    //\r
-    // If MaxRespTime is zero, it is most likely that we are\r
-    // talking to a V1 router\r
-    //\r
-    if (Igmp.MaxRespTime == 0) {\r
-      IgmpCtrl->Igmpv1QuerySeen = IGMP_V1ROUTER_PRESENT;\r
-      Igmp.MaxRespTime          = 100;\r
-    }\r
+    case IGMP_MEMBERSHIP_QUERY:\r
+      //\r
+      // If MaxRespTime is zero, it is most likely that we are\r
+      // talking to a V1 router\r
+      //\r
+      if (Igmp.MaxRespTime == 0) {\r
+        IgmpCtrl->Igmpv1QuerySeen = IGMP_V1ROUTER_PRESENT;\r
+        Igmp.MaxRespTime          = 100;\r
+      }\r
 \r
-    //\r
-    // Igmp is ticking once per second but MaxRespTime is in\r
-    // the unit of 100ms.\r
-    //\r
-    Igmp.MaxRespTime /= 10;\r
-    Address = NTOHL (Igmp.Group);\r
+      //\r
+      // Igmp is ticking once per second but MaxRespTime is in\r
+      // the unit of 100ms.\r
+      //\r
+      Igmp.MaxRespTime /= 10;\r
+      Address           = NTOHL (Igmp.Group);\r
 \r
-    if (Address == IP4_ALLSYSTEM_ADDRESS) {\r
-      break;\r
-    }\r
+      if (Address == IP4_ALLSYSTEM_ADDRESS) {\r
+        break;\r
+      }\r
 \r
-    NET_LIST_FOR_EACH (Entry, &IgmpCtrl->Groups) {\r
-      Group = NET_LIST_USER_STRUCT (Entry, IGMP_GROUP, Link);\r
+      NET_LIST_FOR_EACH (Entry, &IgmpCtrl->Groups) {\r
+        Group = NET_LIST_USER_STRUCT (Entry, IGMP_GROUP, Link);\r
 \r
-      //\r
-      // If address is all zero, all the memberships will be reported.\r
-      // otherwise only one is reported.\r
-      //\r
-      if ((Address == IP4_ALLZERO_ADDRESS) || (Address == Group->Address)) {\r
         //\r
-        // If the timer is pending, only update it if the time left\r
-        // is longer than the MaxRespTime. TODO: randomize the DelayTime.\r
+        // If address is all zero, all the memberships will be reported.\r
+        // otherwise only one is reported.\r
         //\r
-        if ((Group->DelayTime == 0) || (Group->DelayTime > Igmp.MaxRespTime)) {\r
-          Group->DelayTime = MAX (1, Igmp.MaxRespTime);\r
+        if ((Address == IP4_ALLZERO_ADDRESS) || (Address == Group->Address)) {\r
+          //\r
+          // If the timer is pending, only update it if the time left\r
+          // is longer than the MaxRespTime. TODO: randomize the DelayTime.\r
+          //\r
+          if ((Group->DelayTime == 0) || (Group->DelayTime > Igmp.MaxRespTime)) {\r
+            Group->DelayTime = MAX (1, Igmp.MaxRespTime);\r
+          }\r
         }\r
       }\r
-    }\r
 \r
-    break;\r
+      break;\r
 \r
-  case IGMP_V1_MEMBERSHIP_REPORT:\r
-  case IGMP_V2_MEMBERSHIP_REPORT:\r
-    Address = NTOHL (Igmp.Group);\r
-    Group   = Ip4FindGroup (IgmpCtrl, Address);\r
+    case IGMP_V1_MEMBERSHIP_REPORT:\r
+    case IGMP_V2_MEMBERSHIP_REPORT:\r
+      Address = NTOHL (Igmp.Group);\r
+      Group   = Ip4FindGroup (IgmpCtrl, Address);\r
 \r
-    if ((Group != NULL) && (Group->DelayTime > 0)) {\r
-      Group->DelayTime  = 0;\r
-      Group->ReportByUs = FALSE;\r
-    }\r
+      if ((Group != NULL) && (Group->DelayTime > 0)) {\r
+        Group->DelayTime  = 0;\r
+        Group->ReportByUs = FALSE;\r
+      }\r
 \r
-    break;\r
+      break;\r
   }\r
 \r
   NetbufFree (Packet);\r
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   The periodical timer function for IGMP. It does the following\r
   things:\r
@@ -508,12 +499,12 @@ Ip4IgmpHandle (
 **/\r
 VOID\r
 Ip4IgmpTicking (\r
-  IN IP4_SERVICE            *IpSb\r
+  IN IP4_SERVICE  *IpSb\r
   )\r
 {\r
-  IGMP_SERVICE_DATA         *IgmpCtrl;\r
-  LIST_ENTRY                *Entry;\r
-  IGMP_GROUP                *Group;\r
+  IGMP_SERVICE_DATA  *IgmpCtrl;\r
+  LIST_ENTRY         *Entry;\r
+  IGMP_GROUP         *Group;\r
 \r
   IgmpCtrl = &IpSb->IgmpCtrl;\r
 \r
@@ -539,7 +530,6 @@ Ip4IgmpTicking (
   }\r
 }\r
 \r
-\r
 /**\r
   Add a group address to the array of group addresses.\r
   The caller should make sure that no duplicated address\r
@@ -557,12 +547,12 @@ Ip4IgmpTicking (
 **/\r
 IP4_ADDR *\r
 Ip4CombineGroups (\r
-  IN  IP4_ADDR              *Source,\r
-  IN  UINT32                Count,\r
-  IN  IP4_ADDR              Addr\r
+  IN  IP4_ADDR  *Source,\r
+  IN  UINT32    Count,\r
+  IN  IP4_ADDR  Addr\r
   )\r
 {\r
-  IP4_ADDR                  *Groups;\r
+  IP4_ADDR  *Groups;\r
 \r
   Groups = AllocatePool (sizeof (IP4_ADDR) * (Count + 1));\r
 \r
@@ -576,7 +566,6 @@ Ip4CombineGroups (
   return Groups;\r
 }\r
 \r
-\r
 /**\r
   Remove a group address from the array of group addresses.\r
   Although the function doesn't assume the byte order of the\r
@@ -593,12 +582,12 @@ Ip4CombineGroups (
 **/\r
 INTN\r
 Ip4RemoveGroupAddr (\r
-  IN OUT IP4_ADDR               *Groups,\r
-  IN     UINT32                 Count,\r
-  IN     IP4_ADDR               Addr\r
+  IN OUT IP4_ADDR  *Groups,\r
+  IN     UINT32    Count,\r
+  IN     IP4_ADDR  Addr\r
   )\r
 {\r
-  UINT32                    Index;\r
+  UINT32  Index;\r
 \r
   for (Index = 0; Index < Count; Index++) {\r
     if (Groups[Index] == Addr) {\r