diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-09-18 20:58:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-18 20:58:14 +0200 |
commit | 27baa2c0565c3c96111aeb1eb4db4b0afe7cc8b7 (patch) | |
tree | 16c640f264bfa2959111a7848c522d0e3a593d29 /ospfd | |
parent | Merge pull request #7077 from ckishimo/debug (diff) | |
parent | ospfd: flush type 5 when type 7 is removed (diff) | |
download | frr-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.c | 9 |
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", |