summaryrefslogtreecommitdiff
path: root/isisd/isis_nb_config.c
AgeCommit message (Collapse)Author
2023-04-18isisd: add isis flex-algo configuration backendHiroki Shirokura
Add the backend functions for the flex-algo configuration. Signed-off-by: Hiroki Shirokura <hiroki.shirokura@linecorp.com> Signed-off-by: Eric Kinzie <ekinzie@labn.net> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-18lib,vtysh,isisd,yang: algo cli/yang/callbacksHiroki Shirokura
Define the IS-IS flex-algo structure in yang, the CLI configuration commands and the skeletons of frontend and backend functions that are called by the CLI code. Signed-off-by: Hiroki Shirokura <hiroki.shirokura@linecorp.com> Signed-off-by: Eric Kinzie <ekinzie@labn.net> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-18isisd,yang: add algorithm-prefix-sid configuration treeHiroki Shirokura
Add the ability to configure a Segment-Routing prefix SID for a given algorithm. For example: > segment-routing prefix 10.10.10.10/32 algorithm 128 index 100 Signed-off-by: Hiroki Shirokura <hiroki.shirokura@linecorp.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-17isisd: update struct sr_prefix_cfg with algorithm idHiroki Shirokura
The information in prefix-sid has a new property called algorithm id. This is used to identify the algorithm that separates it in the same IGP network. This is used in Flex-Algo.In all other cases, the algorithm id is basically 0. Signed-off-by: Hiroki Shirokura <hiroki.shirokura@linecorp.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-11Merge pull request #13163 from isabelladeleon12/isis_log_dropsRuss White
isisd: Add support for log-pdu-drops
2023-04-04isisd: Add log-pdu-drops CLI/YANG supportIsabella de Leon
New config functionality: r1# conf r1(config)# router isis 1 r1(config-router)# log- log-adjacency-changes Log changes in adjacency state log-pdu-drops Log any dropped PDUs r1(config-router)# log-pdu-drops r1(config-router)# end Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2023-03-21isisd: Update to the new printfrr ISO formatOlivier Dugeon
This path replaces isisd_format_id, sysid_print, snpa_print, rawlspid_print and isonet_print functions by the new printfrr ISO System ID & Network Address format facilities. It also updates the isisd code to the new iso_address structure defined in lib/iso.h Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2023-03-20Merge pull request #12688 from dorDiogo/isis_hello_padding_sometimesRuss White
isisd: Add support for IS-IS hello padding during-adjacency-formation
2023-02-28isisd: Add advertise-high-metrics CLI/YANG support, modify show outputIsabella de Leon
New config and show functionality: r1# conf r1(config)# router isis 1 r1(config-router)# advertise-high-metrics Advertise high metric value on all interfaces area-password Configure the authentication password for an area ... r1(config-router)# advertise-high-metrics r1(config-router)# end r1# show isis summary ... Area 1: Net: 49.0001.1720.1700.0002.00 TX counters per PDU type: L2 IIH: 1 P2P IIH: 36 LSP RXMT: 0 RX counters per PDU type: Advertise high metrics: Enabled Level-2: ... r1# conf r1(config)# router isis 1 r1(config-router)# no advertise-high-metrics r1(config-router)# end r1# show isis summary ... Area 1: Net: 49.0001.1720.1700.0002.00 TX counters per PDU type: L2 IIH: 1 P2P IIH: 45 LSP RXMT: 0 RX counters per PDU type: Advertise high metrics: Disabled Level-2: ... r1# Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2023-02-28isisd: Add support for isis hello padding sometimesDiogo Oliveira
New configuration to pad ISIS hello packets during adjacency formation only. Signed-off-by: Diogo Oliveira <14191454+dorDiogo@users.noreply.github.com>
2023-02-22isisd,doc: Add support for isis advertise-passive-onlyDiogo Oliveira
Signed-off-by: Diogo Oliveira <14191454+dorDiogo@users.noreply.github.com>
2023-02-09*: auto-convert to SPDX License IDsDavid Lamparter
Done with a combination of regex'ing and banging my head against a wall. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-10-13Merge pull request #11980 from isabelladeleon12/set_overload_startupRuss White
isisd: Add support for set-overload on-startup
2022-10-12isisd: Add expected behavior with set-overload-bitIsabella de Leon
Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2022-09-21isisd: Add set-overload on-startup CLI/YANG supportIsabella de Leon
Before: r1# conf r1(config)# router isis <area-tag> r1(config-router)# set-overload-bit <cr> r1(config-router)# end After: r1# conf r1(config)# router isis <area-tag> r1(config-router)# set-overload-bit <cr> on-startup Set overload bit on startup r1(config-router)# set-overload-bit on-startup (0-86400) Set overload time in seconds r1(config-router)# set-overload-bit on-startup 300 r1(config-router)# end Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2022-09-20isisd: Fix memory leak on shutdown with prefix listsDonald Sharp
==2623619== ==2623619== 6 bytes in 1 blocks are definitely lost in loss record 3 of 75 ==2623619== at 0x483877F: malloc (vg_replace_malloc.c:307) ==2623619== by 0x4B55E4A: strdup (strdup.c:42) ==2623619== by 0x493C992: qstrdup (memory.c:128) ==2623619== by 0x1A9212: isis_instance_fast_reroute_level_1_remote_lfa_prefix_list_modify (isis_nb_config.c:1599) ==2623619== by 0x494837C: nb_callback_modify (northbound.c:1083) ==2623619== by 0x4948C6E: nb_callback_configuration (northbound.c:1352) ==2623619== by 0x494919D: nb_transaction_process (northbound.c:1473) ==2623619== by 0x4947DA9: nb_candidate_commit_apply (northbound.c:906) ==2623619== by 0x4947EBA: nb_candidate_commit (northbound.c:938) ==2623619== by 0x494EB9E: nb_cli_classic_commit (northbound_cli.c:64) ==2623619== by 0x494F3DC: nb_cli_apply_changes_internal (northbound_cli.c:250) ==2623619== by 0x494F4E2: nb_cli_apply_changes (northbound_cli.c:268) ==2623619== by 0x1BEF0F: isis_frr_remote_lfa_plist_magic (isis_cli.c:1899) ==2623619== by 0x1B7636: isis_frr_remote_lfa_plist (isis_cli_clippy.c:3406) ==2623619== by 0x48EBA75: cmd_execute_command_real (command.c:997) ==2623619== by 0x48EBD4E: cmd_execute_command_strict (command.c:1108) ==2623619== by 0x48EC1E6: command_config_read_one_line (command.c:1268) ==2623619== by 0x48EC35B: config_from_file (command.c:1313) ==2623619== by 0x4999CC1: vty_read_file (vty.c:2347) ==2623619== by 0x499A4AF: vty_read_config (vty.c:2567) ==2623619== by 0x4924B12: frr_config_read_in (libfrr.c:984) ==2623619== by 0x498F5E3: thread_call (thread.c:2008) ==2623619== by 0x49253DA: frr_run (libfrr.c:1198) ==2623619== by 0x14FC53: main (isis_main.c:273) Fix this memory leak Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-09-02isisd: Correct Valgrind errorsOlivier Dugeon
Runing most of isisd tests with --valgrind-memleaks give many memory errors. This is due to the way isisd is stopped: performing a "no router isis XXX" through CLI solves most of them. Indeed, isis_finish() doesn't call isis_area_destroy() leaving many allocated memory unfreed. This patch adds call to appropriate delete function or XFREE() when necessary to properly free all alocated memory before terminating isisd. Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2022-06-02isisd: replace ipv4-unicast with standard in config and oper contextsPhilippe Guibert
Only the multi-topology command can use 'ipv4-unicast' keyword to configure standard topology. The remaining code: dump from show commands, and yang definition, uses 'standard' keyword instead. The test have not been modified. The change would consists in modifying test_fuzz_isis_tlv_tests.h.gz: - replacing ipv4-unicast occurences with standard \x69\x70\x76\x34\x2d\x75\x6e\x69\x63\x61\x73\x74 with \x73\x74\x61\x6e\x64\x61\x72\x64 - align the buffer length by removing 4 bytes per occurence Instead, a specific isis_mtid2str_fake() routing has been put in place in isis_tlvs.c file. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-04-18isisd: Fix crash in ISIS when mtu mismatch occurslynnemorrison
When lsp-mtu is configured larger than interface mtu and the interface is brought up, the ISIS code would crash. When other vendors have this misconfiguration they just continue ISIS running and allow the LSP packets to be created but not sent. When the misconfiguration is corrected the LSP packets start being sent. This change creates that same behavior in FRR. The startup issue I am hitting is when the isis lsp-mtu is larger that the interfaces mtu. We run into this case when we are in the process of changing the mtu on a tunnel. I issue a shutdown/no shutdown on the interface, because the tunnel MTU is smaller than the lsp-mtu, it is considered an error and calls circuit_if_del. This deletes part of the circuit information, which includes the circuit->ip_addr list. Later on we get an address update from zebra and try to add the interface address to this list and crash. 2022/04/07 20:19:52.032 ISIS: [GTRPJ-X68CG] CSM_EVENT for tun_gw2: IF_UP_FROM_Z calls isis_circuit_if_add this initialize the circuit->ip_addrs isis_circuit_up has the mtu check circuit->area->lsp_mtu > isis_circuit_pdu_size(circuit) and fails returns ISIS_ERROR on failure call isis_circuit_if_del this deletes the circiut->ip_addrs list <---- 2022/04/07 20:19:52.032 ZEBRA: [NXYHN-ZKW2V] zebra_if_addr_update_ctx: INTF_ADDR_ADD: ifindex 3, addr 192.168.0.1/24 message to isisd to add address isis_zebra_if_address_add isis_circuit_add_addr circuit->ip_addr we try to add the ip address to the list, but it was deleted above and isisd crashes Signed-off-by: Lynne Morrison <lynne.morrison@ibm.com>
2022-03-31isisd, lib, ospfd, pathd: Null out free'd pointerDonald Sharp
The commands: router isis 1 mpls-te on no mpls-te on mpls-te on no mpls-te on ! Will crash Valgrind gives us this: ==652336== Invalid read of size 8 ==652336== at 0x49AB25C: typed_rb_min (typerb.c:495) ==652336== by 0x4943B54: vertices_const_first (link_state.h:424) ==652336== by 0x493DCE4: vertices_first (link_state.h:424) ==652336== by 0x493DADC: ls_ted_del_all (link_state.c:1010) ==652336== by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871) ==652336== by 0x495BE20: nb_callback_destroy (northbound.c:1131) ==652336== by 0x495B5AC: nb_callback_configuration (northbound.c:1356) ==652336== by 0x4958127: nb_transaction_process (northbound.c:1473) ==652336== by 0x4958275: nb_candidate_commit_apply (northbound.c:906) ==652336== by 0x49585B8: nb_candidate_commit (northbound.c:938) ==652336== by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64) ==652336== by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250) ==652336== Address 0x6f928e0 is 272 bytes inside a block of size 320 free'd ==652336== at 0x48399AB: free (vg_replace_malloc.c:538) ==652336== by 0x494BA30: qfree (memory.c:141) ==652336== by 0x493D99D: ls_ted_del (link_state.c:997) ==652336== by 0x493DC20: ls_ted_del_all (link_state.c:1018) ==652336== by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871) ==652336== by 0x495BE20: nb_callback_destroy (northbound.c:1131) ==652336== by 0x495B5AC: nb_callback_configuration (northbound.c:1356) ==652336== by 0x4958127: nb_transaction_process (northbound.c:1473) ==652336== by 0x4958275: nb_candidate_commit_apply (northbound.c:906) ==652336== by 0x49585B8: nb_candidate_commit (northbound.c:938) ==652336== by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64) ==652336== by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250) ==652336== Block was alloc'd at ==652336== at 0x483AB65: calloc (vg_replace_malloc.c:760) ==652336== by 0x494B6F8: qcalloc (memory.c:116) ==652336== by 0x493D7D2: ls_ted_new (link_state.c:967) ==652336== by 0x47E4DD: isis_instance_mpls_te_create (isis_nb_config.c:1832) ==652336== by 0x495BB29: nb_callback_create (northbound.c:1034) ==652336== by 0x495B547: nb_callback_configuration (northbound.c:1348) ==652336== by 0x4958127: nb_transaction_process (northbound.c:1473) ==652336== by 0x4958275: nb_candidate_commit_apply (northbound.c:906) ==652336== by 0x49585B8: nb_candidate_commit (northbound.c:938) ==652336== by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64) ==652336== by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250) ==652336== by 0x495D23E: nb_cli_apply_changes (northbound_cli.c:268) Let's null out the pointer. After this change. Valgrind no longer reports issues and isisd no longer crashes. Fixes: #10939 Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-01-18isisd: Log messages should not have newlines in them.Donald Sharp
Fixes the compile failing because log messages were introduced with newlines where in them. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-11-30isisd: Add Link State Traffic Engineering supportOlivier Dugeon
Add Link State TED features to isis_te.c and new CLI to export LS TED and show LS TED to IS-IS. IS-IS LSPs are parse each time a new LSP event occurs in order to update accordingly the Link State Traffic Engineering Database. LS TED could be exported through the ZAPI Opaque message (see sharpd as example). Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2021-11-30isisd: Add support for RFC6119 (IPv6 TE in IS-IS)Olivier Dugeon
- Add advertisement of Global IPv6 address in IIH pdu - Add new CLI to set IPv6 Router ID - Add advertisement of IPv6 Router ID - Correctly advertise IPv6 local and neighbor addresses in Extended IS and MT Reachability TLVs - Correct output of Neighbor IPv6 address in 'show isis database detail' - Manage IPv6 addresses advertisement and corresponiding Adjacency SID when IS-IS is not using Multi-Topology by introducing a new ISIS_MT_DISABLE value for mtid (== 4096 i.e. first reserved flag set to 1) Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2021-11-22*: cleanup ifp->vrf_idIgor Ryzhov
Since f60a1188 we store a pointer to the VRF in the interface structure. There's no need anymore to store a separate vrf_id field. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-30isisd: fix circuit is-type configurationIgor Ryzhov
Currently, we have a lot of checks in CLI and NB layer to prevent incompatible IS-types of circuits and areas. All these checks become completely meaningless when the interface is moved between VRFs. If the area IS-type is different in the new VRF, previously done checks mean nothing and we still end up with incorrect circuit IS type. To actually prevent incorrect IS type, all checks must be done in the processing code. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-30isisd: simplify check to forbid area-tag modificationIgor Ryzhov
We can simply check whether the circuit exists already – if it exists, then we forbid the area-tag modification. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-30isisd: remove useless checks when configuring ldp-syncIgor Ryzhov
We have checks on NB validation stage to prevent configuring LDP sync on interfaces in non-default VRFs. These checks are completely useless, because the interface can be easily moved to another VRF after configuring LDP sync. Instead, the check must be done in the actual code to cover the case when the interface is moved between VRFs. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-30isisd: remove useless checks when configuring passive interfacesIgor Ryzhov
Currently, we have some checks in the CLI and NB layer to "protect" from setting loopback interfaces into non-passive mode. These checks are not correct, because we can not rely on operational data during config reading and validation stage as this data doesn't exist yet. There's nothing wrong in allowing "incorrect" configuration – it is already correctly handled by the actual code. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-23isisd: fix interface ldp-sync configurationIgor Ryzhov
There are two checks done when configuring ldp-sync on an interface: - interface is not a loopback - interface is in the default VRF Both checks are incorrectly done using the operational data. The second check can be done using only config data - do that. The first check can't be done using only configurational data, but it's not necessary. LDP sync code doesn't operate on loopback interfaces already. There's no harm in allowing this to be configured. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-23isisd: fix instance ldp-sync configurationIgor Ryzhov
Don't rely on operational data to validate that configuration is applied to the default VRF. The VRF name is stored in the config - use it instead. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-06-23isisd: fix NET NB configurationIgor Ryzhov
Don't rely on operational data to check for system ID consistency. This is purely configurational data thing. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-28isisd: fix using vrf interface as a loopbackIgor Ryzhov
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-14isisd: fix dangling instancesIgor Ryzhov
We only need an instance when we have at least one area configured in a VRF. Currently we have the following issues: - instance for the default VRF is always created - instance is not removed after the last area config is removed This commit fixes both issues. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-13lib: adapt to version 2 of libyangChristian Hopps
Compile with v2.0.0 tag of `libyang2` branch of: https://github.com/CESNET/libyang staticd init load time of 10k routes now 6s vs ly1 time of 150s Signed-off-by: Christian Hopps <chopps@labn.net>
2021-05-07isisd: rework BFD integrationIgor Ryzhov
Rewrite the BFD integration code to use the new library. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-03isisd: link protection optional fallback in ti-lfaFredi Raspall
The current implementation of TI-LFA computes link-protecting repair paths (even when node protection is enabled) to have repair paths to all destinations when no node-protecting repair has been found. This may be desired or not. E.g. the link-protecting paths may use the protected node and be, therefore, useless if the node fails. Also, computing link-protecting repairs incurs extra calculations. With this patch, when node protection is enabled, link protecting repair paths are only computed if "link-fallback" is specified in the configuration, on a per interface and IS-IS level. Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2021-04-29isisd: move ldp-sync checks from cli to nb callbacksIgor Ryzhov
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-29isisd, yang: remove vrf leaf from isis interface nodeIgor Ryzhov
This is very confusing and incorrect. We can and should use vrf leaf of the interface itself instead. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-29isisd: fix ldp-sync configurationIgor Ryzhov
YANG model and CLI commands allow user to configure LDP-sync per area. But the actual implementation is incorrect - all commands are changing the config for the whole VRF instead of a single area. This commit fixes this issue by actually implementing per area configuration. Fixes #8578. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-29isisd: allow arbitrary order of area/interface configurationIgor Ryzhov
Currently we don't allow to configure the interface before the area is configured. This approach has the following issues: 1. The area config can be deleted even when we have an interface config relying on it. The code is not ready for that - we'll have a whole bunch of stale pointers if user does that. 2. The code doesn't correctly process the event of changing the VRF for an interface. There is no mechanism to ensure that the area exists in the new VRF so currently the circuit still stays in the old VRF. This commit allows an arbitrary order of area/interface configuration. There is no more need to configure the area before configuring the interface. This change fixes both the issues. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-24Merge pull request #8250 from idryzhov/fix-nb-running-get-entryRenato Westphal
Fix aborts when using nb_running_get_entry during validation stage
2021-03-22isisd: kill isis_memory.h, use MTYPE_STATICDavid Lamparter
Convert most DEFINE_MTYPE into the _STATIC variant, and move the remaining non-static ones to appropriate places. Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-16*: fix aborts when validating configurationIgor Ryzhov
There are places in the code where function nb_running_get_entry is used with abort_if_not_found set to true during the config validation stage. This is incorrect because when used in transactional CLI, the running entry won't be set until the apply stage, and such usage leads to crash. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-10isisd, yang, doc: combine config cmd for SRGB+SRLBEmanuele Di Pascale
when changing both ranges at the same time the order of the commands matters, as we need to make sure that the intermediate state is valid. This represents a problem when pushing configuration via frr-reload. To fix this, the global-block command was extended to optionally allow setting the local-block range as well. The local-block command is deprecated with a 1-year notice. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-01-20isisd: Fix Attach-bit processinglynne
The purpose of the Attach-bit is to accomplish inter-area routing. In other venders, the Attached-bit is automatically set when a router is configured as a L1|L2 router and has two adjacencies. When a L1 router receives a LSP with the Attached-bit set it is supposed to create a default route pointing toward the neighbor to provide a default path out of the L1 area. ISIS implementation has been fixed to support the above definition: Setting the Attach-bit is now the default behavior and we allow the user to turn it off. We will only set the Default Attach-bit when creating a L1 LSP, if we are a L1|L2 router and have a L2 adjacency up. When a L1 router receives a LSP with the Attach-bit set, we will create a default route pointing to the L1|L2 router as the nexthop. The default route will be removed if the LSP is received with the Attach-bit cleared. Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-01-12Merge pull request #7707 from opensourcerouting/isisd-rlfaOlivier Dugeon
isisd, ldpd: add Remote LFA support
2021-01-08isisd: implement Remote LFARenato Westphal
Remote LFA (RFC 7490) is an extension to the base LFA mechanism that uses dynamically determined tunnels to extend the IP-FRR protection coverage. RLFA is similar to TI-LFA in that it computes a post-convergence SPT (with the protected interface pruned from the network topology) and the P/Q spaces based on that SPT. There are a few differences however: * RLFAs can push at most one label, so the P/Q spaces need to intersect otherwise the destination can't be protected (the protection coverage is topology dependent). * isisd needs to interface with ldpd to obtain the labels it needs to create a tunnel to the PQ node. That interaction needs to be done asynchronously to prevent blocking the daemon for too long. With TI-LFA all required labels are already available in the LSPDB. RLFA and TI-LFA have more similarities than differences though, and thanks to that both features share a lot of code. Limitations: * Only RLFA link protection is implemented. The algorithm used to find node-protecting RLFAs (RFC 8102) is too CPU intensive and doesn't always work. Most vendors implement RLFA link protection only. * RFC 7490 says it should be a local matter whether the repair path selection policy favors LFA repairs over RLFA repairs. It might be desirable, for instance, to prefer RLFAs that satisfy the downstream condition over LFAs that don't. In this implementation, however, RLFAs are only computed for destinations that can't be protected by local LFAs. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-01-08yang, isisd: add RLFA nodes, skeleton callbacks and CLI commandsRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-01-08isisd: When last area address is removed, resign if we were DRKaren Schoener
When last area address is removed, resign if we were DR. This fixes an issue where: when the ISIS area address is changed, ISIS fails to elect a new DR. Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-12-09ldpd, isisd, ospfd: Remove periodic ldp-sync hello messageKaren Schoener
Removing the obsolete ldp-sync periodic 'hello' message. When ldp-sync is configured, IGPs take action if the LDP process goes down. The IGPs have been updated to use the zapi client close callback to detect the LDP process going down. Signed-off-by: Karen Schoener <karen@voltanet.io>