summaryrefslogtreecommitdiffstats
path: root/yang
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2019-01-04 22:08:10 +0100
committerRenato Westphal <renato@opensourcerouting.org>2019-01-18 19:15:41 +0100
commitdde7b15b83513b5883378ba1d4f2298ef451450b (patch)
tree2130501acfc20fe071d92ee93ee4cd75eec17998 /yang
parentripd: add vrf input parameter to the "clear-rip-route" RPC (diff)
downloadfrr-dde7b15b83513b5883378ba1d4f2298ef451450b.tar.xz
frr-dde7b15b83513b5883378ba1d4f2298ef451450b.zip
ripngd: add VRF support
* 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. * RIPng VRF instances can be configured even when the corresponding VRF doesn't exist. And a RIPng VRF instance isn't deleted when the corresponding VRF is deleted. For this to work, implement the ripng_instance_enable() and ripng_instance_disable() functions that are called to enable/disable RIPng routing instances when necessary. A RIPng 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 ripng_instances rb-tree (global variable). * Add a vrf pointer to the ripng 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 ripng->vrf pointer is updated whenever the VRF enable/disable hooks are called. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'yang')
-rw-r--r--yang/frr-ripngd.yang11
1 files changed, 8 insertions, 3 deletions
diff --git a/yang/frr-ripngd.yang b/yang/frr-ripngd.yang
index 0cc5f18a5..5d6d61564 100644
--- a/yang/frr-ripngd.yang
+++ b/yang/frr-ripngd.yang
@@ -33,13 +33,18 @@ module frr-ripngd {
container ripngd {
/*
- * Global configuration data
+ * Routing instance configuration.
*/
- container instance {
- presence "Present if the RIPng protocol is enabled.";
+ list instance {
+ key "vrf";
description
"RIPng routing instance.";
+ leaf vrf {
+ type string;
+ description
+ "VRF name.";
+ }
leaf allow-ecmp {
type boolean;
default "false";