summaryrefslogtreecommitdiffstats
path: root/ospfd
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2020-09-18 20:58:14 +0200
committerGitHub <noreply@github.com>2020-09-18 20:58:14 +0200
commit27baa2c0565c3c96111aeb1eb4db4b0afe7cc8b7 (patch)
tree16c640f264bfa2959111a7848c522d0e3a593d29 /ospfd
parentMerge pull request #7077 from ckishimo/debug (diff)
parentospfd: flush type 5 when type 7 is removed (diff)
downloadfrr-27baa2c0565c3c96111aeb1eb4db4b0afe7cc8b7.tar.xz
frr-27baa2c0565c3c96111aeb1eb4db4b0afe7cc8b7.zip
Merge pull request #7086 from ckishimo/flush_type5
ospfd: flush type 5 when type 7 is removed
Diffstat (limited to 'ospfd')
-rw-r--r--ospfd/ospf_abr.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c
index f6c050499..5a9adcba0 100644
--- a/ospfd/ospf_abr.c
+++ b/ospfd/ospf_abr.c
@@ -642,6 +642,15 @@ static int ospf_abr_translate_nssa(struct ospf_area *area, struct ospf_lsa *lsa)
old = ospf_external_info_find_lsa(area->ospf, &p);
if (old) {
+ /* Do not continue if type 5 LSA not approved */
+ if (!CHECK_FLAG(old->flags, OSPF_LSA_APPROVED)) {
+ if (IS_DEBUG_OSPF_NSSA)
+ zlog_debug(
+ "ospf_abr_translate_nssa(): LSA Id %s type 5 is not approved",
+ inet_ntoa(old->data->id));
+ return 1;
+ }
+
if (IS_DEBUG_OSPF_NSSA)
zlog_debug(
"ospf_abr_translate_nssa(): found old translated LSA Id %s, refreshing",