]> git.puffer.fish Git - mirror/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)
committerOlivier Dugeon <olivier.dugeon@orange.com>
Thu, 14 Dec 2023 17:39:16 +0000 (18:39 +0100)
commita3230323f74204f88e44e579c3ec7e8b9142bad1
tree830a2a9dc64def93ef437f350eb04ec751f16537
parent0d57a9a9546c26021e70ba5986823f8520e581ea
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>
ospfd/ospf_te.c