summaryrefslogtreecommitdiffhomepage
path: root/tools/pyang_plugins
diff options
context:
space:
mode:
Diffstat (limited to 'tools/pyang_plugins')
-rw-r--r--tools/pyang_plugins/gobgp.yang93
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 {