Diff for /embedaddon/quagga/isisd/isis_events.c between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2012/10/09 09:22:28 version 1.1.1.3, 2016/11/02 10:09:10
Line 110  area_resign_level (struct isis_area *area, int level) Line 110  area_resign_level (struct isis_area *area, int level)
     }      }
 #endif /* HAVE_IPV6 */  #endif /* HAVE_IPV6 */
   
     sched_debug("ISIS (%s): Resigned from L%d - canceling LSP regeneration timer.",
                 area->area_tag, level);
   THREAD_TIMER_OFF (area->t_lsp_refresh[level - 1]);    THREAD_TIMER_OFF (area->t_lsp_refresh[level - 1]);
     area->lsp_regenerate_pending[level - 1] = 0;
 }  }
   
 void  void
Line 245  circuit_resign_level (struct isis_circuit *circuit, in Line 248  circuit_resign_level (struct isis_circuit *circuit, in
       THREAD_TIMER_OFF (circuit->u.bc.t_send_lan_hello[idx]);        THREAD_TIMER_OFF (circuit->u.bc.t_send_lan_hello[idx]);
       THREAD_TIMER_OFF (circuit->u.bc.t_run_dr[idx]);        THREAD_TIMER_OFF (circuit->u.bc.t_run_dr[idx]);
       THREAD_TIMER_OFF (circuit->u.bc.t_refresh_pseudo_lsp[idx]);        THREAD_TIMER_OFF (circuit->u.bc.t_refresh_pseudo_lsp[idx]);
         circuit->lsp_regenerate_pending[idx] = 0;
       circuit->u.bc.run_dr_elect[idx] = 0;        circuit->u.bc.run_dr_elect[idx] = 0;
       list_delete (circuit->u.bc.lan_neighs[idx]);        list_delete (circuit->u.bc.lan_neighs[idx]);
       circuit->u.bc.lan_neighs[idx] = NULL;        circuit->u.bc.lan_neighs[idx] = NULL;
Line 280  isis_event_circuit_type_change (struct isis_circuit *c Line 284  isis_event_circuit_type_change (struct isis_circuit *c
       return;        return;
     }      }
   
  switch (circuit->is_type)  if (! circuit->is_passive)
     {      {
    case IS_LEVEL_1:      switch (circuit->is_type)
      if (newtype == IS_LEVEL_2)        {
        circuit_resign_level (circuit, 1);        case IS_LEVEL_1:
      circuit_commence_level (circuit, 2);          if (newtype == IS_LEVEL_2)
      break;            circuit_resign_level (circuit, 1);
    case IS_LEVEL_1_AND_2:          circuit_commence_level (circuit, 2);
      if (newtype == IS_LEVEL_1)          break;
        circuit_resign_level (circuit, 2);        case IS_LEVEL_1_AND_2:
      else          if (newtype == IS_LEVEL_1)
        circuit_resign_level (circuit, 1);            circuit_resign_level (circuit, 2);
      break;          else
    case IS_LEVEL_2:            circuit_resign_level (circuit, 1);
      if (newtype == IS_LEVEL_1)          break;
        circuit_resign_level (circuit, 2);        case IS_LEVEL_2:
      circuit_commence_level (circuit, 1);          if (newtype == IS_LEVEL_1)
      break;            circuit_resign_level (circuit, 2);
    default:          circuit_commence_level (circuit, 1);
      break;          break;
         default:
           break;
         }
     }      }
   
   circuit->is_type = newtype;    circuit->is_type = newtype;

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>