]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_events.c
zebra, lib: fix the ZEBRA_INTERFACE_VRF_UPDATE zapi message
[mirror_frr.git] / isisd / isis_events.c
index 342787af302c91cb10060f3db87e458371aecd25..4da23c591261a1b98588830877a98149003d4d39 100644 (file)
@@ -77,47 +77,29 @@ void isis_event_circuit_state_change(struct isis_circuit *circuit,
 
 static void circuit_commence_level(struct isis_circuit *circuit, int level)
 {
-       if (level == 1) {
-               if (!circuit->is_passive)
+       if (!circuit->is_passive) {
+               if (level == 1) {
                        thread_add_timer(master, send_l1_psnp, circuit,
                                         isis_jitter(circuit->psnp_interval[0],
                                                     PSNP_JITTER),
                                         &circuit->t_send_psnp[0]);
-
-               if (circuit->circ_type == CIRCUIT_T_BROADCAST) {
-                       thread_add_timer(master, isis_run_dr_l1, circuit,
-                                        2 * circuit->hello_interval[0],
-                                        &circuit->u.bc.t_run_dr[0]);
-
-                       thread_add_timer(master, send_lan_l1_hello, circuit,
-                                        isis_jitter(circuit->hello_interval[0],
-                                                    IIH_JITTER),
-                                        &circuit->u.bc.t_send_lan_hello[0]);
-
-                       circuit->u.bc.lan_neighs[0] = list_new();
-               }
-       } else {
-               if (!circuit->is_passive)
+               } else {
                        thread_add_timer(master, send_l2_psnp, circuit,
                                         isis_jitter(circuit->psnp_interval[1],
                                                     PSNP_JITTER),
                                         &circuit->t_send_psnp[1]);
-
-               if (circuit->circ_type == CIRCUIT_T_BROADCAST) {
-                       thread_add_timer(master, isis_run_dr_l2, circuit,
-                                        2 * circuit->hello_interval[1],
-                                        &circuit->u.bc.t_run_dr[1]);
-
-                       thread_add_timer(master, send_lan_l2_hello, circuit,
-                                        isis_jitter(circuit->hello_interval[1],
-                                                    IIH_JITTER),
-                                        &circuit->u.bc.t_send_lan_hello[1]);
-
-                       circuit->u.bc.lan_neighs[1] = list_new();
                }
        }
 
-       return;
+       if (circuit->circ_type == CIRCUIT_T_BROADCAST) {
+               thread_add_timer(master, isis_run_dr,
+                                &circuit->level_arg[level - 1],
+                                2 * circuit->hello_interval[level - 1],
+                                &circuit->u.bc.t_run_dr[level - 1]);
+
+               send_hello_sched(circuit, level, TRIGGERED_IIH_DELAY);
+               circuit->u.bc.lan_neighs[level - 1] = list_new();
+       }
 }
 
 static void circuit_resign_level(struct isis_circuit *circuit, int level)
@@ -134,7 +116,7 @@ static void circuit_resign_level(struct isis_circuit *circuit, int level)
                circuit->lsp_regenerate_pending[idx] = 0;
                circuit->u.bc.run_dr_elect[idx] = 0;
                if (circuit->u.bc.lan_neighs[idx] != NULL)
-                       list_delete_and_null(&circuit->u.bc.lan_neighs[idx]);
+                       list_delete(&circuit->u.bc.lan_neighs[idx]);
        }
 
        return;
@@ -216,25 +198,6 @@ void isis_circuit_is_type_set(struct isis_circuit *circuit, int newtype)
  *
  * ***********************************************************************/
 
-void isis_event_adjacency_state_change(struct isis_adjacency *adj, int newstate)
-{
-       /* adjacency state change event.
-        * - the only proto-type was supported */
-
-       /* invalid arguments */
-       if (!adj || !adj->circuit || !adj->circuit->area)
-               return;
-
-       if (isis->debugs & DEBUG_EVENTS)
-               zlog_debug("ISIS-Evt (%s) Adjacency State change",
-                          adj->circuit->area->area_tag);
-
-       /* LSP generation again */
-       lsp_regenerate_schedule(adj->circuit->area, IS_LEVEL_1 | IS_LEVEL_2, 0);
-
-       return;
-}
-
 /* events supporting code */
 
 int isis_event_dis_status_change(struct thread *thread)