diff options
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-isis.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-isis.yang | 2059 |
1 files changed, 0 insertions, 2059 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-isis.yang b/src/plugins/yang/openconfig/openconfig-isis.yang deleted file mode 100644 index 0a0db6b..0000000 --- a/src/plugins/yang/openconfig/openconfig-isis.yang +++ /dev/null @@ -1,2059 +0,0 @@ -module openconfig-isis { - - yang-version "1"; - - // namespace - namespace "http://openconfig.net/yang/openconfig-isis"; - - prefix "oc-isis"; - - // import some basic types - import ietf-inet-types { prefix "inet"; } - import ietf-yang-types { prefix "yang"; } - import openconfig-types { prefix "oc-types"; } - import openconfig-isis-types { prefix "oc-isis-types"; } - import openconfig-routing-policy { prefix "oc-rpol"; } - import openconfig-extensions { prefix "oc-ext"; } - import openconfig-interfaces { prefix "oc-if"; } - import openconfig-segment-routing { prefix "oc-sr"; } - // TODO(robjs): Import authentication and keychain following merge of these - // modules. - //import openconfig-authentication-types { prefix "oc-auth-types"; } - //import openconfig-keychain { prefix "oc-keychain"; } - - // Include submodules: - // IS-IS LSP is the LSDB for IS-IS. - include openconfig-isis-lsp; - // IS-IS RT is routing-related features for IS-IS - include openconfig-isis-routing; - - // meta - organization - "OpenConfig working group"; - - contact - "OpenConfig working group - www.openconfig.net "; - - description - "This module describes a YANG model for ISIS protocol configuration. - It is a limited subset of all of the configuration parameters - available in the variety of vendor implementations, hence it is - expected that it would be augmented with vendor - specific configuration - data as needed. Additional modules or submodules to handle other - aspects of ISIS configuration, including policy, routing, types, - LSDB and additional address families are also expected. This model - supports the following ISIS configuration level hierarchy: - - ISIS - +-> { global ISIS configuration} - +-> levels +-> { level config} - +-> { system-level-counters } - +-> { level link-state-database} - +-> interface +-> { interface config } - +-> { circuit-counters } - +-> { levels config } - +-> { level adjacencies }"; - - oc-ext:openconfig-version "0.4.1"; - - revision "2018-06-05" { - description - "Fix bugs in when statements."; - reference "0.4.1"; - } - - 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 isis-global-config { - description - "This grouping defines lobal configuration options for ISIS router."; - - // multi-instance - leaf instance { - type string; - default 0; - description - "ISIS Instance."; - } - - leaf-list net { - type oc-isis-types:net; - description - "ISIS network entity title (NET). The first 8 bits are usually - 49 (private AFI), next 16 bits represent area, next 48 bits represent - system id and final 8 bits are set to 0."; - reference - "International Organization for Standardization, Information - technology - Open Systems Interconnection-Network service - Definition - ISO/ IEC 8348:2002."; - } - - leaf maximum-area-addresses { - type uint8; - default 3; - description - "Maximum areas supported."; - } - - leaf level-capability { - type oc-isis-types:level-type; - default "LEVEL_1_2"; - description - "ISIS level capability(level-1, level-2,vlevel-1-2)."; - } - - leaf max-ecmp-paths { - type uint8; - description - "ISIS max-paths count."; - } - - leaf poi-tlv { - type boolean; - default false; - description - "ISIS purge TLV. When set to true, a TLV is added to purges to record - the system ID of the IS generating the purge."; - reference "RFC6232: Purge Originator Identification TLV for IS-IS. TLV 13."; - } - - leaf iid-tlv { - type boolean; - default false; - description - "ISIS Instance Identifier TLV. When set to trues, the IID-TLV identifies - the unique instance as well as the topology/topologies to which the - PDU applies."; - reference "RFC6822: IS-IS Multi-Instance. TLV 7"; - } - - leaf fast-flooding { - type boolean; - default true; - description - "When set to true, IS will always flood the LSP that triggered an SPF - before the router actually runs the SPF computation."; - } - } - - grouping admin-config { - description - "Re-usable grouping to enable or disable a particular IS-IS feature."; - - leaf enabled { - type boolean; - default false; - 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-bfd-config { - description - "This grouping defines Bidirectionl-Forwarding-Detection - configuration."; - - //There is also BFD state under adjacency - leaf bfd-tlv { - type boolean; - description - "When set to true, BFD TLV is used. This enables support for the IS-IS - BFD TLV options, which specify that a BFD session must be established - before an IS-IS adjacency can transition to the established state. - This option should be enabled on all IS-IS neighbors on a shared - interface."; - reference "RFC6213. TLV 148"; - } - reference "RFC5880: Bidirectional Forwarding Detection (BFD)."; - } - - grouping isis-authentication-check-config { - description - "This grouping defines ISIS authentication check."; - - leaf authentication-check { - type boolean; - default true; - description - "When set to true, reject all ISIS protocol PDUs that either have a mismatch - in authentication-type or authentication-key."; - } - } - - grouping isis-metric-style-config { - description - "This grouping defines ISIS metric style."; - - leaf metric-style { - type oc-isis-types:metric-style; - description - "ISIS metric style types(narrow, wide)."; - } - } - - grouping authentication-key-config { - description - "This grouping defines authentication key configuration."; - - leaf auth-password { - type oc-types:routing-password; - description - "Authentication key string."; - } - } - - grouping keychain-base-group { - description - "This grouping defines keychain configuration."; - - container keychain { - description - "This container defines keychain parameters."; - - // TODO(robjs): Import keychain parameters following merge of the auth - // models. - //uses oc-keychain:keychain-common-base; - //uses oc-keychain:tolerance-base; - //uses oc-keychain:keychain-key-base; - } - } - - grouping isis-authentication-config { - description - "This grouping defines ISIS authentication configuration."; - - // TODO(robjs): Add authentication following merge of auth modules. - //leaf auth-type { - // type oc-auth-types:auth-type; - // description - // "ISIS authentication type (key, key-chain)."; - //} - - leaf csnp-authentication { - type boolean; - default false; - description - "Enable or disable for IS-IS CSNPs."; - } - - leaf psnp-authentication { - type boolean; - default false; - description - "Enable or disable authentication for IS-IS PSNPs."; - } - - leaf lsp-authentication { - type boolean; - default false; - description - "Enable or disable authentication for IS-IS LSPs."; - } - } - - grouping isis-authentication-group { - description - "This grouping defines ISIS authentication."; - - container config { - description - "This container defines ISIS authentication configuration."; - - uses isis-authentication-config; - } - - container state { - config false; - description - "This container defines ISIS authentication state."; - - uses isis-authentication-config; - } - - container key { - description - "This container defines ISIS authentication key"; - container config { - description - "This container defines ISIS authentication key configuration."; - - uses authentication-key-group-config { - // TODO(aashaikh): Add auth-type conditions after merge of - // auth models. - // when "../auth-type = 'KEY'"; - } - } - - container state { - config false; - description - "This container defines ISIS authentication key state."; - - uses authentication-key-group-config { - // TODO(aashaikh): Add auth-type conditions after merge of - // auth models. - // when "../auth-type = 'KEY'"; - } - } - } - - uses keychain-base-group { - // TODO(aashaikh): Add auth-type conditions after merge of - // auth models. - // when "../auth-type = 'KEY_CHAIN'"; - } - } - - grouping isis-hello-authentication-config { - description - "Configuration options for IS-IS hello authentication."; - - leaf hello-authentication { - type boolean; - default false; - description - "Enabled or disable ISIS Hello authentication."; - } - - // TODO(robjs): Add hello-auth-type following merge of auth models. - //leaf hello-auth-type { - // type oc-auth-types:auth-type; - // description - // "ISIS authentication type (key, key-chain)."; - //} - } - - grouping isis-hello-authentication-group { - description - "This grouping defines ISIS hello-authentication."; - - container config { - description - "This container defines ISIS authentication configuration."; - - uses isis-hello-authentication-config; - } - - container state { - config false; - description - "This container defines ISIS authentication state."; - - uses isis-hello-authentication-config; - } - - container key { - description - "This container defines ISIS authentication key"; - - container config { - description - "This container defines ISIS authentication key configuration."; - - uses authentication-key-group-config { - // TODO(aashaikh): Add auth-type conditions after merge of - // auth models. - // when "../auth-type = 'KEY'"; - } - } - - container state { - config false; - description - "This container defines ISIS authentication key state."; - - uses authentication-key-group-config { - // TODO(aashaikh): Add auth-type conditions after merge of - // auth models. - // when "../auth-type = 'KEY'"; - } - } - } - - uses keychain-base-group { - // TODO(aashaikh): Add auth-type conditions after merge of - // auth models. - // when "../auth-type = 'KEY_CHAIN'"; - } - } - - grouping isis-ldp-igp-config { - description - "This grouping defines ISIS/LDP Synchronization configuration."; - - leaf enabled { - type boolean; - default true; - description - "When set to true, rely on IGP/LDP synchronization. IGP cost for - link is maintained at max until LDP adjacencies are established "; - reference "RFC5443: LDP IGP Synchronization."; - } - - leaf post-session-up-delay { - type uint16; - units seconds; - description - "Specifies a delay, expressed in units of seconds, - between the LDP session to the IGP neighbor being established, and - it being considered synchronized by the IGP."; - } - } - - grouping isis-te-config { - description - "This grouping defines ISIS Traffic Engineering configuration."; - - leaf ipv4-router-id { - type inet:ipv4-address-no-zone; - description - "IPv4 MPLS Traffic Engineering Router-ID."; - } - - leaf ipv6-router-id { - type inet:ipv6-address-no-zone; - description - "IPv6 MPLS Traffic Engineering Router-ID."; - } - } - - grouping isis-reference-bandwidth-config { - description - "This grouping defines ISIS Reference Bandwidth Configuration."; - - leaf reference-bandwidth { - type uint32; - description - "ISIS Reference Bandwidth value"; - } - } - - grouping isis-overload-bit-set-config { - description - "This grouping defines ISIS Overload Bit."; - - leaf set-bit { - type boolean; - default false; - description - "When set to true, IS-IS overload bit is set."; - } - - leaf set-bit-on-boot { - type boolean; - default false; - description - "When set to true, the IS-IS overload bit is set on system boot."; - } - - leaf advertise-high-metric { - type boolean; - default false; - description - "When set to true, the local IS advertises links with the highest - available metric regardless of their configured metric. The metric - value is based on the metric style - if wide metrics are utilised - the metric is advertised as 16777214, otherwise they are advertised - with a value of 63."; - } - } - - grouping isis-overload-bit-reset-config { - description - "This grouping defines ISIS Overload Bit Reset Triggers"; - - leaf reset-trigger { - type identityref { - base oc-isis-types:OVERLOAD_RESET_TRIGGER_TYPE; - } - description - "In the case that the system sets the overload bit on start, the - system should reset the bit (i.e., clear the overload bit) upon - the specified trigger."; - } - - leaf delay { - type uint16; - units seconds; - description - "If a reset trigger is specified, the system should delay resetting - the overload bit for the specified number of seconds after the - trigger occurs."; - } - } - - grouping isis-attached-bit-config { - description - "This grouping defines ISIS Attached Bit"; - - leaf ignore-bit { - type boolean; - default false; - description - "When set to true, if the attached bit is set on an incoming Level 1 - IS-IS, the local system ignores it. In this case the local system - does not set a default route to the L1L2 router advertising the PDU - with the attached bit set."; - } - - leaf suppress-bit { - type boolean; - default false; - description - "When set to true, if the local IS acts as a L1L2 router, then the - attached bit is not advertised in locally generated PDUs."; - } - } - - grouping overload-bit-group { - description - "This grouping defines ISIS Overload Bit."; - - container config { - description - "This container defines ISIS Overload Bit configuration."; - - uses isis-overload-bit-set-config; - } - - container state { - config false; - description - "This container defines state for ISIS Overload Bit."; - - uses isis-overload-bit-set-config; - } - - container reset-triggers { - description - "This container defines state for ISIS Overload Bit reset triggers"; - - list reset-trigger { - key "reset-trigger"; - - description - "This list describes ISIS Overload reset trigger reasons."; - - leaf reset-trigger { - type leafref { - path "../config/reset-trigger"; - } - description - "Reference to the reset trigger reason"; - } - - container config { - description - "This container defines ISIS Overload Bit reset trigger - configuration."; - - uses isis-overload-bit-reset-config; - } - - container state { - config false; - description - "This container defines state for ISIS Overload Bit reset - triggers."; - - uses isis-overload-bit-reset-config; - } - } - } - } - - - grouping isis-base-level-config { - description - "This grouping defines ISIS Level configuration."; - - leaf level-number { - type oc-isis-types:level-number; - description - "ISIS level number (level-1, level-2)."; - } - } - - grouping isis-interface-level-config { - description - "This grouping defines ISIS Interface Level configuration."; - - leaf level-number { - type oc-isis-types:level-number; - description - "ISIS level number(level-1, level-2)."; - } - - leaf passive { - type boolean; - default false; - description - "ISIS passive interface admin enable/disable function."; - } - - leaf priority { - type uint8 { - range "0 .. 127"; - } - description - "ISIS neighbor priority(LAN hello PDU only)."; - } - } - - grouping isis-hello-timers-config { - description - "This grouping defines ISIS hello timers configuration."; - - leaf hello-interval { - type uint32; - description - "ISIS hello-interval value."; - } - - leaf hello-multiplier { - type uint8; - description - "ISIS hello-multiplier value."; - } - } - - grouping isis-interface-config { - description - "This grouping defines ISIS interface configuration."; - - leaf interface-id { - type oc-if:interface-id; - description - "Interface for which ISIS configuration is to be applied."; - } - - leaf passive { - type boolean; - default false; - description - "When set to true, the referenced interface is a passive interface - such that it is not eligible to establish adjacencies with other - systems, but is advertised into the IS-IS topology."; - } - - leaf hello-padding { - type oc-isis-types:hello-padding-type; - description - "This leaf controls padding type for IS-IS Hello PDUs."; - } - - leaf circuit-type { - type oc-isis-types:circuit-type; - description - "ISIS circuit type (p2p, broadcast)."; - } - } - - grouping isis-adaptive-timers-state { - description - "This grouping defines ISIS adaptive timers state"; - - leaf adaptive-timer { - type oc-isis-types:adaptive-timer-type; - description - "ISIS adaptive timer types (linear, exponential)."; - } - } - - grouping isis-lsp-generation-timers-config { - description - "This grouping defines ISIS LSP Generation timers configuration"; - - leaf lsp-max-wait-interval { - type uint64; - units milliseconds; - description - "Time interval in milliseconds that specifies max interval between - two consecutive occurrences of an LSP being generated."; - } - - leaf lsp-first-wait-interval { - type uint64; - units milliseconds; - description - "Time interval in milliseconds that specifies the first LSP generation - delay."; - } - - leaf lsp-second-wait-interval { - type uint64; - units milliseconds; - description - "Time interval in milliseconds that specifies the millisecond LSP - generation delay."; - } - } - - grouping isis-lsp-timers-config { - description - "This grouping defines ISIS LSP timers configuration"; - - leaf lsp-lifetime-interval { - type uint16; - units seconds; - default 1200; - description - "Time interval in seconds that specifies how long an LSP remains in - LSDB without being refreshed."; - } - - leaf lsp-refresh-interval { - type uint16; - units seconds; - description - "Time interval in seconds that specifies how often route topology - that a device originates is transmitted in LSPs."; - } - } - - grouping isis-spf-timers-config { - description - "This grouping defines ISIS SPF timers configuration."; - - leaf spf-hold-interval { - type uint64; - units milliseconds; - default 5000; - description - "SPF Hold Down time interval in milliseconds."; - } - - leaf spf-first-interval { - type uint64; - units milliseconds; - description - "Time interval in milliseconds between the - detection of topology change and when the SPF algorithm runs."; - } - leaf spf-second-interval { - type uint64; - units milliseconds; - description - "Time interval in milliseconds between the first and second - SPF calculation."; - } - } - - grouping isis-interface-timers-config { - description - "This grouping defines ISIS interface timers configuration."; - - leaf csnp-interval { - type uint16; - units seconds; - description - "The interval, specified in seconds, at which periodic CSNP packets - should be transmitted by the local IS."; - } - - leaf lsp-pacing-interval { - type uint64; - units milliseconds; - description - "The interval interval in milliseconds between the - detection of topology change and when the SPF algorithm runs."; - } - } - - grouping isis-transport-config { - description - "This grouping defines configuration parameters relating to the - transport protocol used by the ISIS."; - - leaf lsp-mtu-size { - type uint16; - description - "The maximum size in bytes of an IS-IS Link state PDU."; - } - } - - grouping isis-graceful-restart-config { - description - "This grouping defines ISIS graceful restart configuration."; - - leaf helper-only { - type boolean; - description - "Enable or disable the IS-IS graceful restart helper function. When - this leaf is set, the local system does not utilise the IS-IS - graceful restart procedures during its own restart, but supports - retaining forwarding information during a remote speaker's restart."; - } - reference "RFC 5306: Restart Signaling for IS-IS."; - } - - // configuration context containers - grouping inter-level-propagation-policies-structural { - description - "Propagate prefixes between IS-IS levels."; - - container inter-level-propagation-policies { - description - "Policies to propagate prefixes between IS-IS levels."; - - container level1-to-level2 { - description - "Policies relating to prefixes to be propagated from - Level 1 to Level 2."; - - container config { - description - "Configuration parameters relating to the propagation - of prefixes from IS-IS Level 1 to Level 2."; - - uses inter-level-propagation-policy-config; - } - - container state { - config false; - description - "Operational state parameters relating to the - propagation of prefixes from IS-IS Level 1 to Level 2."; - - uses inter-level-propagation-policy-config; - } - - } - - container level2-to-level1 { - description - "Policies relating to prefixes to be propagated from - Level2 to Level 1."; - - container config { - description - "Configuration parameters relating to the propagation - of prefixes from IS-IS Level 2 to Level 1."; - - uses inter-level-propagation-policy-config; - } - - container state { - config false; - description - "Operational state parameters relating to the propagation - of prefixes from IS-IS Level 2 to Level 1."; - - uses inter-level-propagation-policy-config; - } - } - } - } - - grouping inter-level-propagation-policy-config { - description - "Policy governing the propagation of prefixes between levels."; - - uses oc-rpol:apply-policy-import-config; - } - - grouping authentication-key-group-config { - description - "This grouping defines ISIS authentication key configuration."; - - uses authentication-key-config; - - // TODO(robjs): Add crypto-algorithm after merge of authentication modules. - //leaf crypto-algorithm { - // type identityref { - // base oc-auth-types:CRYPTO_TYPE; - // } - // description - // "Authentication key cryptographic algorithm to be used for key encryption."; - //} - } - - grouping isis-global-base { - description - "This grouping describes ISIS Global router."; - - container config { - description - "This container defines ISIS global configuration router."; - - uses isis-authentication-check-config; - uses isis-global-config; - } - - container state { - config false; - description - "This container defines state for ISIS global router."; - - uses isis-authentication-check-config; - uses isis-global-config; - } - - container lsp-bit { - description - "This container defines ISIS LSP Operational Bits."; - - container overload-bit { - description - "This container defines Overload Bit configuration."; - uses overload-bit-group; - } - - container attached-bit { - description - "This container defines Attached Bit."; - - container config { - description - "This container defines Attached Bit configuration."; - - uses isis-attached-bit-config; - } - - container state { - config false; - description - "This container defines state for Link State PDU Bit."; - - uses isis-attached-bit-config; - } - } - } - - container reference-bandwidth { - description - "This container defines ISIS Reference Bandwidth."; - - container config { - description - "This container defines Reference Bandwidth configuration"; - uses isis-reference-bandwidth-config; - } - - container state { - config false; - description - "This container defines state for Reference Bandwidth."; - - uses isis-reference-bandwidth-config; - } - } - - container nsr { - description - "This container defines ISIS Non-Stop Routing."; - - container config { - description - "This container defines Non-Stop-Routing configuration."; - - uses admin-config; - } - - container state { - config false; - description - "This container defines state for Non-Stop-Routing"; - - uses admin-config; - } - } - - container graceful-restart { - description - "This container defines ISIS Graceful Restart."; - - container config { - description - "This container defines ISIS graceful-restart configuration."; - - uses admin-config; - uses isis-graceful-restart-config; - } - - container state { - config false; - description - "This container defines state information for ISIS graceful-restart."; - - uses admin-config; - uses isis-graceful-restart-config; - } - } - - container timers { - description - "This container defines ISIS timers."; - - container config { - description - "This container defines ISIS global timers configuration."; - - uses isis-lsp-timers-config; - } - - container state { - config false; - description - "This container defines state information for ISIS global timers."; - - uses isis-lsp-timers-config; - } - - container spf { - description - "This container defines ISIS SPF timer settings."; - - container config { - description - "This container defines ISIS SPF timers configuration."; - - uses isis-spf-timers-config; - } - - container state { - config false; - description - "This container defines state information for ISIS SPF timers."; - - uses isis-spf-timers-config; - uses isis-adaptive-timers-state; - } - } - - container lsp-generation { - description - "This container defines ISIS LSP Generation."; - - container config { - description - "This container defines ISIS LSP Generation timers - configuration."; - - uses isis-lsp-generation-timers-config; - } - - container state { - config false; - description - "This container defines state information for ISIS LSP Generation - timers."; - - uses isis-lsp-generation-timers-config; - uses isis-adaptive-timers-state; - } - } - } - - container transport { - description - "This container defines ISIS transport."; - - container config { - description - "This container defines ISIS transport related configuration."; - - uses isis-transport-config; - } - - container state { - config false; - description - "This container defines state information for ISIS transport - parameters."; - - uses isis-transport-config; - } - } - - container mpls { - description - "Configuration and operational state relating to MPLS-related - features in IS-IS"; - - container igp-ldp-sync { - description - "Configuration and operational state relating to synchronisation - between the LDP and IS-IS"; - - container config { - description - "This container defines ISIS/IGP configuration."; - - uses isis-ldp-igp-config; - } - - container state { - config false; - description - "This container defines state information for ISIS/LDP Sync."; - - uses isis-ldp-igp-config; - } - } - } - - container igp-shortcuts { - description - "This container defines IGP shortcuts configuration and state - information."; - - uses isis-shortcuts-afi-list; - } - - container afi-safi { - description - "This container defines address-family specific configuration - and state information."; - - uses isis-afi-safi-list; - } - - uses oc-sr:sr-igp-top; - } - - grouping isis-route-preference-config { - description - "This grouping defines ISIS route preference configuration"; - - leaf external-route-preference { - type uint8 { - range "1..max"; - } - description - "Administrative Distance(preference) for external ISIS routes."; - } - - leaf internal-route-preference { - type uint8 { - range "1..max"; - } - description - "Administrative Distance(preference) for internal ISIS routes."; - } - } - - grouping isis-interfaces { - description - "This grouping defines ISIS interfaces configured on local system."; - - list interface { - key "interface-id"; - - description - "This list contains ISIS interfaces."; - - leaf interface-id { - type leafref { - path "../config/interface-id"; - } - description - "Reference to interface-id"; - } - - uses isis-interface-group; - uses oc-if:interface-ref; - } - } - - grouping isis-interface-group { - description - "This grouping defines ISIS interfaces configured on local system."; - - container config { - description - "This container defines ISIS interface configuration."; - - uses admin-config; - uses isis-interface-config; - } - - container state { - config false; - description - "This container defines state information for ISIS interfaces."; - - uses admin-config; - uses isis-interface-config; - } - - container circuit-counters { - description - "This container defines state information for ISIS circuit counters."; - - uses circuit-counters-structural; - } - - container authentication { - description - "This container defines ISIS authentication."; - - uses isis-hello-authentication-group; - } - - container afi-safi { - description - "This container defines address-family specific configuration - and state information."; - - uses isis-if-global-afi-safi-list; - } - - container levels { - description - "This container defines ISIS level specific configuration and - state information."; - - uses isis-interface-levels; - } - - container timers { - description - "This container describes ISIS interface timers configuration"; - - container config { - description - "Configuration parameters relating to interface - timers for IS-IS"; - - uses isis-interface-timers-config; - } - - container state { - config false; - description - "This container defines state information for ISIS interface timers."; - - uses isis-interface-timers-config; - } - } - - container bfd { - //TODO(bogdanov): Integrate BFD model/module - description - "This container defines BFD."; - - container config { - description - "This container defines BFD configuration parameters."; - - uses isis-bfd-config; - } - - container state { - config false; - description - "This container defines BFD state information."; - - uses isis-bfd-config; - } - } - } - - grouping isis-levels { - description - "This grouping defines global ISIS Levels."; - - list level { - key "level-number"; - - description - "Configuration and operational state parameters related to a - particular level within the IS-IS protocol instance"; - - leaf level-number { - type leafref { - path "../config/level-number"; - } - description - "Reference to ISIS level-number."; - } - - uses isis-level-group; - } - } - - grouping isis-interface-levels { - description - "This grouping defines ISIS interface Levels."; - - list level { - key "level-number"; - description - "Configuration and operational state parameters related to a - particular level on an IS-IS enabled interface."; - - leaf level-number { - type leafref { - path "../config/level-number"; - } - description - "Reference to ISIS level-number."; - } - - uses isis-interface-level-group; - } - } - - grouping isis-level-group { - description - "This grouping defines ISIS level configuration and state - information."; - - container config { - description - "This container defines ISIS level based configuration."; - - uses admin-config; - uses isis-base-level-config; - uses isis-metric-style-config; - uses isis-authentication-check-config; - } - - container state { - config false; - description - "This container defines ISIS level state information."; - - uses admin-config; - uses isis-base-level-config; - uses isis-metric-style-config; - uses isis-authentication-check-config; - } - - container system-level-counters { - description - "This container defines ISIS system level counters."; - - uses system-level-counters-structural; - } - - container link-state-database { - config false; - description - "This container defines ISIS LSDB."; - - list lsp { - key "lsp-id"; - description - "This list describes LSPs in the LSDB."; - uses lsp-state; - } - } - - container traffic-engineering { - description - "This container defines ISIS TE."; - - container config { - description - "This container defines ISIS TE configuration."; - - uses admin-config; - uses isis-te-config; - } - - container state { - config false; - description - "This container defines ISIS TE state information."; - - uses admin-config; - uses isis-te-config; - } - } - - container route-preference { - description - "This container defines Administrative Distance (or preference) - assigned to ISIS routes (level1 internal, level2 internal, level1 - external, level2 external)."; - - container config { - description - "This container defines route preference configuration."; - uses isis-route-preference-config; - } - - container state { - config false; - description - "This container defines ISIS route preference state information."; - uses isis-route-preference-config; - } - } - - container authentication { - description - "This container defines ISIS authentication."; - uses isis-authentication-group; - } - - } - - grouping isis-interface-level-group { - description - "This grouping defines ISIS interface level."; - - container config { - description - "This container defines interface ISIS level configuration."; - - uses isis-interface-level-config; - uses admin-config; - } - - container state { - config false; - description - "This container defines interface ISIS level state information."; - - uses isis-interface-level-config; - uses admin-config; - } - - container packet-counters { - description - "This container defines ISIS interface packet counters."; - - uses packet-counters-structural; - } - - container adjacencies { - config false; - description - "This container defines ISIS adjacencies."; - - list adjacency { - key "system-id"; - - description - "List of the local system's IS-IS adjacencies."; - - leaf system-id { - type leafref { - path "../state/system-id"; - } - description - "Reference to the IS neighbor."; - } - - container state { - description - "Operational state relating to the IS-IS adjacency with the - remote system"; - - uses adjacency-state; - } - } - } - - container timers { - description - "This container defines ISIS timers."; - - container config { - description - "This container defines ISIS interface hello-timers configuration."; - - uses isis-hello-timers-config; - } - - container state { - config false; - description - "This container defines ISIS interface hello-timers state."; - - uses isis-hello-timers-config; - } - } - - container afi-safi { - description - "This container defines address-family specific configuration - and state information."; - - uses isis-if-afi-safi-list; - } - - container hello-authentication { - description - "This container defines ISIS authentication."; - - uses isis-hello-authentication-group; - } - } - - - grouping isis-top { - description - "This grouping define top-level ISIS model data."; - - container isis { - description - "This container defines top-level ISIS configuration and state - information."; - - container global { - description - "This container defines global ISIS configuration and state - information."; - - uses isis-global-base; - uses inter-level-propagation-policies-structural; - } - - container levels { - description - "This container defines ISIS level configuration and state - information."; - uses isis-levels; - } - - container interfaces { - description - "This container defines global ISIS interface configuration and - state information."; - uses isis-interfaces; - } - } - } - - grouping adjacency-state { - description - "This grouping defines ISIS adjacency."; - - leaf system-id { - type oc-isis-types:system-id; - description - "ISIS neighbor system-id."; - } - - leaf neighbor-ipv4-address { - type inet:ipv4-address-no-zone; - description - "ISIS Neighbor IPv4 address."; - } - - leaf neighbor-ipv6-address { - type inet:ipv6-address-no-zone; - description - "ISIS Neighbor IPv6 address."; - } - - leaf neighbor-snpa { - type oc-isis-types:snpa; - description - "ISIS neighbor SNPA."; - } - - leaf local-extended-circuit-id { - type oc-isis-types:extended-circuit-id; - description - "Local extended circuit ID."; - } - leaf neighbor-extended-circuit-id { - type oc-isis-types:extended-circuit-id; - description - "ISIS neighbor extended circuit ID."; - } - - leaf priority { - type uint8 { - range "0..127"; - } - description - "Priority of the neighboring IS(LAN Hello only)."; - } - - leaf dis-system-id { - type oc-isis-types:system-id; - description - "DIS System ID(LAN hello only)."; - } - - leaf neighbor-circuit-type { - type oc-isis-types:level-type; - description - "Received ISIS circuit type (level-1, level-2, level-1-2)."; - } - - leaf adjacency-type { - type oc-isis-types:level-type; - description - "Formed ISIS adjacency type(level-1, level-2, level-1-2)."; - } - - leaf adjacency-state { - type oc-isis-types:isis-interface-adj-state; - description - "P2P 3-way ISIS adjacency state(up, down, init, failed)."; - reference "RFC4303. TLV 240."; - } - - leaf remaining-hold-time { - type uint16; - units seconds; - description - "Holding time in seconds for adjacency. This value is based on received - hello PDUs and the elapsed time since receipt."; - } - - leaf up-time { - type yang:timestamp; - description - "Adjacency up time."; - } - - leaf multi-topology { - type boolean; - description - "When set to true, ISIS multi-topology is supported."; - reference "RFC5129. TLV 229."; - } - - leaf-list topology { - type identityref { - base oc-isis-types:AFI_SAFI_TYPE; - } - description - "ISIS topology type support(ipv4-unicast, ipv6-unicast, - ipv4-multicast, ipv6-multicast)."; - } - - leaf restart-support { - type boolean; - description - "When set to true, Graceful-restart signaling is supported."; - } - - leaf restart-suppress { - type boolean; - description - "When set to true, adjacency is not advertised. The SA bit is used by a - starting router to request that its neighbor suppress advertisement of - the adjacency to the starting router in the neighbor's LSPs."; - } - - leaf restart-status { - type boolean; - description - "When set to true, neighbor is being helped. The RR bit is used by a - (re)starting router to signal to its neighbors that a (re)start is in - progress."; - } - - leaf-list area-address { - type oc-isis-types:area-address; - description - "List of ISIS area-address(es)."; - } - - leaf-list nlpid { - type enumeration { - enum IPV4 { - description - "IPv4 Address family."; - } - enum IPV6 { - description - "IPv6 Address family."; - } - } - description - "Supported Protocol. IPv4 is defined as (0xcc) - and IPv6 - (0x8e). ISIS reference is TLV 129."; - } - - // TODO(bogdanov): update when BFD model is integrated. - //leaf ipv4-bfd-status { - //type oc-isis-types:bfd-state; - //description - // "IPv4 BFD session status."; - //} - //leaf ipv6-bfd-status { - //type oc-isis-types:bfd-state; - //description - // "IPv4 BFD session status. "; - //} - - } - - grouping packet-counters-generic-state { - description - "Operational state parameters relating to LSP packet counters."; - - leaf received { - type yang:counter32; - description - "The number of the specified type of PDU received on the interface."; - } - leaf processed { - type yang:counter32; - description - "The number of the specified type of PDU received on the interface - that have been processed by the local system."; - } - leaf dropped { - type yang:counter32; - description - "The number of the specified type of PDU received on the interface - that have been dropped."; - } - - leaf sent { - type yang:counter32; - description - "The number of the specified type of PDU that have been sent by the - local system on the interface."; - } - - leaf retransmit { - type yang:counter32; - description - "The number of the specified type of PDU that that have been - retransmitted by the local system on the interface."; - } - } - - grouping packet-counters-structural { - description - "This grouping defines ISIS packet counter state."; - - container lsp { - description - "This container defines LSP packet counters."; - - container state { - config false; - description - "This container defines LSP PDU counters."; - - uses packet-counters-generic-state; - } - } - - container iih { - description - "This container defines IIH packet counters."; - - container state { - config false; - description - "Operational counters relating to IIH PDUs"; - - uses packet-counters-generic-state; - } - } - - container ish { - description - "This container defines ISH packet counters."; - - container state { - config false; - description - "Operational state relating to ISH PDUs."; - - uses packet-counters-generic-state; - } - } - - container esh { - description - "This container defines ESH packet counters."; - container state { - config false; - description - "Operational state relating to ESH PDUs"; - - uses packet-counters-generic-state; - } - } - - container psnp { - description - "This container defines PSNP packet counters."; - - container state { - config false; - description - "Packet counters relating to PSNPs."; - - uses packet-counters-generic-state; - } - } - - container csnp { - description - "Operational state parameters relating to CSNPs."; - - container state { - config false; - description - "Packet counters relating to CSNPs."; - - uses packet-counters-generic-state; - } - } - - container unknown { - description - "Operational state parameters relating to IS-IS PDUs that are not - otherwise classified - referred to as Unknown PDUs."; - - container state { - config false; - description - "Packet counters relating to unknown PDUs."; - - uses packet-counters-generic-state; - } - } - } - - grouping system-level-counters-state { - description - "IS-IS counters that are relevant to the system IS-IS context."; - - leaf corrupted-lsps { - type yang:counter32; - description - "Number of corrupted in-memory LSPs detected. LSPs received from the - wire with a bad checksum are silently dropped and not counted. LSPs - received from the wire with parse errors are counted by lsp-errors. MIB - Entry: SysCorrLSPs."; - } - - leaf database-overloads { - type yang:counter32; - description - "Number of times the database has become - overloaded. - MIB entry: SysLSPL(Level)DbaseOloads."; - } - - leaf manual-address-drop-from-areas { - type yang:counter32; - description - "Number of times a manual address has been dropped from area. - MIB Entry: SysManAddrDropFromAreas."; - } - - leaf exceed-max-seq-nums { - type yang:counter32; - description - "The number of times the system has attempted to exceed the maximum - sequence number. MIB Entry: SysAttmptToExMaxSeqNums."; - } - leaf seq-num-skips { - type yang:counter32; - description - "Number of times a sequence number skip has occurred. MIB Entry: - SysSeqNumSkips."; - } - - leaf own-lsp-purges { - type yang:counter32; - description - "Number of times a zero-aged copy of the system's - own LSP is received from some other node. - MIB Entry: isisSysOwnLSPPurges."; - } - - leaf id-len-mismatch { - type yang:counter32; - description - "Number of times a PDU is received with a different value for ID field - length from that of the receiving system. MIB Entry: - isisSysIDFieldLenMismatches."; - } - - leaf part-changes { - type yang:counter32; - description - "The number of partition changes detected. MIB Entry: SysPartChanges."; - } - - leaf max-area-address-mismatches { - type yang:counter32; - description - "Number of times a PDU is received with a different value for - MaximumAreaAddresses from that of the receiving system. MIB Entry: - SysMaxAreaAddrMismatches."; - } - - leaf auth-fails { - type yang:counter32; - description - "The number of authentication key failures. - MIB Entry: SysAuthFails."; - } - - leaf spf-runs { - type yang:counter32; - description - "The number of times SPF was ran at this level."; - } - - leaf auth-type-fails { - type yang:counter32; - description - "The number of authentication type mismatches."; - } - - leaf lsp-errors { - type yang:counter32; - description - "The number of received LSPs with errors."; - } - } - - grouping system-level-counters-structural { - description - "This grouping defines system level counters."; - - container state { - config false; - description - "The container defines a list of system counters for the IS."; - - uses system-level-counters-state; - } - } - - grouping circuit-counters-state { - description - "Operational state parameters relating to counters specific to one - interface or circuit."; - - leaf adj-changes { - type yang:counter32; - description - "Number of times an adjacency state change has occurred on this circuit. - MIB Entry: CircAdjChanges."; - } - - leaf init-fails { - type yang:counter32; - description - "Number of times initialization of this circuit has failed. This counts - events such as PPP NCP failures. MIB Entry: CircInitFails."; - } - - leaf rejected-adj { - type yang:counter32; - description - "Number of times an adjacency has been rejected on this circuit. MIB - Entry: CircRejAdjs."; - } - - leaf id-field-len-mismatches { - type yang:counter32; - description - "Number of times an IS-IS control PDU with an ID field length different - from that for this system has been received. - MIB Entry: CircIDFieldLenMismatches."; - } - - leaf max-area-address-mismatches { - type yang:counter32; - description - "Number of times an IS-IS control PDU with a max area address field - different from that for this system has been received. MIB Entry: - CircMaxAreaAddrMismatches."; - } - - leaf auth-type-fails { - type yang:counter32; - description - "Number of times an IS-IS control PDU with an auth type field different - from that for this system has been received. MIB Entry: - CircAuthTypeFails."; - } - - leaf auth-fails { - type yang:counter32; - description - "Number of times an IS-IS control PDU with the correct auth type has - failed to pass authentication validation. MIB Entry: CircAuthFails."; - } - - leaf lan-dis-changes { - type yang:counter32; - description - "Number of times the Designated IS has changed on this circuit at this - level. If the circuit is point to point, this count is zero. MIB Entry: - CircLANDesISChanges."; - } - - leaf adj-number { - type uint32; - description - "Number of adjacencies on this circuit. - MIB Entry: CircNumAdj."; - } - } - - grouping circuit-counters-structural { - description - "This grouping defines circuit counters."; - - container state { - config false; - description - "The container defines a list of counters for IS circuit."; - - uses circuit-counters-state; - } - } -} |