]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospfd/ospf_network.c
*: reindent
[mirror_frr.git] / ospfd / ospf_network.c
index 0f5785966fd675a7f905e279907032d5b11516c6..c72c69856c4f4a0ab0a7ac1dc62690a16c5d18a0 100644 (file)
@@ -42,185 +42,193 @@ extern struct zebra_privs_t ospfd_privs;
 #include "ospfd/ospf_packet.h"
 
 
-
 /* Join to the OSPF ALL SPF ROUTERS multicast group. */
-int
-ospf_if_add_allspfrouters (struct ospf *top, struct prefix *p,
-                          ifindex_t ifindex)
+int ospf_if_add_allspfrouters(struct ospf *top, struct prefix *p,
+                             ifindex_t ifindex)
 {
-  int ret;
-  
-  ret = setsockopt_ipv4_multicast (top->fd, IP_ADD_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLSPFROUTERS),
-                                   ifindex);
-  if (ret < 0)
-    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
-              "ifindex %u, AllSPFRouters): %s; perhaps a kernel limit "
-              "on # of multicast group memberships has been exceeded?",
-               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
-  else
-    zlog_debug ("interface %s [%u] join AllSPFRouters Multicast group.",
-              inet_ntoa (p->u.prefix4), ifindex);
-
-  return ret;
+       int ret;
+
+       ret = setsockopt_ipv4_multicast(top->fd, IP_ADD_MEMBERSHIP,
+                                       p->u.prefix4, htonl(OSPF_ALLSPFROUTERS),
+                                       ifindex);
+       if (ret < 0)
+               zlog_warn(
+                       "can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
+                       "ifindex %u, AllSPFRouters): %s; perhaps a kernel limit "
+                       "on # of multicast group memberships has been exceeded?",
+                       top->fd, inet_ntoa(p->u.prefix4), ifindex,
+                       safe_strerror(errno));
+       else
+               zlog_debug(
+                       "interface %s [%u] join AllSPFRouters Multicast group.",
+                       inet_ntoa(p->u.prefix4), ifindex);
+
+       return ret;
 }
 
-int
-ospf_if_drop_allspfrouters (struct ospf *top, struct prefix *p,
-                           ifindex_t ifindex)
+int ospf_if_drop_allspfrouters(struct ospf *top, struct prefix *p,
+                              ifindex_t ifindex)
 {
-  int ret;
-
-  ret = setsockopt_ipv4_multicast (top->fd, IP_DROP_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLSPFROUTERS),
-                                   ifindex);
-  if (ret < 0)
-    zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
-              "ifindex %u, AllSPFRouters): %s",
-               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
-  else
-    zlog_debug ("interface %s [%u] leave AllSPFRouters Multicast group.",
-               inet_ntoa (p->u.prefix4), ifindex);
-
-  return ret;
+       int ret;
+
+       ret = setsockopt_ipv4_multicast(top->fd, IP_DROP_MEMBERSHIP,
+                                       p->u.prefix4, htonl(OSPF_ALLSPFROUTERS),
+                                       ifindex);
+       if (ret < 0)
+               zlog_warn(
+                       "can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
+                       "ifindex %u, AllSPFRouters): %s",
+                       top->fd, inet_ntoa(p->u.prefix4), ifindex,
+                       safe_strerror(errno));
+       else
+               zlog_debug(
+                       "interface %s [%u] leave AllSPFRouters Multicast group.",
+                       inet_ntoa(p->u.prefix4), ifindex);
+
+       return ret;
 }
 
 /* Join to the OSPF ALL Designated ROUTERS multicast group. */
-int
-ospf_if_add_alldrouters (struct ospf *top, struct prefix *p, ifindex_t ifindex)
+int ospf_if_add_alldrouters(struct ospf *top, struct prefix *p,
+                           ifindex_t ifindex)
 {
-  int ret;
-
-  ret = setsockopt_ipv4_multicast (top->fd, IP_ADD_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLDROUTERS),
-                                   ifindex);
-  if (ret < 0)
-    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
-              "ifindex %u, AllDRouters): %s; perhaps a kernel limit "
-              "on # of multicast group memberships has been exceeded?",
-               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
-  else
-    zlog_debug ("interface %s [%u] join AllDRouters Multicast group.",
-               inet_ntoa (p->u.prefix4), ifindex);
-
-  return ret;
+       int ret;
+
+       ret = setsockopt_ipv4_multicast(top->fd, IP_ADD_MEMBERSHIP,
+                                       p->u.prefix4, htonl(OSPF_ALLDROUTERS),
+                                       ifindex);
+       if (ret < 0)
+               zlog_warn(
+                       "can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
+                       "ifindex %u, AllDRouters): %s; perhaps a kernel limit "
+                       "on # of multicast group memberships has been exceeded?",
+                       top->fd, inet_ntoa(p->u.prefix4), ifindex,
+                       safe_strerror(errno));
+       else
+               zlog_debug(
+                       "interface %s [%u] join AllDRouters Multicast group.",
+                       inet_ntoa(p->u.prefix4), ifindex);
+
+       return ret;
 }
 
