aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-isis-routing.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-isis-routing.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-isis-routing.yang384
1 files changed, 384 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-isis-routing.yang b/src/plugins/yang/openconfig/openconfig-isis-routing.yang
new file mode 100644
index 0000000..84e7a7a
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-isis-routing.yang
@@ -0,0 +1,384 @@
+submodule openconfig-isis-routing {
+
+ belongs-to openconfig-isis {
+ prefix "oc-isis";
+ }
+
+ // import some basic types
+ import openconfig-isis-types { prefix oc-isis-types; }
+ import openconfig-extensions { prefix oc-ext; }
+ import openconfig-mpls-types { prefix oc-mplst; }
+ import openconfig-segment-routing { prefix oc-sr; }
+
+ // meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module describes YANG model for ISIS Routing";
+
+ oc-ext:openconfig-version "0.4.0";
+
+ revision "2018-05-14" {
+ description
+ "Update LSDB model to correct Extended IS reach TLV
+ bug. This change is backwards incompatible due to
+ adding an additional level of hierarchy to support
+ multiple instances of the TLV.";
+ reference "0.4.0";
+ }
+
+ revision "2017-07-26" {
+ description
+ "Update LSDB and fix bugs.";
+ reference "0.3.2";
+ }
+
+ revision "2017-05-15" {
+ description
+ "Refactor LSDB.";
+ reference "0.3.0";
+ }
+
+ revision "2017-01-13" {
+ description
+ "Remove top-level /isis container";
+ reference "0.2.1";
+ }
+
+ revision "2016-12-15" {
+ description
+ "Add segment routing to IS-IS module";
+ reference "0.2.0";
+ }
+
+ revision "2016-10-18" {
+ description
+ "Initial revision of IS-IS models.";
+ reference "0.1.0";
+ }
+
+ // extension statements
+
+ // feature statements
+
+ // identity statements
+
+ // typedef statements
+
+ // grouping statements
+
+ grouping rt-admin-config {
+ description
+ "Re-usable grouping to enable or disable a particular IS-IS feature.";
+
+ leaf enabled {
+ type boolean;
+ description
+ "When set to true, the functionality within which this leaf is
+ defined is enabled, when set to false it is explicitly disabled.";
+ }
+ }
+
+ grouping isis-afi-safi-config {
+ description
+ "This grouping defines Address-Family configuration parameters";
+
+ leaf afi-name {
+ type identityref {
+ base oc-isis-types:AFI_TYPE;
+ }
+ description
+ "Address-family type.";
+ }
+
+ leaf safi-name {
+ type identityref {
+ base oc-isis-types:SAFI_TYPE;
+ }
+ description
+ "Subsequent address-family type.";
+ }
+ }
+
+ grouping isis-shortcuts-afi-config {
+ description
+ "This grouping defines ISIS Shortcuts configuration parameters";
+
+ leaf afi-name {
+ type identityref {
+ base oc-isis-types:AFI_TYPE;
+ }
+ description "Address-family type.";
+ }
+
+ leaf-list nh-type {
+ type identityref {
+ base oc-mplst:PATH_SETUP_PROTOCOL;
+ }
+ description "Tunnel NH Type(RSVP,SR). When present it implies
+ that nh-type shortcut is enabled for a specified AFI.";
+ }
+ }
+
+ grouping isis-shortcuts-config {
+ description
+ "This grouping defines ISIS Shortcuts consfiguration parameters";
+
+ container config {
+ description "This container defines ISIS shortcuts configuration.";
+ uses rt-admin-config;
+ }
+
+ container state {
+ config false;
+ description "This container defines state for ISIS shortcuts.";
+ uses rt-admin-config;
+ }
+ }
+
+ grouping isis-mt-config {
+ description
+ "This grouping defines ISIS multi-topology configuration parameters";
+
+ leaf afi-name {
+ type identityref {
+ base oc-isis-types:AFI_TYPE;
+ }
+ description
+ "Address-family type.";
+ }
+ leaf safi-name {
+ type identityref {
+ base oc-isis-types:SAFI_TYPE;
+ }
+ description
+ "Subsequent address-family type.";
+ }
+ //prefer single topology
+ }
+
+
+
+ // *********** STRUCTURE GROUPINGS **********************
+
+ grouping isis-metric-config {
+ description
+ "This grouping defines ISIS metric configuration";
+
+ leaf metric {
+ type uint32;
+ default 10;
+ description "ISIS metric value(default=10).";
+ }
+ }
+
+ grouping isis-afi-safi-list {
+ description
+ "This grouping defines address-family configuration and state
+ information";
+
+ list af {
+ key "afi-name safi-name";
+
+ description
+ "Address-family/Subsequent Address-family list.";
+
+ leaf afi-name {
+ type leafref {
+ path "../config/afi-name";
+ }
+ description
+ "Reference to address-family type";
+ }
+
+ leaf safi-name {
+ type leafref {
+ path "../config/safi-name";
+ }
+ description
+ "Reference to subsequent address-family type";
+ }
+
+ container config {
+ description
+ "This container defines AFI-SAFI configuration parameters";
+
+ uses isis-afi-safi-config;
+ uses isis-metric-config;
+ uses rt-admin-config;
+ }
+
+ container state {
+ config false;
+ description
+ "This container defines AFI-SAFI State information";
+
+ uses isis-afi-safi-config;
+ uses isis-metric-config;
+ uses rt-admin-config;
+ }
+
+ uses isis-mt-list;
+ }
+ }
+
+ grouping isis-if-afi-safi-list {
+ description
+ "This grouping defines address-family configuration and state
+ information";
+
+ list af {
+ key "afi-name safi-name";
+
+ description
+ "Address-family/Subsequent Address-family list.";
+
+ leaf afi-name {
+ type leafref {
+ path "../config/afi-name";
+ }
+ description
+ "Reference to address-family type";
+ }
+
+ leaf safi-name {
+ type leafref {
+ path "../config/safi-name";
+ }
+ description
+ "Reference to subsequent address-family type";
+ }
+
+ container config {
+ description
+ "This container defines AFI-SAFI configuration parameters. Single
+ topology is the default setting.";
+ uses isis-afi-safi-config;
+ uses isis-metric-config;
+ uses rt-admin-config;
+ }
+
+ container state {
+ config false;
+ description
+ "This container defines AFI-SAFI State information";
+ uses isis-afi-safi-config;
+ uses isis-metric-config;
+ uses rt-admin-config;
+ }
+
+ uses oc-sr:sr-igp-interface-top;
+ }
+ }
+
+ grouping isis-if-global-afi-safi-list {
+ description
+ "This grouping defines address-family configuration and state
+ information";
+
+ list af {
+ key "afi-name safi-name";
+
+ description
+ "Address-family/Subsequent Address-family list.";
+
+ leaf afi-name {
+ type leafref {
+ path "../config/afi-name";
+ }
+ description
+ "Reference to address-family type";
+ }
+
+ leaf safi-name {
+ type leafref {
+ path "../config/safi-name";
+ }
+ description
+ "Reference to subsequent address-family type";
+ }
+
+ container config {
+ description
+ "This container defines AFI-SAFI configuration parameters. Single
+ topology is the default setting.";
+ uses isis-afi-safi-config;
+ uses rt-admin-config;
+ }
+
+ container state {
+ config false;
+ description
+ "This container defines AFI-SAFI State information";
+ uses isis-afi-safi-config;
+ uses rt-admin-config;
+ }
+ }
+ }
+
+ grouping isis-shortcuts-afi-list {
+ description
+ "This grouping defines ISIS Shorcuts configuration and
+ state information";
+
+ list afi {
+ key "afi-name";
+
+ description
+ "Address-family list.";
+
+ leaf afi-name {
+ type leafref {
+ path "../config/afi-name";
+ }
+ description
+ "Reference to address-family type.";
+ }
+
+ container config {
+ description
+ "This container defines ISIS Shortcuts configuration parameters";
+ uses isis-shortcuts-afi-config;
+ }
+
+ container state {
+ config false;
+ description
+ "This container defines ISIS Shortcuts state information";
+ uses isis-shortcuts-afi-config;
+ }
+ }
+ }
+
+ grouping isis-mt-list {
+ description
+ "This grouping defines multi-topology address-family configuration and
+ state information. MT0 - IPv4 Unicast, MT2 - IPv6 Unicast, MT3 -
+ IPv4 Multicast, MT4 - IPv6 Multicast";
+
+ container multi-topology {
+ description
+ "This container defines multi-topology address-family configuration
+ and state information. ISIS TLV 235, 237.";
+
+ container config {
+ description
+ "This container defines AFI-SAFI multi-topology configuration
+ parameters";
+ uses isis-mt-config;
+ }
+
+ container state {
+ config false;
+ description
+ "This container defines AFI-SAFI multi-topology state information";
+ uses isis-mt-config;
+ uses rt-admin-config;
+ }
+ }
+ }
+}