]> git.puffer.fish Git - matthieu/frr.git/commit
ospfd: Correct LSA parser which fulfill the TED
authorOlivier Dugeon <olivier.dugeon@orange.com>
Thu, 14 Dec 2023 17:22:32 +0000 (18:22 +0100)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Thu, 14 Dec 2023 21:18:16 +0000 (21:18 +0000)
commit5f9e04aa5ab16300e2e435fbbdfc65da1ef09f97
tree2cbc784cd733671698aaeab3f130a92820e7fbba
parentd6febc2c57f6d8e325d4f458e9ed3c42c2e34810
ospfd: Correct LSA parser which fulfill the TED

Traffic Engineering Database (TED) is fulfill from the various LSA advertised
and received by the router. To remove information on the TED, 2 mechanisms are
used: i) parse TE Opaque LSA when there are flushed and ii) compare the list of
prefixes advertised in the Router LSA with the list of corresponding edges and
subnets contained in the TED. However, this second mechanism assumes that the
Router LSA is unique and contains all prefixes of the advertised router.
But, this is wrong. Prefixes could be advertised with several Router LSA.
This conduct to remove edge and subnet in the TED while it should be maintained.
The result is a faulty test with ospf_sr_te_topo1 topotest when server is heavy
loaded.

This simple patch removed deletion of edges and subnets when parsing the Router
LSA and only removed them when the corresponding TE Opaque LSA is flushed. In
addition, TE Opaque LSA are not flushed when OSPF ajacency goes down. This
patch also correct this second problem.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
(cherry picked from commit a3230323f74204f88e44e579c3ec7e8b9142bad1)
ospfd/ospf_te.c