diff options
Diffstat (limited to 'isisd/isis_circuit.c')
| -rw-r--r-- | isisd/isis_circuit.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index d6988095e5..695e1318ae 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -71,13 +71,14 @@ DEFINE_HOOK(isis_if_new_hook, (struct interface *ifp), (ifp)) int isis_if_new_hook(struct interface *); int isis_if_delete_hook(struct interface *); -struct isis_circuit *isis_circuit_new(void) +struct isis_circuit *isis_circuit_new(struct isis *isis) { struct isis_circuit *circuit; int i; circuit = XCALLOC(MTYPE_ISIS_CIRCUIT, sizeof(struct isis_circuit)); + circuit->isis = isis; /* * Default values */ @@ -626,8 +627,8 @@ int isis_circuit_up(struct isis_circuit *circuit) } if (circuit->circ_type == CIRCUIT_T_BROADCAST) { - circuit->circuit_id = isis_circuit_id_gen(circuit->area->isis, - circuit->interface); + circuit->circuit_id = + isis_circuit_id_gen(circuit->isis, circuit->interface); if (!circuit->circuit_id) { flog_err( EC_ISIS_CONFIG, @@ -811,7 +812,7 @@ void isis_circuit_down(struct isis_circuit *circuit) circuit->lsp_regenerate_pending[0] = 0; circuit->lsp_regenerate_pending[1] = 0; - _ISIS_CLEAR_FLAG(circuit->area->isis->circuit_ids_used, + _ISIS_CLEAR_FLAG(circuit->isis->circuit_ids_used, circuit->circuit_id); circuit->circuit_id = 0; } else if (circuit->circ_type == CIRCUIT_T_P2P) { |
