diff options
author | Martin Winter <mwinter@opensourcerouting.org> | 2021-05-13 20:12:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-13 20:12:43 +0200 |
commit | d390582e647f744d36d5be80a1fe7716d8bf0e50 (patch) | |
tree | bcad5071de46eb3fa52ffca912da6dfedac2f8e4 /ospf6d/ospf6_flood.c | |
parent | Merge pull request #8649 from ton31337/fix/unify-naming-for-topotests-directory (diff) | |
parent | ospf6d: Send MAXAGE LS update for received old self-originated LSAs (diff) | |
download | frr-d390582e647f744d36d5be80a1fe7716d8bf0e50.tar.xz frr-d390582e647f744d36d5be80a1fe7716d8bf0e50.zip |
Merge pull request #8658 from gromit1811/bugfix_8567
Fix #8567 OSPFv3-26.13 ANVL failure
Diffstat (limited to 'ospf6d/ospf6_flood.c')
-rw-r--r-- | ospf6d/ospf6_flood.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c index 0fa6f8c77..76e81aab7 100644 --- a/ospf6d/ospf6_flood.c +++ b/ospf6d/ospf6_flood.c @@ -1018,18 +1018,20 @@ void ospf6_receive_lsa(struct ospf6_neighbor *from, if (is_debug) zlog_debug( "%s: Current copy of LSA %s is MAXAGE, but new has recent age, flooding/installing.", - old->name, __PRETTY_FUNCTION__); + __PRETTY_FUNCTION__, old->name); ospf6_lsa_purge(old); ospf6_flood(from, new); ospf6_install_lsa(new); - } else { - if (is_debug) - zlog_debug( - "%s: Current copy of self-originated LSA %s is MAXAGE, but new has recent age, ignoring new.", - old->name, __PRETTY_FUNCTION__); - ospf6_lsa_delete(new); + return; } - return; + /* For self-originated LSA, only trust + * ourselves. Fall through and send + * LS Update with our current copy. + */ + if (is_debug) + zlog_debug( + "%s: Current copy of self-originated LSA %s is MAXAGE, but new has recent age, re-sending current one.", + __PRETTY_FUNCTION__, old->name); } /* XXX, MinLSArrival check !? RFC 2328 13 (8) */ |