diff options
| author | Jafar Al-Gharaibeh <Jafaral@users.noreply.github.com> | 2018-03-20 13:09:29 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-20 13:09:29 -0600 |
| commit | 1af416bc25d14605b0874c826f267d51ea05b7bf (patch) | |
| tree | a2c849352e87cffa236bd3c114df532e7d724528 /ospf6d/ospf6_intra.c | |
| parent | 5c0f567a57e84676398effd307d7c00adca78936 (diff) | |
| parent | 690df17787c759d36cf57ba1070c961ac87b4b1a (diff) | |
Merge pull request #1825 from chiragshah6/ospfv3_dev
ospf6d: Intra-prefix LSA update after frr restart
Diffstat (limited to 'ospf6d/ospf6_intra.c')
| -rw-r--r-- | ospf6d/ospf6_intra.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ospf6d/ospf6_intra.c b/ospf6d/ospf6_intra.c index 14f12d6b6a..c9e2ff9eb5 100644 --- a/ospf6d/ospf6_intra.c +++ b/ospf6d/ospf6_intra.c @@ -1015,6 +1015,20 @@ int ospf6_intra_prefix_lsa_originate_stub(struct thread *thread) return 0; } + /* Neighbor change to FULL, if INTRA-AREA-PREFIX LSA + * has not change, Flush old LSA and Re-Originate INP, + * as ospf6_flood() checks if LSA is same as DB, + * it won't be updated to neighbor's DB. + */ + if (oa->intra_prefix_originate) { + if (IS_OSPF6_DEBUG_ORIGINATE(INTRA_PREFIX)) + zlog_debug("%s: Re-originate intra prefix LSA, Current full nbrs %u", + __PRETTY_FUNCTION__, oa->full_nbrs); + if (old) + ospf6_lsa_purge_multi_ls_id(oa, old); + oa->intra_prefix_originate = 0; + } + /* put prefixes to advertise */ prefix_num = 0; op = (struct ospf6_prefix *)((caddr_t)intra_prefix_lsa |
