diff options
Diffstat (limited to 'tools/pyang_plugins')
-rw-r--r-- | tools/pyang_plugins/gobgp.yang | 93 |
1 files changed, 91 insertions, 2 deletions
diff --git a/tools/pyang_plugins/gobgp.yang b/tools/pyang_plugins/gobgp.yang index 9022d680..053ef0a0 100644 --- a/tools/pyang_plugins/gobgp.yang +++ b/tools/pyang_plugins/gobgp.yang @@ -618,6 +618,90 @@ module gobgp { } } } + grouping gobgp-vrf-common { + description + "Common parameters for VRF configuration and state."; + + leaf name { + description + "Unique name among all VRF instances."; + type string; + } + + leaf id { + description + "Unique identifier among all VRF instances."; + type uint32; + } + + leaf rd { + description + "Route Distinguisher for this VRF."; + type string; + } + + leaf-list import-rt { + description + "List of import Route Targets for this VRF."; + type string; + } + + leaf-list export-rt { + description + "List of export Route Targets for this VRF."; + type string; + } + } + + grouping gobgp-vrf-config { + description + "Configuration parameters for VRF."; + + leaf-list both-rt { + description + "List of both import and export Route Targets for this VRF. Each + configuration for import and export Route Targets will be preferred."; + type string; + } + } + + grouping gobgp-vrf-set { + description "Set of VRF instance configuration and state"; + + container config { + description + "Configuration parameters for VRF."; + uses gobgp-vrf-common; + uses gobgp-vrf-config; + } + + container state { + description + "Configured states of VRF."; + uses gobgp-vrf-common; + } + } + + grouping gobgp-vrfs { + description + "Virtual Routing and Forwarding (VRF) instances."; + + container vrfs { + list vrf { + description + "VRF instance configurations on the local system."; + + key "name"; + leaf name { + type leafref { + path "../config/name"; + } + } + + uses gobgp-vrf-set; + } + } + } grouping long-lived-graceful-restart { container long-lived-graceful-restart { @@ -1025,15 +1109,20 @@ module gobgp { } augment "/bgp:bgp" { - description "additional rpki configuration and state"; + description "Additional RPKI configuration and state"; uses gobgp-rpki-servers; } augment "/bgp:bgp" { - description "additional bmp configuration"; + description "Additional BMP configuration and state"; uses gobgp-bmp-servers; } + augment "/bgp:bgp" { + description "Additional VRF configuration and state"; + uses gobgp-vrfs; + } + typedef mrt-type { type enumeration { enum UPDATES { |