diff options
author | Renato Westphal <renato@opensourcerouting.org> | 2019-01-04 22:08:10 +0100 |
---|---|---|
committer | Renato Westphal <renato@opensourcerouting.org> | 2019-01-18 19:15:41 +0100 |
commit | dde7b15b83513b5883378ba1d4f2298ef451450b (patch) | |
tree | 2130501acfc20fe071d92ee93ee4cd75eec17998 /yang | |
parent | ripd: add vrf input parameter to the "clear-rip-route" RPC (diff) | |
download | frr-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.yang | 11 |
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"; |