diff options
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-isis-routing.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-isis-routing.yang | 384 |
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; + } + } + } +} |