summaryrefslogtreecommitdiff
path: root/yang/frr-ripd.yang
AgeCommit message (Collapse)Author
2023-05-04ripd: Implement `allow-ecmp X` commandDonatas Abraitis
Allow setting an arbitrary number of paths to be installed instead of ALL. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-04-19ripd: support BFD integrationRenato Westphal
Implement RIP peer monitoring with BFD. RFC 5882 Generic Application of Bidirectional Forwarding Detection (BFD), Section 10.3 Interactions with RIP. Co-authored-by: Renato Westphal <renato@opensourcerouting.org> Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-04-11ripd: adapt to new YANG NB if_rmap conversionChristian Hopps
- uses YANG grouping and calls if_rmap library code to implement. Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-07ripd: yang: extend nexthops functionality in YANG model - skeletonChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-06yang: fix YANG lintChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-02-09yang: add SPDX License IDsDavid Lamparter
YANG files get to keep their license boilerplate in addition to the SPDX header, since they are likely to be copied around individually. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
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>
2020-09-17yang: use leafref instead of stringIgor Ryzhov
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2020-08-07build, yang: bump libyang minimum required version to 1.0.184Renato Westphal
It's time to say good bye to libyang 0.16.105. The recently released libyang 1.0.184 includes numerous bug fixes and performance improvements that we need. Despite the major version bump from 0.x to 1.x, the libyang API is the same except for a single backward-incompatible change in the user types interface (which we're currently not using). Hence no code changes were necessary to adapt FRR to libyang 1.x. This commit also reintroduces some leafrefs that needed to be removed from our YANG modules due to a bug that was present on libyang 0.16.105. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-05-04yang: adopt the BSD-2-Clause license for our YANG modulesRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-04-08yang: Temp change interface type to string to allow configurationDonald Sharp
Temporarily change the interface types in rip and ripng to strings to allow us to work, since the yang uplift to 1.0 is proving difficult. Signed-off-by: Donald Sharp sharpd@cumulusnetworks.com>
2020-03-25*: use the current project name (FRRouting)Lou Berger
Signed-off-by: Lou Berger <lberger@labn.net>
2019-09-10yang: create interface reference typeQuentin Young
Instead of copy-pasting a 16 character string type for use as an interface reference, create a new typedef that leafref's the name node of an interface. This way the constraints change with the constraints on an interface name itself, and it's self documenting. Incidentally ripd and ripngd forgot the 16 character constraint in their offset-list configs and IS-IS forgot it entirely, so this also fixes minor bugs. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-01-18ripd: add vrf input parameter to the "clear-rip-route" RPCRenato Westphal
Description of the new parameter (adapted from the ietf-rip module): "VRF name identifying a specific RIP instance. This leaf is optional for the rpc. If it is specified, the rpc will clear all routes in the specified RIP instance; if it is not specified, the rpc will clear all routes in all RIP instances."; Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2019-01-18ripd: make YANG operational-data VRF aware tooRenato Westphal
Move the "state" container into the "instance" list and adapt the code accordingly. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2019-01-18ripd: add VRF supportRenato Westphal
* Turn the "instance" YANG presence-container into a YANG list keyed by the new "vrf" leaf. This is a backward incompatible change but this should be ok for now. * RIP VRF instances can be configured even when the corresponding VRF doesn't exist. And a RIP VRF instance isn't deleted when the corresponding VRF is deleted. For this to work, implement the rip_instance_enable() and rip_instance_disable() functions that are called to enable/disable RIP routing instances when necessary. A RIP routing instance can be enabled only when the corresponding VRF is enabled (this information comes from zebra and depends on the underlying VRF backend). Routing instances are stored in the new rip_instances rb-tree (global variable). * Add a vrf pointer to the rip structure instead of storing vrf_id only. This is much more convenient than using vrf_lookup_by_id() every time we need to get the vrf pointer from the VRF ID. The rip->vrf pointer is updated whenever the VRF enable/disable hooks are called. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-10-27yang, ripd: add 'frr-ripd.yang' and associated stub callbacksRenato Westphal
Introduce frr-ripd.yang, which defines a model for managing the FRR ripd daemon. Also add frr-route-types.yang which defines typedefs for FRR route types. Update the 'frr_yang_module_info' array of ripd with the new 'frr-ripd' module. Add two new files (rip_cli.[ch]) which should contain all ripd commands converted to the new northbound model. Centralizing all commands in a single place will facilitate the process of moving the CLI to a separate program in the future. Add automatically generated stub callbacks in rip_northbound.c. These callbacks will be implemented gradually in the following commits. Add example JSON/XML ripd configurations in yang/examples/. Add the confd.frr-ripd.yang YANG module with annotations specific to the ConfD daemon. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>