]> git.proxmox.com Git - mirror_frr.git/blobdiff - ripd/rip_peer.c
Merge pull request #1536 from opensourcerouting/isis-l2conv
[mirror_frr.git] / ripd / rip_peer.c
index 464c3f4dd34eb32317749cae2cdc16b2afa931dc..0a6337bf76e5cabb720185377caf968eb74f9686 100644 (file)
 /* Linked list of RIP peer. */
 struct list *peer_list;
 
-static struct rip_peer *
-rip_peer_new (void)
+static struct rip_peer *rip_peer_new(void)
 {
-  return XCALLOC (MTYPE_RIP_PEER, sizeof (struct rip_peer));
+       return XCALLOC(MTYPE_RIP_PEER, sizeof(struct rip_peer));
 }
 
-static void
-rip_peer_free (struct rip_peer *peer)
+static void rip_peer_free(struct rip_peer *peer)
 {
-  XFREE (MTYPE_RIP_PEER, peer);
+       XFREE(MTYPE_RIP_PEER, peer);
 }
 
-struct rip_peer *
-rip_peer_lookup (struct in_addr *addr)
+struct rip_peer *rip_peer_lookup(struct in_addr *addr)
 {
-  struct rip_peer *peer;
-  struct listnode *node, *nnode;
-
-  for (ALL_LIST_ELEMENTS (peer_list, node, nnode, peer))
-    {
-      if (IPV4_ADDR_SAME (&peer->addr, addr))
-       return peer;
-    }
-  return NULL;
+       struct rip_peer *peer;
+       struct listnode *node, *nnode;
+
+       for (ALL_LIST_ELEMENTS(peer_list, node, nnode, peer)) {
+               if (IPV4_ADDR_SAME(&peer->addr, addr))
+                       return peer;
+       }
+       return NULL;
 }
 
-struct rip_peer *
-rip_peer_lookup_next (struct in_addr *addr)
+struct rip_peer *rip_peer_lookup_next(struct in_addr *addr)
 {
-  struct rip_peer *peer;
-  struct listnode *node, *nnode;
-
-  for (ALL_LIST_ELEMENTS (peer_list, node, nnode, peer))
-    {
-      if (htonl (peer->addr.s_addr) > htonl (addr->s_addr))
-       return peer;
-    }
-  return NULL;
+       struct rip_peer *peer;
+       struct listnode *node, *nnode;
+
+       for (ALL_LIST_ELEMENTS(peer_list, node, nnode, peer)) {
+               if (htonl(peer->addr.s_addr) > htonl(addr->s_addr))
+                       return peer;
+       }
+       return NULL;
 }
 
 /* RIP peer is timeout. */
-static int
-rip_peer_timeout (struct thread *t)
+static int rip_peer_timeout(struct thread *t)
 {
-  struct rip_peer *peer;
+       struct rip_peer *peer;
 
-  peer = THREAD_ARG (t);
-  listnode_delete (peer_list, peer);
-  rip_peer_free (peer);
+       peer = THREAD_ARG(t);
+       listnode_delete(peer_list, peer);
+       rip_peer_free(peer);
 
-  return 0;
+       return 0;
 }
 
 /* Get RIP peer.  At the same time update timeout thread. */
-static struct rip_peer *
-rip_peer_get (struct in_addr *addr)
+static struct rip_peer *rip_peer_get(struct in_addr *addr)
 {
-  struct rip_peer *peer;
-
-  peer = rip_peer_lookup (addr);
-
-  if (peer)
-    {
-      if (peer->t_timeout)
-       thread_cancel (peer->t_timeout);
-    }
-  else
-    {
-      peer = rip_peer_new ();
-      peer->addr = *addr;
-      listnode_add_sort (peer_list, peer);
-    }
-
-  /* Update timeout thread. */
-  peer->t_timeout = NULL;
-  thread_add_timer(master, rip_peer_timeout, peer, RIP_PEER_TIMER_DEFAULT,
-                   &peer->t_timeout);
-
-  /* Last update time set. */
-  time (&peer->uptime);
-  
-  return peer;
+       struct rip_peer *peer;
+
+       peer = rip_peer_lookup(addr);
+
+       if (peer) {
+               if (peer->t_timeout)
+                       thread_cancel(peer->t_timeout);
+       } else {
+               peer = rip_peer_new();
+               peer->addr = *addr;
+               listnode_add_sort(peer_list, peer);
+       }
+
+       /* Update timeout thread. */
+       peer->t_timeout = NULL;
+       thread_add_timer(master, rip_peer_timeout, peer, RIP_PEER_TIMER_DEFAULT,
+                        &peer->t_timeout);
+
+       /* Last update time set. */
+       time(&peer->uptime);
+
+       return peer;
 }
 
-void
-rip_peer_update (struct sockaddr_in *from, u_char version)
+void rip_peer_update(struct sockaddr_in *from, u_char version)
 {
-  struct rip_peer *peer;
-  peer = rip_peer_get (&from->sin_addr);
-  peer->version = version;
+       struct rip_peer *peer;
+       peer = rip_peer_get(&from->sin_addr);
+       peer->version = version;
 }
 
