diff options
Diffstat (limited to 'ospfd')
-rw-r--r-- | ospfd/ospf_asbr.c | 18 | ||||
-rw-r--r-- | ospfd/ospf_asbr.h | 4 | ||||
-rw-r--r-- | ospfd/ospf_vty.c | 6 | ||||
-rw-r--r-- | ospfd/ospfd.c | 2 | ||||
-rw-r--r-- | ospfd/ospfd.h | 4 |
5 files changed, 19 insertions, 15 deletions
diff --git a/ospfd/ospf_asbr.c b/ospfd/ospf_asbr.c index 1b68f6e02..bf6f0b161 100644 --- a/ospfd/ospf_asbr.c +++ b/ospfd/ospf_asbr.c @@ -265,17 +265,17 @@ void ospf_asbr_status_update(struct ospf *ospf, uint8_t status) } /* If there's redistribution configured, we need to refresh external - * LSAs in order to install Type-7 and flood to all NSSA Areas + * LSAs (e.g. when default-metric changes or NSSA settings change). */ -static void ospf_asbr_nssa_redist_update_timer(struct event *thread) +static void ospf_asbr_redist_update_timer(struct event *thread) { struct ospf *ospf = EVENT_ARG(thread); int type; - ospf->t_asbr_nssa_redist_update = NULL; + ospf->t_asbr_redist_update = NULL; if (IS_DEBUG_OSPF_EVENT) - zlog_debug("Running ASBR NSSA redistribution update on timer"); + zlog_debug("Running ASBR redistribution update on timer"); for (type = 0; type < ZEBRA_ROUTE_MAX; type++) { struct list *red_list; @@ -295,14 +295,14 @@ static void ospf_asbr_nssa_redist_update_timer(struct event *thread) ospf_external_lsa_refresh_default(ospf); } -void ospf_schedule_asbr_nssa_redist_update(struct ospf *ospf) +void ospf_schedule_asbr_redist_update(struct ospf *ospf) { if (IS_DEBUG_OSPF_EVENT) - zlog_debug("Scheduling ASBR NSSA redistribution update"); + zlog_debug("Scheduling ASBR redistribution update"); - event_add_timer(master, ospf_asbr_nssa_redist_update_timer, ospf, - OSPF_ASBR_NSSA_REDIST_UPDATE_DELAY, - &ospf->t_asbr_nssa_redist_update); + event_add_timer(master, ospf_asbr_redist_update_timer, ospf, + OSPF_ASBR_REDIST_UPDATE_DELAY, + &ospf->t_asbr_redist_update); } void ospf_redistribute_withdraw(struct ospf *ospf, uint8_t type, diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h index dfb9d965c..6158d65f2 100644 --- a/ospfd/ospf_asbr.h +++ b/ospfd/ospf_asbr.h @@ -95,7 +95,7 @@ struct ospf_external_aggr_rt { }; #define OSPF_ASBR_CHECK_DELAY 30 -#define OSPF_ASBR_NSSA_REDIST_UPDATE_DELAY 9 +#define OSPF_ASBR_REDIST_UPDATE_DELAY 9 extern void ospf_external_route_remove(struct ospf *, struct prefix_ipv4 *); extern struct external_info *ospf_external_info_new(struct ospf *, uint8_t, @@ -113,7 +113,7 @@ extern struct external_info *ospf_external_info_lookup(struct ospf *, uint8_t, unsigned short, struct prefix_ipv4 *); extern void ospf_asbr_status_update(struct ospf *, uint8_t); -extern void ospf_schedule_asbr_nssa_redist_update(struct ospf *ospf); +extern void ospf_schedule_asbr_redist_update(struct ospf *ospf); extern void ospf_redistribute_withdraw(struct ospf *, uint8_t, unsigned short); extern void ospf_asbr_check(void); diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index a23802719..31982aa0e 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -1529,7 +1529,7 @@ DEFPY (ospf_area_nssa, /* Flush the external LSA for the specified area */ ospf_flush_lsa_from_area(ospf, area_id, OSPF_AS_EXTERNAL_LSA); ospf_schedule_abr_task(ospf); - ospf_schedule_asbr_nssa_redist_update(ospf); + ospf_schedule_asbr_redist_update(ospf); return CMD_SUCCESS; } @@ -9619,6 +9619,8 @@ DEFUN (ospf_default_metric, ospf->default_metric = metric; + ospf_schedule_asbr_redist_update(ospf); + return CMD_SUCCESS; } @@ -9633,6 +9635,8 @@ DEFUN (no_ospf_default_metric, ospf->default_metric = -1; + ospf_schedule_asbr_redist_update(ospf); + return CMD_SUCCESS; } diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 3bafc313f..172356895 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -816,7 +816,7 @@ static void ospf_finish_final(struct ospf *ospf) EVENT_OFF(ospf->t_abr_task); EVENT_OFF(ospf->t_abr_fr); EVENT_OFF(ospf->t_asbr_check); - EVENT_OFF(ospf->t_asbr_nssa_redist_update); + EVENT_OFF(ospf->t_asbr_redist_update); EVENT_OFF(ospf->t_distribute_update); EVENT_OFF(ospf->t_lsa_refresher); EVENT_OFF(ospf->t_opaque_lsa_self); diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h index 860140cb7..2ab7db119 100644 --- a/ospfd/ospfd.h +++ b/ospfd/ospfd.h @@ -268,8 +268,8 @@ struct ospf { struct event *t_abr_task; /* ABR task timer. */ struct event *t_abr_fr; /* ABR FR timer. */ struct event *t_asbr_check; /* ASBR check timer. */ - struct event *t_asbr_nssa_redist_update; /* ASBR NSSA redistribution - update timer. */ + struct event *t_asbr_redist_update; /* ASBR redistribution update + timer. */ struct event *t_distribute_update; /* Distirbute list update timer. */ struct event *t_spf_calc; /* SPF calculation timer. */ struct event *t_ase_calc; /* ASE calculation timer. */ |