frr/ospfd
Olivier Dugeon 1bcccb87cd ospfd: Correct invalid SR-MPLS output label
When OSPFd starts, there is 2 possible scenarios for Segment Routing:
1/ Routes associated to Prefixes are not yet available i.e. Segment Routing LSA
are received before LSA Type 1. In this case, the function
ospf_sr_nhlfe_update() is triggered when a new SPF is launch. Thus, neighbors
and output label are always synchronise with the routing table.
2/ Routes are already available i.e. LSA Type 1 are received before Segment
Routing LSA, in particular the Router Information which contains the SRGB.
During nhlfe computation, perfixes are leave with incomplete configuration, in
particular, the SR nexthop is set to NULL. If this scenario is handle through
the function update_out_nhlfe (triggered when SRGB is received or modified from
a neighbor node), the output label is not correctly configured as the nexthop
SR node associated to the prefix has been leave to NULL.

This patch correct this problem by calling the function compute_nhlfe() when
the nexthop SR Node associated to the prefix is NULL within the
update_out_nhlfe() function. Thus, we guarantee that the SR prefix is always
correctly configuration indpedently of the scenario i.e. arrival of the
different LSA.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2024-11-23 19:05:25 +01:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
ChangeLog.opaque.txt Initial revision 2003-02-03 16:31:16 +00:00
Makefile build: non-recursive ospf* 2017-08-04 11:09:50 +02:00
OSPF-ALIGNMENT.txt *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ospf_abr.c *: Fix spelling errors found 2024-08-15 09:19:37 -04:00
ospf_abr.h ospfd: add support for NSSA Type-7 address ranges 2023-03-31 19:28:15 -03:00
ospf_api.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_api.h *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
ospf_apiserver.c ospfd: OSPFAPI Server options to limit to local connections and per-instance TCP 2024-04-25 16:20:50 +00:00
ospf_apiserver.h ospfd: OSPFAPI Server options to limit to local connections and per-instance TCP 2024-04-25 16:20:50 +00:00
ospf_asbr.c ospfd: OSPF multi-instance default origination fixes 2024-11-17 13:33:48 +00:00
ospf_asbr.h ospfd: OSPF multi-instance default origination fixes 2024-11-17 13:33:48 +00:00
ospf_ase.c ospfd: Assure OSPF AS External routes are installed after link flap 2024-03-21 16:18:59 -04:00
ospf_ase.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_auth.c *: remove sys/stat.h from zebra.h 2024-01-09 12:39:23 -05:00
ospf_auth.h [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_bfd.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_bfd.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
ospf_dump.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_dump.h *: Fixup formatting issues due to reordering 2023-03-24 08:37:21 -04:00
ospf_dump_api.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_dump_api.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_errors.c [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_errors.h [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_ext.c ospfd: Decode Extended Link & Prefix TLVs for json 2024-02-12 17:52:00 +01:00
ospf_ext.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_flood.c ospfd: An OSPF Ack should be sent when P2MP reflooding is delayed. 2024-09-12 16:14:52 +00:00
ospf_flood.h ospfd: Fix several problems with direct acknowledgments and improved delay acks. 2024-07-06 13:42:40 +00:00
ospf_gr.c ospfd: fix GR state location 2024-01-27 19:02:52 +01:00
ospf_gr.h ospfd, ospf6d: fix time_t truncation 2023-05-30 19:47:28 -03:00
ospf_gr_helper.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_ia.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_ia.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_interface.c ospfd: Fix several problems with direct acknowledgments and improved delay acks. 2024-07-06 13:42:40 +00:00
ospf_interface.h ospfd: Fix several problems with direct acknowledgments and improved delay acks. 2024-07-06 13:42:40 +00:00
ospf_ism.c ospfd: Fix several problems with direct acknowledgments and improved delay acks. 2024-07-06 13:42:40 +00:00
ospf_ism.h * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
ospf_ldp_sync.c ospfd: fix internal ldp-sync state flags when feature is disabled 2024-07-17 10:31:15 +02:00
ospf_ldp_sync.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_lsa.c ospfd: OSPF multi-instance default origination fixes 2024-11-17 13:33:48 +00:00
ospf_lsa.h ospfd: Fix opaque LSA refresh interval and modify LSA cmds. 2024-10-25 14:31:10 +00:00
ospf_lsdb.c ospfd: Improve OSPF neighbor retransmission list granularity and precision 2024-06-20 15:31:07 +00:00
ospf_lsdb.h ospfd: Improve OSPF neighbor retransmission list granularity and precision 2024-06-20 15:31:07 +00:00
ospf_main.c ospfd: fix state location mixup 2024-07-10 09:52:25 +02:00
ospf_memory.c ospfd: Improve OSPF neighbor retransmission list granularity and precision 2024-06-20 15:31:07 +00:00
ospf_memory.h ospfd: Improve OSPF neighbor retransmission list granularity and precision 2024-06-20 15:31:07 +00:00
ospf_neighbor.c ospfd: Improve OSPF neighbor retransmission list granularity and precision 2024-06-20 15:31:07 +00:00
ospf_neighbor.h ospfd: Improve OSPF neighbor retransmission list granularity and precision 2024-06-20 15:31:07 +00:00
ospf_network.c ospfd: fix per-interface sockets 2023-07-03 09:37:25 -04:00
ospf_network.h ospfd: support write socket per interface 2023-04-11 10:16:07 -04:00
ospf_nsm.c ospfd: Improve OSPF neighbor retransmission list granularity and precision 2024-06-20 15:31:07 +00:00
ospf_nsm.h * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
ospf_opaque.c ospfd: Fix opaque LSA refresh interval and modify LSA cmds. 2024-10-25 14:31:10 +00:00
ospf_opaque.h ospfd: Fix OSPF link-local opaque LSA crash and opaque memory corruption 2023-11-28 16:18:55 -05:00
ospf_packet.c ospfd: logging behavior for area id mismatches 2024-09-09 10:36:07 +02:00
ospf_packet.h ospfd: Fix several problems with direct acknowledgments and improved delay acks. 2024-07-06 13:42:40 +00:00
ospf_ri.c ospfd: Remove deprecated router_info_area_id_cmd 2024-08-14 23:16:39 +03:00
ospf_ri.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_route.c Merge pull request #14034 from LabNConsulting/aceelindem/ospf_prefix_suppression 2023-07-21 10:14:22 +03:00
ospf_route.h ospfd: Support show intra-area network type in 'show ip ospf route' command 2023-07-18 14:20:05 +08:00
ospf_routemap.c lib, ospfd, yang: add route map set for min/max metric 2023-04-18 00:48:16 -05:00
ospf_routemap_nb.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_routemap_nb.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_routemap_nb_config.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_snmp.c Revert "ospfd: fix some dicey pointer arith in snmp module" 2024-04-23 11:36:14 +02:00
ospf_spf.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_spf.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_sr.c ospfd: Correct invalid SR-MPLS output label 2024-11-23 19:05:25 +01:00
ospf_sr.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
ospf_te.c ospfd: protect call to get_edge() in ospf_te.c 2024-05-23 10:47:34 +02:00
ospf_te.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_ti_lfa.c ospfd: Delete q_space->vertex_list on No Backup Path 2023-08-19 18:38:14 +04:00
ospf_ti_lfa.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_vty.c ospfd: OSPF multi-instance default origination fixes 2024-11-17 13:33:48 +00:00
ospf_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_zebra.c ospfd: OSPF multi-instance default origination fixes 2024-11-17 13:33:48 +00:00
ospf_zebra.h ospfd: OSPF multi-instance default origination fixes 2024-11-17 13:33:48 +00:00
ospfd.c Merge pull request #17319 from opensourcerouting/fix/no_ospf_router-id 2024-11-05 10:19:44 -05:00
ospfd.h *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
subdir.am [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30