-void
-rip_peer_bad_route (struct sockaddr_in *from)
+void rip_peer_bad_route(struct sockaddr_in *from)
 {
-  struct rip_peer *peer;
-  peer = rip_peer_get (&from->sin_addr);
-  peer->recv_badroutes++;
+       struct rip_peer *peer;
+       peer = rip_peer_get(&from->sin_addr);
+       peer->recv_badroutes++;
 }
 
-void
-rip_peer_bad_packet (struct sockaddr_in *from)
+void rip_peer_bad_packet(struct sockaddr_in *from)
 {
-  struct rip_peer *peer;
-  peer = rip_peer_get (&from->sin_addr);
-  peer->recv_badpackets++;
+       struct rip_peer *peer;
+       peer = rip_peer_get(&from->sin_addr);
+       peer->recv_badpackets++;
 }
 
 /* Display peer uptime. */
-static char *
-rip_peer_uptime (struct rip_peer *peer, char *buf, size_t len)
+static char *rip_peer_uptime(struct rip_peer *peer, char *buf, size_t len)
 {
-  time_t uptime;
-  struct tm *tm;
-
-  /* If there is no connection has been done before print `never'. */
-  if (peer->uptime == 0)
-    {
-      snprintf (buf, len, "never   ");
-      return buf;
-    }
-
-  /* Get current time. */
-  uptime = time (NULL);
-  uptime -= peer->uptime;
-  tm = gmtime (&uptime);
-
-  /* Making formatted timer strings. */
-#define ONE_DAY_SECOND 60*60*24
-#define ONE_WEEK_SECOND 60*60*24*7
-
-  if (uptime < ONE_DAY_SECOND)
-    snprintf (buf, len, "%02d:%02d:%02d", 
-             tm->tm_hour, tm->tm_min, tm->tm_sec);
-  else if (uptime < ONE_WEEK_SECOND)
-    snprintf (buf, len, "%dd%02dh%02dm", 
-             tm->tm_yday, tm->tm_hour, tm->tm_min);
-  else
-    snprintf (buf, len, "%02dw%dd%02dh", 
-             tm->tm_yday/7, tm->tm_yday - ((tm->tm_yday/7) * 7), tm->tm_hour);
-  return buf;
+       time_t uptime;
+       struct tm *tm;
+
+       /* If there is no connection has been done before print `never'. */
+       if (peer->uptime == 0) {
+               snprintf(buf, len, "never   ");
+               return buf;
+       }
+
+       /* Get current time. */
+       uptime = time(NULL);
+       uptime -= peer->uptime;
+       tm = gmtime(&uptime);
+
+       if (uptime < ONE_DAY_SECOND)
+               snprintf(buf, len, "%02d:%02d:%02d", tm->tm_hour, tm->tm_min,
+                        tm->tm_sec);
+       else if (uptime < ONE_WEEK_SECOND)
+               snprintf(buf, len, "%dd%02dh%02dm", tm->tm_yday, tm->tm_hour,
+                        tm->tm_min);
+       else
+               snprintf(buf, len, "%02dw%dd%02dh", tm->tm_yday / 7,
+                        tm->tm_yday - ((tm->tm_yday / 7) * 7), tm->tm_hour);
+       return buf;
 }
 
-void
-rip_peer_display (struct vty *vty)
+void rip_peer_display(struct vty *vty)
 {
-  struct rip_peer *peer;
-  struct listnode *node, *nnode;
+       struct rip_peer *peer;
+       struct listnode *node, *nnode;
 #define RIP_UPTIME_LEN 25
-  char timebuf[RIP_UPTIME_LEN];
-
-  for (ALL_LIST_ELEMENTS (peer_list, node, nnode, peer))
-    {
-      vty_out (vty, "    %-16s %9d %9d %9d   %s%s", inet_ntoa (peer->addr),
-              peer->recv_badpackets, peer->recv_badroutes,
-              ZEBRA_RIP_DISTANCE_DEFAULT,
-              rip_peer_uptime (peer, timebuf, RIP_UPTIME_LEN),
-              VTY_NEWLINE);
-    }
+       char timebuf[RIP_UPTIME_LEN];
+
+       for (ALL_LIST_ELEMENTS(peer_list, node, nnode, peer)) {
+               vty_out(vty, "    %-16s %9d %9d %9d   %s\n",
+                       inet_ntoa(peer->addr), peer->recv_badpackets,
+                       peer->recv_badroutes, ZEBRA_RIP_DISTANCE_DEFAULT,
+                       rip_peer_uptime(peer, timebuf, RIP_UPTIME_LEN));
+       }
 }
 
-static int
-rip_peer_list_cmp (struct rip_peer *p1, struct rip_peer *p2)
+static int rip_peer_list_cmp(struct rip_peer *p1, struct rip_peer *p2)
 {
-  return htonl (p1->addr.s_addr) > htonl (p2->addr.s_addr);
+       return htonl(p1->addr.s_addr) > htonl(p2->addr.s_addr);
 }
 
-void
-rip_peer_init (void)
+void rip_peer_init(void)
 {
-  peer_list = list_new ();
-  peer_list->cmp = (int (*)(void *, void *)) rip_peer_list_cmp;
+       peer_list = list_new();
+       peer_list->cmp = (int (*)(void *, void *))rip_peer_list_cmp;
 }