From 85bb733513da2630e910bbc981fe94f7ee8ec8e1 Mon Sep 17 00:00:00 2001 From: Chirag Shah Date: Thu, 5 Dec 2019 20:47:01 -0800 Subject: [PATCH] yang: add vrf model module: frr-vrf +--rw lib +--rw vrf* [name] +--rw name string +--ro id? uint32 +--ro active? boolean +--rw netns {netns}? +--rw name? string Signed-off-by: Chirag Shah --- yang/frr-vrf.yang | 75 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 yang/frr-vrf.yang diff --git a/yang/frr-vrf.yang b/yang/frr-vrf.yang new file mode 100644 index 0000000000..40ead7e79c --- /dev/null +++ b/yang/frr-vrf.yang @@ -0,0 +1,75 @@ +module frr-vrf { + yang-version 1.1; + namespace "http://frrouting.org/yang/vrf"; + prefix frr-vrf; + + organization + "Free Range Routing"; + contact + "FRR Users List: + FRR Development List: "; + description + "This module defines a model for managing FRR VRF."; + + revision 2019-12-06 { + description + "Initial revision."; + } + + /* + * Network namespace feature + */ + feature netns { + description "Abstracts network namespace as VRF."; + } + + container lib { + list vrf { + key "name"; + description + "VRF."; + leaf name { + type string { + length "1..36"; + } + description + "VRF name."; + } + + leaf id { + type uint32 { + range "0..4294967295"; + } + config false; + description + "VRF Id."; + } + + leaf active { + type boolean; + default "false"; + config false; + description + "VRF active in kernel."; + } + + container netns { + if-feature "netns"; + leaf name { + type string; + description + "Namespace name."; + } + } + } + } + + typedef vrf-ref { + type leafref { + require-instance false; + path "/frr-vrf:lib/frr-vrf:vrf/frr-vrf:name"; + } + description + "Reference to a VRF"; + } +} -- 2.39.5