diff options
Diffstat (limited to 'isisd')
| -rw-r--r-- | isisd/isis_circuit.c | 15 | ||||
| -rw-r--r-- | isisd/isis_routemap.c | 11 |
2 files changed, 13 insertions, 13 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index f8df33d3ee..d51f31ff37 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -638,7 +638,7 @@ int isis_circuit_up(struct isis_circuit *circuit) thread_add_timer(master, isis_run_dr_l2, circuit, 2 * circuit->hello_interval[1], &circuit->u.bc.t_run_dr[1]); - } else { + } else if (circuit->circ_type == CIRCUIT_T_P2P) { /* initializing the hello send threads * for a ptp IF */ @@ -682,9 +682,6 @@ int isis_circuit_up(struct isis_circuit *circuit) void isis_circuit_down(struct isis_circuit *circuit) { - if (circuit->state != C_STATE_UP) - return; - /* Clear the flags for all the lsps of the circuit. */ isis_circuit_update_all_srmflags(circuit, 0); @@ -756,10 +753,12 @@ void isis_circuit_down(struct isis_circuit *circuit) } /* send one gratuitous hello to spead up convergence */ - if (circuit->is_type & IS_LEVEL_1) - send_hello(circuit, IS_LEVEL_1); - if (circuit->is_type & IS_LEVEL_2) - send_hello(circuit, IS_LEVEL_2); + if (circuit->state == C_STATE_UP) { + if (circuit->is_type & IS_LEVEL_1) + send_hello(circuit, IS_LEVEL_1); + if (circuit->is_type & IS_LEVEL_2) + send_hello(circuit, IS_LEVEL_2); + } circuit->upadjcount[0] = 0; circuit->upadjcount[1] = 0; diff --git a/isisd/isis_routemap.c b/isisd/isis_routemap.c index d92207d57c..3c2cf7b3fc 100644 --- a/isisd/isis_routemap.c +++ b/isisd/isis_routemap.c @@ -50,7 +50,7 @@ #include "isis_routemap.h" static route_map_result_t route_match_ip_address(void *rule, - struct prefix *prefix, + const struct prefix *prefix, route_map_object_t type, void *object) { @@ -83,7 +83,7 @@ static struct route_map_rule_cmd route_match_ip_address_cmd = { /* ------------------------------------------------------------*/ static route_map_result_t -route_match_ip_address_prefix_list(void *rule, struct prefix *prefix, +route_match_ip_address_prefix_list(void *rule, const struct prefix *prefix, route_map_object_t type, void *object) { struct prefix_list *plist; @@ -116,7 +116,7 @@ struct route_map_rule_cmd route_match_ip_address_prefix_list_cmd = { /* ------------------------------------------------------------*/ static route_map_result_t route_match_ipv6_address(void *rule, - struct prefix *prefix, + const struct prefix *prefix, route_map_object_t type, void *object) { @@ -149,7 +149,7 @@ static struct route_map_rule_cmd route_match_ipv6_address_cmd = { /* ------------------------------------------------------------*/ static route_map_result_t -route_match_ipv6_address_prefix_list(void *rule, struct prefix *prefix, +route_match_ipv6_address_prefix_list(void *rule, const struct prefix *prefix, route_map_object_t type, void *object) { struct prefix_list *plist; @@ -181,7 +181,8 @@ struct route_map_rule_cmd route_match_ipv6_address_prefix_list_cmd = { /* ------------------------------------------------------------*/ -static route_map_result_t route_set_metric(void *rule, struct prefix *prefix, +static route_map_result_t route_set_metric(void *rule, + const struct prefix *prefix, route_map_object_t type, void *object) { |
