]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: fix using of two pointers for struct thread_master
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 23 Sep 2015 19:41:33 +0000 (15:41 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 24 Sep 2015 01:38:27 +0000 (18:38 -0700)
bgp is using both bm->master and master pointers interchangebly
for thread manipulation.  Since they are the same thing consolidate
to one pointer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
bgpd/bgp_main.c
bgpd/bgp_route.c
bgpd/bgp_snmp.c
bgpd/bgp_vty.c
bgpd/bgpd.c
bgpd/bgpd.h
tests/aspath_test.c

index 09e83b8a51f9b6d4de4ac8c02d2892014a17a7c1..2a9f7a223b765d9bbaae3be5966cb126e9a0679f 100644 (file)
@@ -329,6 +329,7 @@ main (int argc, char **argv)
 
   /* BGP master init. */
   bgp_master_init ();
+  master = thread_master_create();
 
   /* Command line argument treatment. */
   while (1) 
@@ -407,9 +408,6 @@ main (int argc, char **argv)
        }
     }
 
-  /* Make thread master. */
-  master = bm->master;
-
   /* Initializations. */
   srand (time (NULL));
   signal_init (master, array_size(bgp_signals), bgp_signals);
index 2e35f15ec4c9126ecfa998489648240641a84432..efcaf231507edd8685e96293253c6a4a2abb5903 100644 (file)
@@ -2177,13 +2177,13 @@ bgp_process_queue_init (void)
   if (!bm->process_main_queue)
     {
       bm->process_main_queue
-       = work_queue_new (bm->master, "process_main_queue");
+       = work_queue_new(master, "process_main_queue");
     }
 
   if (!bm->process_rsclient_queue)
     {
       bm->process_rsclient_queue
-       = work_queue_new (bm->master, "process_rsclient_queue");
+       = work_queue_new(master, "process_rsclient_queue");
     }
 
   if ( !(bm->process_main_queue && bm->process_rsclient_queue) )
@@ -3430,7 +3430,7 @@ bgp_clear_node_queue_init (struct peer *peer)
   snprintf (wname, sizeof(wname), "clear %s", peer->host);
 #undef CLEAR_QUEUE_NAME_LEN
 
-  if ( (peer->clear_node_queue = work_queue_new (bm->master, wname)) == NULL)
+  if ( (peer->clear_node_queue = work_queue_new (master, wname)) == NULL)
     {
       zlog_err ("%s: Failed to allocate work queue", __func__);
       exit (1);
@@ -11575,7 +11575,7 @@ bgp_table_stats (struct vty *vty, struct bgp *bgp, afi_t afi, safi_t safi)
   
   memset (&ts, 0, sizeof (ts));
   ts.table = bgp->rib[afi][safi];
-  thread_execute (bm->master, bgp_table_stats_walker, &ts, 0);
+  thread_execute (master, bgp_table_stats_walker, &ts, 0);
 
   vty_out (vty, "BGP %s RIB statistics%s%s",
            afi_safi_print (afi, safi), VTY_NEWLINE, VTY_NEWLINE);
@@ -11882,7 +11882,7 @@ bgp_peer_counts (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi, u_c
  *    * stats for the thread-walk (i.e. ensure this can't be blamed on
  *       * on just vty_read()).
  *          */
-  thread_execute (bm->master, bgp_peer_count_walker, &pcounts, 0);
+  thread_execute(master, bgp_peer_count_walker, &pcounts, 0);
 
   if (use_json)
     {
index 79aaa03a6ec964e6542e9210891b9d762a5246a2..078cb0cc1352b1d08d6319a9326f84ba8c0110f7 100644 (file)
@@ -888,7 +888,7 @@ bgpTrapBackwardTransition (struct peer *peer)
 void
 bgp_snmp_init (void)
 {
-  smux_init (bm->master);
+  smux_init(master);
   REGISTER_MIB("mibII/bgp", bgp_variables, variable, bgp_oid);
 }
 #endif /* HAVE_SNMP */
index d2c0a41bab667b76b36ecc4110cadfa43013c34a..3129a4135d1c2450c5ed44f7508797780b6db704 100644 (file)
@@ -4946,7 +4946,7 @@ DEFUN (bgp_set_route_map_delay_timer,
       if (!rmap_delay_timer && bgp->t_rmap_update )
        {
          BGP_TIMER_OFF(bgp->t_rmap_update);
-         thread_execute (bm->master, bgp_route_map_update_timer, &bgp, 0);
+         thread_execute(master, bgp_route_map_update_timer, &bgp, 0);
        }
       return CMD_SUCCESS;
     }
index 0136189ecd2981819d444c1b05b8f7642df31bec..26f778909e7b37a18397cad5a83270be20906faf 100644 (file)
@@ -2904,7 +2904,7 @@ bgp_delete (struct bgp *bgp)
   if (list_isempty(bm->bgp))
     bgp_close ();
 
-  thread_master_free_unused(bm->master);
+  thread_master_free_unused(master);
   bgp_unlock(bgp);  /* initial reference */
 
   return 0;
@@ -6874,7 +6874,6 @@ bgp_master_init (void)
   bm->bgp = list_new ();
   bm->listen_sockets = list_new ();
   bm->port = BGP_PORT_DEFAULT;
-  bm->master = thread_master_create ();
   bm->start_time = bgp_clock ();
 
   bgp_process_queue_init();
index 00e6a1a1faef8399455489e2a74eae3ce76c4571..651cf150935c8e0219905869faffead521b3193d 100644 (file)
@@ -79,9 +79,6 @@ struct bgp_master
   /* BGP instance list.  */
   struct list *bgp;
 
-  /* BGP thread master.  */
-  struct thread_master *master;
-
   /* work queues */
   struct work_queue *process_main_queue;
   struct work_queue *process_rsclient_queue;
index 8ba77b122b2d95aefbd4abb27031c36fcaca5f75..f39e46550df6252a8f2687801dadb864bbbf6e07 100644 (file)
@@ -1287,7 +1287,7 @@ main (void)
 {
   int i = 0;
   bgp_master_init ();
-  master = bm->master;
+  master = thread_master_create();
   bgp_option_set (BGP_OPT_NO_LISTEN);
   bgp_attr_init ();