-int
-ospf_if_drop_alldrouters (struct ospf *top, struct prefix *p, ifindex_t ifindex)
+int ospf_if_drop_alldrouters(struct ospf *top, struct prefix *p,
+                            ifindex_t ifindex)
 {
-  int ret;
-
-  ret = setsockopt_ipv4_multicast (top->fd, IP_DROP_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLDROUTERS),
-                                   ifindex);
-  if (ret < 0)
-    zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
-              "ifindex %u, AllDRouters): %s",
-               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
-  else
-    zlog_debug ("interface %s [%u] leave AllDRouters Multicast group.",
-               inet_ntoa (p->u.prefix4), ifindex);
-
-  return ret;
+       int ret;
+
+       ret = setsockopt_ipv4_multicast(top->fd, IP_DROP_MEMBERSHIP,
+                                       p->u.prefix4, htonl(OSPF_ALLDROUTERS),
+                                       ifindex);
+       if (ret < 0)
+               zlog_warn(
+                       "can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
+                       "ifindex %u, AllDRouters): %s",
+                       top->fd, inet_ntoa(p->u.prefix4), ifindex,
+                       safe_strerror(errno));
+       else
+               zlog_debug(
+                       "interface %s [%u] leave AllDRouters Multicast group.",
+                       inet_ntoa(p->u.prefix4), ifindex);
+
+       return ret;
 }
 
