mirror_frr/isisd
Renato Westphal 7b36d36e0e isisd: make the SPF code more modular
The goal of modularizing the SPF code is to make it possible for
isisd to run SPF in the behalf of other nodes in the network, which
is going to be necessary later when implementing the R-LFA/TI-LFA
solutions. On top of that, a modularized SPF opens the door for
much needed unit testing.

Summary of the changes:
* Change the isis_spf_preload_tent() function to use the local LSP
  as an input (as per the ISO specification) instead of populating
  the TENT based on the list of local interfaces;
* Introduce the "isis_spf_adj" structure to represent an SPF
  adjacency.  SPF adjacencies are inferred from the LSPDB, different
  from normal adjacencies formed using IIH messages;
* Introduce the F_SPFTREE_NO_ROUTES flag to control whether the
  SPT should create routes or not;
* Introduce the F_SPFTREE_NO_ADJACENCIES flag to specify whether
  IS-IS adjacency information is available or not. When running SPF
  in the behalf of other nodes, or under the context of an unit test,
  no adjacency information will be present.
* On isis_area_create(), move some code around so that the area's isis
  backpointer is set as early as possible.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-08-26 20:16:19 -03:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
AUTHORS Add support of Traffic Engineering to IS-IS 2016-09-03 11:05:50 -04:00
fabricd.c isisd: make the SPF code more modular 2020-08-26 20:16:19 -03:00
fabricd.conf.sample fabricd: add new daemon as build of isisd 2018-09-05 11:38:12 +02:00
fabricd.h *: use the current project name (FRRouting) 2020-03-25 17:38:56 -04:00
isis_adjacency.c isisd: reuse adjacency state change hook in the SPF code 2020-08-26 20:16:19 -03:00
isis_adjacency.h isisd: introduce per-area list of IS-IS adjacencies 2020-08-11 01:07:11 -03:00
isis_bfd.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_bfd.h *: add BFD profile support for IS-IS 2020-07-10 11:28:43 +00:00
isis_bpf.c *: un-split strings across lines 2020-07-14 10:37:25 +02:00
isis_circuit.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_circuit.h isisd: use ISIS_LEVELS instead of hardcoded array sizes whenever possible 2020-08-11 01:05:46 -03:00
isis_cli.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_common.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_constants.h isisd: add send_hello_sched function 2018-12-04 16:13:24 +01:00
isis_csm.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_csm.h *: reindent 2017-07-17 14:04:07 +02:00
isis_dlpi.c *: un-split strings across lines 2020-07-14 10:37:25 +02:00
isis_dr.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_dr.h isisd: reduce code duplication for levels 2018-12-04 12:49:25 +01:00
isis_dynhn.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_dynhn.h isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_errors.c isisd: add support for segment routing 2020-04-30 12:15:47 +02:00
isis_errors.h isisd: add support for segment routing 2020-04-30 12:15:47 +02:00
isis_events.c ISIS VRF: ISIS Debug structure modifications 2020-06-24 14:45:06 +05:30
isis_events.h isisd: Replace isis_event_adjacency_state_change with a hook 2018-10-05 14:05:28 +02:00
isis_flags.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_flags.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_lsp.c isisd: introduce two LSP iteration functions 2020-08-26 20:16:19 -03:00
isis_lsp.h isisd: introduce two LSP iteration functions 2020-08-26 20:16:19 -03:00
isis_main.c isisd: reuse adjacency state change hook in the SPF code 2020-08-26 20:16:19 -03:00
isis_memory.c isisd: unify isis_nexthop and isis_nexthop6 into a single struct 2019-08-21 01:04:03 -03:00
isis_memory.h isisd: unify isis_nexthop and isis_nexthop6 into a single struct 2019-08-21 01:04:03 -03:00
isis_misc.c isisd: minor cleanup 2020-08-26 20:16:19 -03:00
isis_misc.h isisd: minor cleanup 2020-08-26 20:16:19 -03:00
isis_mt.c *: remove PRI[udx](8|16|32) 2020-07-14 10:43:40 +02:00
isis_mt.h *: use the current project name (FRRouting) 2020-03-25 17:38:56 -04:00
isis_nb_config.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_nb_notifications.c isisd: split northbound callbacks into multiple files 2019-10-29 21:49:14 -03:00
isis_nb_state.c isisd, yang: move IS-IS interface state data to the appropriate place 2020-05-15 23:47:43 -03:00
isis_nb.c *: add BFD profile support for IS-IS 2020-07-10 11:28:43 +00:00
isis_nb.h *: add BFD profile support for IS-IS 2020-07-10 11:28:43 +00:00
isis_network.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_pdu_counter.c Minor adjustments to address CI warnings 2018-12-12 00:23:23 +00:00
isis_pdu_counter.h isisd: Provide statistics about sent/received PDU count 2018-12-07 19:45:14 +00:00
isis_pdu.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_pdu.h isisd: Add debug output for tx-queues 2018-12-07 19:45:14 +00:00
isis_pfpacket.c *: un-split strings across lines 2020-07-14 10:37:25 +02:00
isis_redist.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_redist.h isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_route.c isisd: make the SPF code more modular 2020-08-26 20:16:19 -03:00
isis_route.h isisd: add support for segment routing 2020-04-30 12:15:47 +02:00
isis_routemap.c *: make all route_map_rule_cmd const 2019-11-30 00:38:32 +01:00
isis_routemap.h *: reindent 2017-07-17 14:04:07 +02:00
isis_spf_private.h isisd: make the SPF code more modular 2020-08-26 20:16:19 -03:00
isis_spf.c isisd: make the SPF code more modular 2020-08-26 20:16:19 -03:00
isis_spf.h isisd: make the SPF code more modular 2020-08-26 20:16:19 -03:00
isis_sr.c isisd: minor cleanup 2020-08-26 20:16:19 -03:00
isis_sr.h isisd: Start Label Manager safer 2020-06-23 16:36:56 +02:00
isis_te.c isisd: minor cleanup 2020-08-26 20:16:19 -03:00
isis_te.h isisd: Update TLVs processing for TE, RI & SR 2019-09-17 17:35:50 +02:00
isis_tlvs.c isisd: fix OpenBSD pedantic format warnings 2020-07-14 12:02:54 +02:00
isis_tlvs.h isisd: Segment Routing improve subTLVs parser 2020-06-23 19:20:39 +02:00
isis_tx_queue.c ISIS VRF: ISIS Debug structure modifications 2020-06-24 14:45:06 +05:30
isis_tx_queue.h *: use the current project name (FRRouting) 2020-03-25 17:38:56 -04:00
isis_vty_fabricd.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_zebra.c isisd : Transformational changes to support different VRFs. 2020-08-14 13:46:22 -07:00
isis_zebra.h Merge pull request #6451 from Orange-OpenSource/dev_isis_sr 2020-06-24 02:20:12 -03:00
isisd.c isisd: make the SPF code more modular 2020-08-26 20:16:19 -03:00
isisd.conf.sample Isisd is now able to remove addresses from circuit and trigger LSP updates 2004-09-14 13:54:30 +00:00
isisd.h isisd: minor cleanup 2020-08-26 20:16:19 -03:00
iso_checksum.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
iso_checksum.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
Makefile build: non-recursive isisd 2017-08-04 11:09:50 +02:00
README More cleanup in isisd. 2005-01-01 21:12:56 +00:00
subdir.am isisd: add support for segment routing 2020-04-30 12:15:47 +02:00

Constraints

  o Maximum number of interfaces 255