-int
-ospf_if_ipmulticast (struct ospf *top, struct prefix *p, ifindex_t ifindex)
+int ospf_if_ipmulticast(struct ospf *top, struct prefix *p, ifindex_t ifindex)
 {
-  u_char val;
-  int ret, len;
-
-  /* Prevent receiving self-origined multicast packets. */
-  ret = setsockopt_ipv4_multicast_loop (top->fd, 0);
-  if (ret < 0)
-    zlog_warn ("can't setsockopt IP_MULTICAST_LOOP(0) for fd %d: %s",
-              top->fd, safe_strerror(errno));
-  
-  /* Explicitly set multicast ttl to 1 -- endo. */
-  val = 1;
-  len = sizeof (val);
-  ret = setsockopt (top->fd, IPPROTO_IP, IP_MULTICAST_TTL, (void *)&val, len);
-  if (ret < 0)
-    zlog_warn ("can't setsockopt IP_MULTICAST_TTL(1) for fd %d: %s",
-              top->fd, safe_strerror (errno));
-
-  ret = setsockopt_ipv4_multicast_if (top->fd, p->u.prefix4, ifindex);
-  if (ret < 0)
-    zlog_warn("can't setsockopt IP_MULTICAST_IF(fd %d, addr %s, "
-             "ifindex %u): %s",
-             top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
-
-  return ret;
+       u_char val;
+       int ret, len;
+
+       /* Prevent receiving self-origined multicast packets. */
+       ret = setsockopt_ipv4_multicast_loop(top->fd, 0);
+       if (ret < 0)
+               zlog_warn("can't setsockopt IP_MULTICAST_LOOP(0) for fd %d: %s",
+                         top->fd, safe_strerror(errno));
+
+       /* Explicitly set multicast ttl to 1 -- endo. */
+       val = 1;
+       len = sizeof(val);
+       ret = setsockopt(top->fd, IPPROTO_IP, IP_MULTICAST_TTL, (void *)&val,
+                        len);
+       if (ret < 0)
+               zlog_warn("can't setsockopt IP_MULTICAST_TTL(1) for fd %d: %s",
+                         top->fd, safe_strerror(errno));
+
+       ret = setsockopt_ipv4_multicast_if(top->fd, p->u.prefix4, ifindex);
+       if (ret < 0)
+               zlog_warn(
+                       "can't setsockopt IP_MULTICAST_IF(fd %d, addr %s, "
+                       "ifindex %u): %s",
+                       top->fd, inet_ntoa(p->u.prefix4), ifindex,
+                       safe_strerror(errno));
+
+       return ret;
 }
 
-int
-ospf_sock_init (void)
+int ospf_sock_init(void)
 {
-  int ospf_sock;
-  int ret, hincl = 1;
-  int bufsize = (8 * 1024 * 1024);
-
-  if ( ospfd_privs.change (ZPRIVS_RAISE) )
-    zlog_err ("ospf_sock_init: could not raise privs, %s",
-               safe_strerror (errno) );
-    
-  ospf_sock = socket (AF_INET, SOCK_RAW, IPPROTO_OSPFIGP);
-  if (ospf_sock < 0)
-    {
-      int save_errno = errno;
-      if ( ospfd_privs.change (ZPRIVS_LOWER) )
-        zlog_err ("ospf_sock_init: could not lower privs, %s",
-                   safe_strerror (errno) );
-      zlog_err ("ospf_read_sock_init: socket: %s", safe_strerror (save_errno));
-      exit(1);
-    }
-    
+       int ospf_sock;
+       int ret, hincl = 1;
+       int bufsize = (8 * 1024 * 1024);
+
+       if (ospfd_privs.change(ZPRIVS_RAISE))
+               zlog_err("ospf_sock_init: could not raise privs, %s",
+                        safe_strerror(errno));
+
+       ospf_sock = socket(AF_INET, SOCK_RAW, IPPROTO_OSPFIGP);
+       if (ospf_sock < 0) {
+               int save_errno = errno;
+               if (ospfd_privs.change(ZPRIVS_LOWER))
+                       zlog_err("ospf_sock_init: could not lower privs, %s",
+                                safe_strerror(errno));
+               zlog_err("ospf_read_sock_init: socket: %s",
+                        safe_strerror(save_errno));
+               exit(1);
+       }
+
 #ifdef IP_HDRINCL
-  /* we will include IP header with packet */
-  ret = setsockopt (ospf_sock, IPPROTO_IP, IP_HDRINCL, &hincl, sizeof (hincl));
-  if (ret < 0)
-    {
-      int save_errno = errno;
-      if ( ospfd_privs.change (ZPRIVS_LOWER) )
-        zlog_err ("ospf_sock_init: could not lower privs, %s",
-                   safe_strerror (errno) );
-      zlog_warn ("Can't set IP_HDRINCL option for fd %d: %s",
-                ospf_sock, safe_strerror(save_errno));
-    }
-#elif defined (IPTOS_PREC_INTERNETCONTROL)
+       /* we will include IP header with packet */
+       ret = setsockopt(ospf_sock, IPPROTO_IP, IP_HDRINCL, &hincl,
+                        sizeof(hincl));
+       if (ret < 0) {
+               int save_errno = errno;
+               if (ospfd_privs.change(ZPRIVS_LOWER))
+                       zlog_err("ospf_sock_init: could not lower privs, %s",
+                                safe_strerror(errno));
+               zlog_warn("Can't set IP_HDRINCL option for fd %d: %s",
+                         ospf_sock, safe_strerror(save_errno));
+       }
+#elif defined(IPTOS_PREC_INTERNETCONTROL)
 #warning "IP_HDRINCL not available on this system"
 #warning "using IPTOS_PREC_INTERNETCONTROL"
-  ret = setsockopt_ipv4_tos(ospf_sock, IPTOS_PREC_INTERNETCONTROL);
-  if (ret < 0)
-    {
-      int save_errno = errno;
-      if ( ospfd_privs.change (ZPRIVS_LOWER) )
-        zlog_err ("ospf_sock_init: could not lower privs, %s",
-                   safe_strerror (errno) );
-      zlog_warn ("can't set sockopt IP_TOS %d to socket %d: %s",
-                tos, ospf_sock, safe_strerror(save_errno));
-      close (ospf_sock);       /* Prevent sd leak. */
-      return ret;
-    }
+       ret = setsockopt_ipv4_tos(ospf_sock, IPTOS_PREC_INTERNETCONTROL);
+       if (ret < 0) {
+               int save_errno = errno;
+               if (ospfd_privs.change(ZPRIVS_LOWER))
+                       zlog_err("ospf_sock_init: could not lower privs, %s",
+                                safe_strerror(errno));
+               zlog_warn("can't set sockopt IP_TOS %d to socket %d: %s", tos,
+                         ospf_sock, safe_strerror(save_errno));
+               close(ospf_sock); /* Prevent sd leak. */
+               return ret;
+       }
 #else /* !IPTOS_PREC_INTERNETCONTROL */
 #warning "IP_HDRINCL not available, nor is IPTOS_PREC_INTERNETCONTROL"
-  zlog_warn ("IP_HDRINCL option not available");
+       zlog_warn("IP_HDRINCL option not available");
 #endif /* IP_HDRINCL */
 
-  ret = setsockopt_ifindex (AF_INET, ospf_sock, 1);
+       ret = setsockopt_ifindex(AF_INET, ospf_sock, 1);
 
-  if (ret < 0)
-     zlog_warn ("Can't set pktinfo option for fd %d", ospf_sock);
+       if (ret < 0)
+               zlog_warn("Can't set pktinfo option for fd %d", ospf_sock);
 
-  if (ospfd_privs.change (ZPRIVS_LOWER))
-    {
-      zlog_err ("ospf_sock_init: could not lower privs, %s",
-               safe_strerror (errno) );
-    }
+       if (ospfd_privs.change(ZPRIVS_LOWER)) {
+               zlog_err("ospf_sock_init: could not lower privs, %s",
+                        safe_strerror(errno));
+       }
 
-  setsockopt_so_sendbuf (ospf_sock, bufsize);
-  setsockopt_so_recvbuf (ospf_sock, bufsize);
+       setsockopt_so_sendbuf(ospf_sock, bufsize);
+       setsockopt_so_recvbuf(ospf_sock, bufsize);
 
-  return ospf_sock;
+       return ospf_sock;
 }