diff options
author | Andrej Kozemcak <andrej.kozemcak@pantheon.tech> | 2019-01-11 07:45:19 +0100 |
---|---|---|
committer | Andrej Kozemcak <andrej.kozemcak@pantheon.tech> | 2019-01-11 07:46:46 +0100 |
commit | 8a72578cec9ffe5bf815e38918fd82b190f8af38 (patch) | |
tree | 38fc04ef4dab6431861119e63f4559d5ad59bd10 /src/plugins/yang/openconfig/openconfig-ospfv2-lsdb.yang | |
parent | b70c4a3f70c08d93afb52ecb1bdd50a50feb1e1f (diff) |
Remove not supported openconfig yang modules.
Change-Id: I721def08356e64918424fdb889f545b64daeea88
Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-ospfv2-lsdb.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-ospfv2-lsdb.yang | 2355 |
1 files changed, 0 insertions, 2355 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-ospfv2-lsdb.yang b/src/plugins/yang/openconfig/openconfig-ospfv2-lsdb.yang deleted file mode 100644 index b345724..0000000 --- a/src/plugins/yang/openconfig/openconfig-ospfv2-lsdb.yang +++ /dev/null @@ -1,2355 +0,0 @@ -submodule openconfig-ospfv2-lsdb { - - belongs-to openconfig-ospfv2 { - prefix "oc-ospfv2"; - } - - // import some basic types - import ietf-yang-types { prefix "yang"; } - import ietf-inet-types { prefix "inet"; } - import openconfig-types { prefix "oc-types"; } - import openconfig-extensions { prefix "oc-ext"; } - import openconfig-ospf-types { prefix "oc-ospf-types"; } - - // meta - organization "OpenConfig working group"; - - contact - "OpenConfig working group - www.openconfig.net"; - - description - "An OpenConfig model for the Open Shortest Path First (OSPF) - version 2 link-state database (LSDB)"; - - oc-ext:openconfig-version "0.1.2"; - - revision "2018-06-05" { - description - "Bug fixes in when statements in lsdb"; - reference "0.1.2"; - } - - revision "2017-08-24" { - description - "Minor formatting fixes."; - reference "0.1.1"; - } - - revision "2017-02-28"{ - description - "Initial public release of OSPFv2"; - reference "0.1.0"; - } - - revision "2016-06-24" { - description - "Initial revision"; - reference "0.0.1"; - } - - grouping ospfv2-lsdb-common-prefix-properties { - description - "Common properties used in the LSDB that relate to IPv4 prefixes"; - - leaf prefix-length { - type uint8 { - range "0..32"; - } - description - "The length of the IPv4 prefix contained in the Extended Prefix LSA"; - } - - leaf address-family { - // TODO: should this be an identity? - type enumeration { - enum IPV4_UNICAST { - value 0; - description - "The prefix contained within the Extended Prefix LSA is an IPv4 - unicast prefix"; - } - } - description - "The address family of the prefix contained in the Extended Prefix - LSA"; - } - } - - grouping ospfv2-lsdb-common-link-specification { - description - "Generic attributes used to identify links within OSPFv2"; - - leaf link-id { - type yang:dotted-quad; - description - "The identifier for the link specified. The value of the link - identifier is dependent upon the type of the LSA. The value is - specified to be, per sub-type: - 1) Neighbouring router's router ID. - 2) IP address of DR. - 3) IP network address. - 4) Neighbouring router router's ID."; - } - - leaf link-data { - type union { - type yang:dotted-quad; - type uint32; - } - description - "The data associated with the link type. The value is - dependent upon the subtype of the LSA. When the connection is - to a stub network it represents the mask; for p2p connections - that are unnumbered it represents the ifIndex value of the - router's interface; for all other connections it represents - the local system's IP address"; - } - - } - - grouping ospfv2-lsdb-common-unknown-tlv { - description - "A generic specification of a TLV to be used when the - value cannot be decoded by the local system"; - - leaf type { - type uint16; - description - "The type value of the unknown TLV"; - } - - leaf length { - type uint16; - description - "The length value of the unknown TLV"; - } - - leaf value { - type binary; - description - "The value portion of the unknwon TLV"; - } - } - - grouping ospfv2-lsdb-common-unknown-tlv-structure { - description - "A generic specification of an unknown TLV"; - - container unknown-tlv { - description - "An unknown TLV within the context. Unknown TLVs are - defined to be the set of TLVs that are not modelled - within the OpenConfig model, or are unknown to the - local system such that it cannot decode their value."; - - container state { - description - "Contents of an unknown TLV within the LSA"; - uses ospfv2-lsdb-common-unknown-tlv; - } - } - } - - grouping ospfv2-lsdb-common-unknown-subtlv-structure { - description - "A generic specification of an unknown TLV"; - - container unknown-subtlv { - description - "An unknown SubTLV within the context. Unknown Sub-TLV - are defined to be the set of SubTLVs that are not modelled - by the OpenConfig schema, or are unknown to the local system - such that it cannot decode their value."; - - container state { - description - "Contents of an unknown TLV within the LSA"; - uses ospfv2-lsdb-common-unknown-tlv; - } - } - } - - grouping ospfv2-lsdb-common-tos-metric { - description - "Common LSDB LSA parameters for type of service and metric"; - - leaf tos { - type uint8; - description - "OSPF encoding of the type of service referred to by this - LSA. Encoding for OSPF TOS are described in RFC2328."; - } - - leaf metric { - type oc-ospf-types:ospf-metric; - description - "The metric value to be used for the TOS specified. This value - represents the cost of use of the link for the specific type - of service."; - } - } - - grouping ospfv2-lsdb-common-sr-sid-spec { - description - "Re-usable specification of a segment routing SID"; - - leaf sid-type { - type oc-ospf-types:sr-sid-type; - description - "The type of the value contained within the sub-TLV"; - } - - leaf sid-value { - type uint32; - description - "The value of the binding included within the sub-TLV. The type of - this binding is indicated by the type leaf."; - } - } - - grouping ospfv2-lsdb-area-state { - description - "Per-area operational state parameters for an OSPFv2 area"; - - leaf identifier { - type oc-ospf-types:ospf-area-identifier; - description - "An identifier for the area, expressed as a dotted quad or - an unsigned 32-bit integer"; - } - } - - grouping ospfv2-lsdb-area-lsa-type-state { - description - "Per-LSA type operational state parameters for an OSPFv2 area"; - - leaf type { - type identityref { - base "oc-ospf-types:OSPF_LSA_TYPE"; - } - description - "The type of LSA being described. The type of the LSA is - expressed as a canonical name."; - } - } - - grouping ospfv2-lsdb-area-lsa-state { - description - "Generic parameters of an OSPFv2 LSA"; - - leaf link-state-id { - type yang:dotted-quad; - description - "The Link State ID for the specified LSA type. The exact - defined value of the Link State ID is dependent on the LSA - type."; - } - - leaf advertising-router { - type yang:dotted-quad; - description - "The router ID of the router that originated the LSA"; - } - - leaf sequence-number { - type int32; - description - "A signed 32-bit integer used to detect old and duplicate - LSAs. The greater the sequence number the more recent the - LSA."; - } - - leaf checksum { - type uint16; - description - "The checksum of the complete contents of the LSA excluding - the age field."; - } - - leaf age { - type uint16; - units seconds; - description - "The time since the LSA's generation in seconds"; - } - } - - grouping ospfv2-lsdb-router-lsa-structure { - description - "Structural grouping for Router LSA contents within the LSDB"; - - container router-lsa { - description - "Contents of the router LSA"; - - container state { - description - "State parameters of the router LSA"; - uses ospfv2-lsdb-router-lsa-state; - } - - uses ospfv2-lsdb-generic-lsa-tos-metric-structure; - } - } - - grouping ospfv2-lsdb-generic-lsa-tos-metric-structure { - description - "Grouping including a generic TOS/metric structure for an - LSA"; - - container types-of-service { - description - "Breakdown of LSA contents specifying multiple - TOS values"; - - list type-of-service { - key "tos"; - description - "Per-type of service parameters for the LSA"; - - leaf tos { - type leafref { - path "../state/tos"; - } - description - "Reference to the type of service identifier which is - specified in the LSA"; - } - - container state { - description - "Per-TOS parameters for the LSA"; - - uses ospfv2-lsdb-generic-lsa-tos-metric-state; - } - } - } - } - - grouping ospfv2-lsdb-network-lsa-structure { - description - "Structural grouping for Network LSA contents within the LSDB"; - - container network-lsa { - description - "Contents of the network LSA"; - - container state { - description - "State parameters of the network LSA"; - uses ospfv2-lsdb-network-lsa-state; - } - } - } - - grouping ospfv2-lsdb-summary-lsa-structure { - description - "Structural grouping for the Summary LSA contents within the - LSDB"; - - container summary-lsa { - description - "Contents of the summary LSA"; - - container state { - description - "State parameters of the summary LSA"; - uses ospfv2-lsdb-summary-lsa-state; - } - - uses ospfv2-lsdb-generic-lsa-tos-metric-structure; - } - } - - grouping ospfv2-lsdb-asexternal-lsa-structure { - description - "Structural grouping for the AS External LSA contents within - the LSDB"; - - container as-external-lsa { - description - "Contents of the AS External LSA"; - - container state { - description - "State parameters for the AS external LSA"; - uses ospfv2-lsdb-asexternal-lsa-state; - } - - container types-of-service { - description - "Breakdown of External LSA contents specifying multiple - TOS values"; - - list type-of-service { - key "tos"; - description - "Per-type of service parameters for the AS External LSA"; - - leaf tos { - type leafref { - path "../state/tos"; - } - description - "Reference to the type of service identifier which is - specified in the AS External LSA"; - } - - container state { - description - "Per-TOS parameters for the LSA"; - - uses ospfv2-lsdb-asexternal-tos-state; - } - } - } - - } - } - - grouping ospfv2-lsdb-nssa-external-lsa-structure { - description - "Structural grouping for the NSSA External LSA contents within - the LSDB"; - - container nssa-external-lsa { - description - "Contents of the NSSA External LSA"; - - container state { - description - "State parameters for the AS external LSA"; - // Type 7 LSAs are are a super-set of Type 5 LSAs so we simply - // include the Type 5 - uses ospfv2-lsdb-asexternal-lsa-state; - uses ospfv2-lsdb-nssa-external-lsa-state; - } - - container types-of-service { - description - "Breakdown of the NSSA External LSA contents specifying multiple - TOS values"; - - list type-of-service { - key "tos"; - description - "Per-type of service parameters for the NSSA external LSA"; - - leaf tos { - type leafref { - path "../state/tos"; - } - description - "Reference to the type of services identifier which is specified - in the NSSA External LSA"; - } - - container state { - description - "Per-TOS parameters for the LSA"; - uses ospfv2-lsdb-asexternal-tos-state; - } - } - } - } - } - - grouping ospfv2-lsdb-opaque-lsa-structure { - description - "Structural grouping for Opaque LSA contents within the LSDB"; - - container opaque-lsa { - description - "Contents of the opaque LSA"; - - container state { - description - "State parameters for the opaque LSA"; - uses ospfv2-lsdb-opaque-lsa-state; - } - - container traffic-engineering { - when "../state/type = 'TRAFFIC_ENGINEERING'" { - description - "Include the traffic-engineering information when - the Opaque LSA being described is a Traffic Engineering - LSA"; - } - description - "Contents of the Traffic Engineering Opaque LSA"; - - container tlvs { - description - "The TLVs contained in the TE Opaque LSA"; - list tlv { - // this is an unkeyed list - description - "The Type-Length-Value tuples included in the TE LSA"; - - container state { - description - "The contents of the TLV tuple within the TE LSA"; - uses ospfv2-lsdb-opaque-lsa-te-tlv-state; - } - - uses ospfv2-lsdb-common-unknown-tlv-structure; - - container router-address { - when "../state/type = 'TE_ROUTER_ADDRESS'" { - description - "Include the router address container only when the type - of the TLV is Router Address"; - } - - description - "Parameters included in the Router Address TLV"; - - container state { - description - "State parameters of the router address TLV"; - uses ospfv2-lsdb-opaque-te-router-address-state; - } - } - - container link { - when "../state/type = 'TE_ROUTER_LINK'" { - description - "Include the link container only when the type of the - TLV describes a traffic engineering link"; - } - - description - "Parameters included in the Link TLV"; - container sub-tlvs { - description - "Sub-TLVs included in the Link TLV"; - - list sub-tlv { - // unkeyed list - description - "The Sub-TLVs included within the Traffic Engineering - LSA's sub-TLV"; - - container state { - description - "State parameters of the Link Sub-TLV"; - - uses ospfv2-lsdb-opaque-te-link-state; - } - - uses ospfv2-lsdb-common-unknown-subtlv-structure; - - container unreserved-bandwidths { - description - "The unreserved link bandwidths for the Traffic - Engineering LSA - utilised when the sub-TLV type - indicates that the sub-TLV describes unreserved - bandwidth"; - - list unreserved-bandwidth { - key "priority"; - - description - "The unreserved bandwidth at each priority level"; - - leaf priority { - type leafref { - path "../state/priority"; - } - description - "A reference to the priority level being described"; - } - - container state { - description - "State parameters relating to the unreserved - bandwidth of the link being described"; - uses ospfv2-lsdb-opaque-te-link-unreserved-bw-state; - } - } - } - - container administrative-groups { - description - "The administrative groups that are set for the - Traffic Engineering LSA - utilised when the sub-TLV type - indicates that the sub-TLV describes administrative - groups"; - - list admin-group { - key "bit-index"; - - description - "The administrative group described within the - sub-TLV"; - - leaf bit-index { - type leafref { - path "../state/bit-index"; - } - description - "A reference to the bit index being described"; - } - - container state { - description - "State parameters relating to the administrative - groups being described for the link"; - uses ospfv2-lsdb-opaque-te-link-admin-group-state; - } - } - } - } - } - } - - container node-attribute { - when "../state/type = 'TE_NODE_ATTRIBUTE'" { - description - "Include the node-attribute container only when the type of - the TLV describes a node attribute"; - } - - description - "Parameters included in the Node Attribute TLV"; - - container sub-tlvs { - description - "Sub-TLVs of the Node Attribute TLV of the Traffic - Engineering LSA"; - - list sub-tlv { - // unkeyed list - description - "List of the Sub-TLVs contained within the Node Attribute - TLV"; - - container state { - description - "State parameters of the Node Attribute TLV sub-TLV"; - uses ospfv2-lsdb-opaque-te-node-attribute-state; - } - - uses ospfv2-lsdb-common-unknown-subtlv-structure; - } - } - } - - // A set of TLVs are omitted here - based on operational - // requirements, these are: - // * link-local - // * ipv6-address (OSPFv3 only) - // * optical-node-property - } - } - } // traffic-engineering - - container grace-lsa { - when "../state/type = 'GRACE_LSA'" { - description - "Include the grace-lsa container when the opaque LSA is specified - to be of that type."; - } - - description - "The Grace LSA is utilised when a remote system is undergoing - graceful restart"; - - container tlvs { - description - "TLVs of the Grace LSA"; - - list tlv { - description - "TLV entry in the Grace LSA, advertised by a system undergoing - graceful restart"; - - // unkeyed list - container state { - description - "Per-TLV state parameters of the Grace LSA"; - uses ospfv2-lsdb-opaque-grace-state; - } - uses ospfv2-lsdb-common-unknown-tlv-structure; - } - } - } // grace LSA - - container router-information { - when "../state/type = 'ROUTER_INFORMATION_LSA'" { - description - "Include the router-information container when the opaque LSA - type is specified to be an RI LSA"; - } - - description - "The router information LSA is utilised to advertise capabilities - of a system to other systems who receive the LSA"; - - container tlvs { - description - "The TLVs included within the Router Information LSA."; - - list tlv { - description - "TLV entry in the Router Information LSA"; - - // unkeyed list - container state { - description - "Per-TLV state parameters of the RI LSA"; - uses ospfv2-lsdb-opaque-ri-state; - } - - uses ospfv2-lsdb-common-unknown-tlv-structure; - - container informational-capabilities { - when "../state/type = 'RI_INFORMATIONAL_CAPABILITIES'" { - description - "Include the informational capabilities specification when - the TLV of the RI LSA is specified to be of this type"; - } - - description - "Information related to the capabilities of the advertising - router within the scope that the opaque RI LSA is being - advertised"; - - container state { - description - "State parameters of the informational capabilitis of the - RI LSA"; - uses ospfv2-lsdb-opaque-ri-informational-state; - } - } - - container node-administrative-tags { - when "../state/type = 'RI_NODE_ADMIN_TAG'" { - description - "Include the node administrative tags specification when - the TLV of the RI LSA is specified to be of this type"; - } - - description - "Per-node administrative tags associated with the local system - specified by the operator"; - - container state { - description - "State parameters of the node administrative tags advertised - in the RI LSA"; - uses ospfv2-lsdb-opaque-ri-admintag-state; - } - } - - container segment-routing-algorithm { - when "../state/type = 'RI_SR_ALGORITHM'" { - description - "Include the segment routing algorithm specific parameters when - the TLV of the RI LSA is specified to be of this type"; - } - - description - "The algorithms supported for Segment Routing by the local system"; - - container state { - description - "State parameters of the Segment Routing algorithm advertised in - the RI LSA"; - uses ospfv2-lsdb-opaque-ri-sralgo-state; - } - } - - container segment-routing-sid-label-range { - when "../state/type = 'RI_SR_SID_LABEL_RANGE'" { - description - "Include the segment routing SID/Label range TLV specific state when - the TLV of the RI LSA is specified to be of this type"; - } - - description - "The Segment Identifier (SID) or label ranges that are supported by - the local system for Segment Routing"; - - container tlvs { - description - "Sub-TLVs of the SID/Label range TLV of the RI LSA"; - - list tlv { - // unkeyed list - description - "Sub-TLVs of the SID/Label range TLV"; - - uses ospfv2-lsdb-common-unknown-tlv-structure; - - container state { - description - "State parameters of the sub-TLVs of the SR/Label range TLV"; - uses ospfv2-lsdb-opaque-ri-srrange-tlv-state; - } - - container sid-label { - description - "Sub-TLV used to advertise the SID or label associated with the - subset of the SRGB being advertised"; - - container state { - description - "State parameters of the SID/Label sub-TLV of the SR/Label - range TLV of the RI LSA"; - uses ospfv2-lsdb-opaque-ri-srrange-sid-label-tlv-state; - } - } - } - } - } - } - } - } // router-information - - container extended-prefix { - when "../state/type = 'OSPFV2_EXTENDED_PREFIX'" { - description - "Include the extended-prefix container when the opaque LSA - type is specified to be an extended prefix LSA"; - } - - description - "An OSPFv2 Extended Prefix Opaque LSA, used to encapsulate - TLV attributes associated with a prefix advertised in OSPF."; - - reference "RFC7684 - OSPFv2 Prefix/Link Attribute Advertisement"; - - container state { - description - "State parameters of the Extended Prefix LSA"; - uses ospfv2-lsdb-extended-prefix-state; - } - - container tlvs { - description - "TLVs contained within the Extended Prefix LSA"; - - list tlv { - // unkeyed list - description - "A TLV contained within the extended prefix LSA"; - - container state { - description - "State parameters relating to the sub-TLV of the extended - prefix LSA"; - uses ospfv2-lsdb-extended-prefix-tlv-state; - } - - container extended-prefix-range { - when "../state/type = 'EXTENDED_PREFIX_RANGE'" { - description - "Include the prefix range sub-TLV when the type of the - sub-TLV is specified as such"; - } - - description - "State parameters relating to the extended prefix range - sub-TLV of the extended prefix LSA"; - - container state { - description - "State parameters relating to the Extended Prefix Range - sub-TLV of the Extended Prefix LSA"; - uses ospfv2-lsdb-extended-prefix-range-state; - } - } - - container prefix-sid { - when "../state/type = 'PREFIX_SID'" { - description - "Include parameters relating to the Prefix SID when the type - of the sub-TLV is indicated as such"; - } - - description - "State parameters relating to the Prefix SID sub-TLV of the - extended prefix LSA"; - - container state { - description - "State parameters relating to the Prefix SID sub-TLV of the - extended prefix LSA"; - uses ospfv2-lsdb-extended-prefix-prefix-sid-state; - } - } // prefix-sid - - container sid-label-binding { - when "../state/type = 'SID_LABEL_BINDING'" { - description - "Include parameters relating to the SID/Label binding sub-TLV - only when the type is indicated as such"; - } - - description - "State parameters relating to the SID/Label binding sub-TLV - of the extended prefix LSA"; - - container state { - description - "State parameters relating to the SID/Label binding sub-TLV - of the extended prefix LSA"; - uses ospfv2-lsdb-extended-prefix-sid-label-binding-state; - } - - container tlvs { - description - "TLVs contained within the SID/Label Binding sub-TLV of the - SID/Label Binding TLV"; - - list tlv { - description - "A TLV contained within the SID/Label Binding sub-TLV"; - - container state { - description - "State parameters relating to the SID/Label Binding - sub-TLV"; - uses ospfv2-lsdb-extended-prefix-sid-label-binding-tlv-state; - } - - container sid-label-binding { - when "../state/type = 'SID_LABEL_BINDING'" { - description - "Include the SID/Label Binding sub-TLV parameters only - when the type is indicated as such"; - } - - description - "Parameters for the SID/Label Binding sub-TLV of the - SID/Label binding TLV"; - - container state { - description - "State parameteres relating to the SID/Label Binding - sub-TLV"; - uses ospfv2-lsdb-extprefix-sid-label-binding-state; - } - } // sid-label-binding - - container ero-metric { - when "../state/type = 'ERO_METRIC'" { - description - "Include the ERO Metric sub-TLV parameters only when - the type is indicated as such"; - } - - description - "Parameters for the ERO Metric Sub-TLV of the SID/Label - binding TLV"; - - container state { - description - "State parameters relating to the ERO Metric Sub-TLV of - the SID/Label binding TLV"; - uses ospfv2-lsdb-extprefix-sid-label-ero-metric-state; - } - } // ero-metric - - container ero-path { - when "../state/type = 'ERO_PATH'" { - description - "Include the ERO Path sub-TLV parameters only when the - type is indicated as such"; - } - - description - "Parameters for the ERO Path Sub-TLV of the SID/Label - binding TLV"; - - container segments { - description - "Segments of the path described within the SID/Label - Binding sub-TLV"; - - list segment { - description - "A segment of the path described within the sub-TLV"; - - container state { - description - "State parameters relating to the path segment - contained within the sub-TLV"; - uses ospfv2-lsdb-extprefix-sid-lbl-ero-path-seg-state; - } - - container ipv4-segment { - when "../state/type = 'IPV4_SEGMENT'" { - description - "Include the IPv4 segment only when the type is - indicated as such"; - } - - description - "Details of the IPv4 segment interface of the ERO"; - - container state { - description - "State parameters of the IPv4 segment of the ERO"; - uses ospfv2-lsdb-extprefix-sid-lbl-ero-ipv4-state; - } - } // ipv4-segment - - container unnumbered-hop { - when "../state/type = 'UNNUMBERED_INTERFACE_SEGMENT'" { - description - "Include the unnumbered segment only when the - type is indicated as such"; - } - - description - "Details of the unnumbered interface segment of the - ERO"; - - container state { - description - "State parameters of the unnumbered interface - segment of the ERO"; - uses ospfv2-lsdb-extprefix-sid-lbl-ero-unnum-state; - } - } // unnumbered-hop - } // tlv - } // tlvs - } - } - } - } // sid-label-binding - - uses ospfv2-lsdb-common-unknown-tlv-structure; - } - } - } // extended-prefix - - container extended-link { - description - "The OSPFv2 Extended Link Opaque LSA, used to encapsulate TLV - attributes associated with a link advertised in OSPF."; - - reference "RFC7684 - OSPFv2 Prefix/Link Attribute Advertisement"; - - container state { - description - "State parameters of the Extended Link LSA"; - uses ospfv2-lsdb-extended-link-state; - } - - container tlvs { - description - "TLVs contained within the Extended Link LSA"; - - list tlv { - description - "List of TLVs within the Extended Link LSA"; - - container state { - description - "State parameters relating to the sub-TLV of the extended link - LSA"; - uses ospfv2-lsdb-extended-link-tlv-state; - } - - uses ospfv2-lsdb-common-unknown-tlv-structure; - - container adjacency-sid { - when "../state/type = 'ADJACENCY_SID'" { - description - "Include the Adjacency SID parameters only when the type of - the sub-TLV is indicated as such"; - } - - description - "Parameters relating to an Adjacency SID sub-TLV of the - extended link LSA"; - - container state { - description - "State parameters relating to an Adjacency SID"; - - uses ospfv2-lsdb-extended-link-adj-sid-state; - } - } - } - } - - } // extended-link - - uses ospfv2-lsdb-common-unknown-tlv-structure; - } - } - - grouping ospfv2-lsdb-generic-lsa-tos-metric-state { - description - "Per-TOS state parameters for the Router LSA"; - - uses ospfv2-lsdb-common-tos-metric; - } - - grouping ospfv2-lsdb-router-lsa-state { - description - "Parameters of the router LSA"; - - leaf type { - type identityref { - base "oc-ospf-types:ROUTER_LSA_TYPES"; - } - description - "The sub-type of the Router LSA."; - } - - uses ospfv2-lsdb-common-link-specification; - - leaf metric { - type oc-ospf-types:ospf-metric; - description - "The cost of utilising the link specified independent of TOS"; - } - - leaf number-links { - type uint16; - description - "The number of links that are described within the LSA"; - } - - leaf number-tos-metrics { - type uint16; - description - "The number of different TOS metrics given for this link, not - including the link metric (which is referred to as TOS 0)."; - } - } - - grouping ospfv2-lsdb-network-lsa-state { - description - "Parameters of the Network LSA"; - - leaf network-mask { - type uint8 { - range "0..32"; - } - description - "The mask of the network described by the Network LSA - represented as a CIDR mask."; - } - - leaf-list attached-router { - type yang:dotted-quad; - description - "A list of the router ID of the routers that are attached to - the network described by the Network LSA"; - } - } - - grouping ospfv2-lsdb-summary-lsa-state { - description - "Parameters of the Summary LSA"; - - leaf network-mask { - type uint8 { - range "0..32"; - } - description - "The mask of the network described by the Summary LSA - represented as a CIDR mask."; - } - } - - grouping ospfv2-lsdb-asexternal-lsa-common-parameters { - description - "Common parameters that are used for OSPFv2 AS External LSAs"; - - leaf forwarding-address { - type inet:ipv4-address-no-zone; - description - "The destination to which traffic for the external prefix - should be advertised. When this value is set to 0.0.0.0 then - traffic should be forwarded to the LSA's originator"; - } - - leaf external-route-tag { - type uint32; - description - "An opaque tag that set by the LSA originator to carry - information relating to the external route"; - } - } - - grouping ospfv2-lsdb-asexternal-lsa-state { - description - "Parameters for the AS External LSA"; - - leaf mask { - type uint8 { - range "0..32"; - } - description - "The subnet mask for the advertised destination"; - } - - leaf metric-type { - type enumeration { - enum "TYPE_1" { - description - "When the metric of a prefix is specified as Type 1 - then it is considered to be expressed in the same units as - the link-state metrics carried in OSPF. That is to say - that the metric advertised is directly compared to the - internal cost"; - } - enum "TYPE_2" { - description - "When the metric of a prefix is specified as Type 2 then - it is considered to be expressed as a cost in addition to - that of the link-state metric to the advertising router. - That is to say that the metric is considered to be the - cost to the advertising router plus the advertised metric - for the external entity"; - } - } - description - "The type of metric included within the AS External LSA."; - } - - leaf metric { - type oc-ospf-types:ospf-metric; - description - "The cost to reach the external network specified. The exact - interpretation of this cost is dependent on the type of - metric specified"; - } - - uses ospfv2-lsdb-asexternal-lsa-common-parameters; - } - - grouping ospfv2-lsdb-asexternal-tos-state { - description - "Per-TOS parameters for the AS External LSA"; - - uses ospfv2-lsdb-asexternal-lsa-common-parameters; - uses ospfv2-lsdb-common-tos-metric; - } - - grouping ospfv2-lsdb-nssa-external-lsa-state { - description - "Operational state parameters specific to the NSSA External - LSA"; - - leaf propagate { - type boolean; - description - "When this bit is set to true, an NSSA border router will - translate a Type 7 LSA (NSSA External) to a Type 5 LSA - (AS External)."; - reference "RFC3101, Section 2.3"; - } - } - - grouping ospfv2-lsdb-opaque-lsa-state { - description - "Operational state parameters specific to an Opaque LSA"; - - leaf scope { - type enumeration { - enum LINK { - description - "The scope of the LSA is the current link. The LSA - is not flooded beyond the local network. This - enumeration denotes a Type 9 LSA."; - } - enum AREA { - description - "The scope of the LSA is the local area. The LSA - is not flooded beyond the area of origin. This - enumeration denotes a Type 10 LSA."; - } - enum AS { - description - "The scope of the LSA is the local autonomous - system (AS). The flooding domain is the same - as a Type 5 LSA - it is not flooded into - stub areas or NSSAs. This enumeration denotes a - Type 11 LSA."; - } - } - description - "The scope of the opaque LSA. The type of the LSA - indicates its scope - the value of this leaf - determines both the flooding domain, and the type - of the LSA."; - } - - leaf type { - type identityref { - base "oc-ospf-types:OSPF_OPAQUE_LSA_TYPE"; - } - description - "The Opaque Type of the LSA. This value is used to - indicate the type of data carried by the opaque LSA"; - } - } - - grouping ospfv2-lsdb-opaque-lsa-te-tlv-state { - description - "The contents of the Traffic Engineering LSA"; - - leaf type { - type identityref { - base "oc-ospf-types:OSPF_TE_LSA_TLV_TYPE"; - } - description - "The type of TLV within the Traffic Engineering LSA"; - } - } - - grouping ospfv2-lsdb-opaque-te-unknown-state { - description - "The contents of the unknown TLV within the Traffic Engineering LSA"; - - uses ospfv2-lsdb-common-unknown-tlv; - } - - grouping ospfv2-lsdb-opaque-te-link-state { - description - "The contents of the sub-TLVs of a Traffic Engineering LSA Link TLV"; - - leaf type { - type union { - type identityref { - base "oc-ospf-types:OSPF_TE_LINK_TLV_TYPE"; - } - type enumeration { - enum UNKNOWN { - description - "The sub-TLV received in the LSA is unknown to the local - system"; - } - } - } - description - "The sub-TLV type specified in the Link TLV. When the value is - known by the local system, a canonical name of the sub-TLV is utilised - - the special UNKNOWN value indicates that the system did not - support the sub-TLV type received in the LSA."; - } - - leaf unknown-type { - when "../type = 'UNKNOWN'" { - description - "Include the unknown type field only when the sub-TLV was not - known to the local system"; - } - - type uint16; - description - "The value of the type field of an unknown sub-TLV"; - } - - leaf unknown-value { - when "../type = 'UNKNOWN'" { - description - "Include the unknown value field only when the sub-TLV was not - known to the local system"; - } - - type binary; - description - "The binary contents of the unknown TLV"; - } - - leaf link-type { - when "../type = 'TE_LINK_TYPE'" { - description - "Include the link-type field only when the sub-TLV type was a TE - link type"; - } - - type enumeration { - enum POINT_TO_POINT { - description - "The link being described by the TE LSA Link sub-TLV is a - point-to-point link to exactly one other system"; - } - enum MULTI_ACCESS { - description - "The link being described by the TE LSA Link sub-TLV is a - multi-access link that supports connectivity to multiple remote - systems"; - } - enum UNKNOWN { - description - "The link type received was unknown to the local system"; - } - } - description - "The type of the link that is being described by the TE LSA Link - sub-TLV"; - } - - leaf link-id { - when "../type = 'TE_LINK_ID'" { - description - "Include the link ID field only when the sub-TLV type was a TE - Link identifier"; - } - - type yang:dotted-quad; - description - "The ID of the remote system. For point-to-point links, this is the - router ID of the neighbor. For multi-access links it is the address - of the designated router."; - } - - leaf-list local-ip-address { - when "../type = 'TE_LINK_LOCAL_IP'" { - description - "Include the local IP address field only when the sub-TLV type was - a local IP address"; - } - - type inet:ipv4-address-no-zone; - description - "The IP address(es) of the local system that correspond to the - specified TE link"; - } - - leaf-list remote-ip-address { - when "../type = 'TE_LINK_REMOTE_IP'" { - description - "Include the remote IP address field only when the sub-TLV type was - a remote IP address"; - } - - type inet:ipv4-address-no-zone; - description - "The IP address(es) of the remote systems that are attached to the - specified TE link"; - } - - leaf metric { - when "../type = 'TE_LINK_METRIC'" { - description - "Include the traffic engineering metric only when the sub-TLV type - is a TE metric"; - } - - type uint32; - description - "The metric of the link that should be used for traffic engineering - purposes. This link may be different than the standard OSPF link - metric."; - } - - leaf maximum-bandwidth { - when "../type = 'TE_LINK_MAXIMUM_BANDWIDTH'" { - description - "Include the traffic engineering metric only when the sub-TLV type - is the maximum bandwidth"; - } - - type oc-types:ieeefloat32; - units "bytes per second"; - description - "The maximum bandwidth of the link. This value reflects the actual - bandwidth of the link expressed asn IEEE 32-bit floating point - number"; - } - - leaf maximum-reservable-bandwidth { - when "../type = 'TE_LINK_MAXIUMUM_RESERVABLE_BANDWIDTH'" { - description - "Include the maximum reservable bandwidth field only when the - sub-TLV type is the maximum reservable bandwidth"; - } - - type oc-types:ieeefloat32; - units "bytes per second"; - description - "The maximum reservable bandwidth for the link. This value represents - the total bandwidth which may be used for traffic engineering - purposes. The value may exceed the maximum-bandwidth value - in cases where the link is oversubscribed. The value is reflected as - a 32-bit IEEE floating-point number"; - } - } - - grouping ospfv2-lsdb-opaque-te-link-unreserved-bw-state { - description - "The per-priority unreserved bandwidth described within the unreserved - bandwidth sub-TLV of the Link TLV of the Traffic Engineering LSA"; - - leaf priority { - type uint8 { - range "0..7"; - } - description - "The priority level being described"; - } - - leaf unreserved-bandwidth { - type oc-types:ieeefloat32; - description - "The unreserved bandwidth for at priority level P, where P is - equal to the priority of the current list entry. The reservable - bandwidth at priority P is equal to the sum of the reservable - bandwidth at all levels 0..P."; - } - } - - grouping ospfv2-lsdb-opaque-te-link-admin-group-state { - description - "Per bit administrative group status"; - - leaf bit-index { - type uint8 { - range "0..31"; - } - description - "The index of the bit within the 32-bit administrative group field - of the Administrative Group sub-TLV of the Traffic Engineering LSA"; - } - - leaf set { - type boolean; - default false; - description - "Whether the bit is set within the administrative group field"; - } - } - - grouping ospfv2-lsdb-opaque-te-node-attribute-state { - description - "State parameters relating to the Traffic Engineering Node Attribute - TLV of the Traffic Engineering LSA"; - - leaf type { - type union { - type identityref { - base "oc-ospf-types:TE_NODE_ATTRIBUTE_TLV_TYPE"; - } - type enumeration { - enum UNKNOWN { - description - "The sub-TLV type received within the TE LSA Node Attribute TLV - was unknown the the local system"; - } - } - } - description - "The type of the sub-TLV of the Node Attribute TLV contained within - the TE LSA. If the local system can interpret the value received the - canonical name of the type is utilised, otherwise the special UNKNOWN - value is used"; - } - - leaf-list local-ipv4-addresses { - when "../type = 'NODE_IPV4_LOCAL_ADDRESS'" { - description - "Include the local IPv4 addresses when the type of the sub-TLV - indicates that this is the contained data"; - } - - type inet:ipv4-prefix; - description - "The local IPv4 addresses of the node expressed in CIDR notation"; - } - - leaf-list local-ipv6-addresses { - when "../type = 'NODE_LOCAL_IPV6_ADDRESS'" { - description - "Include the local IPv6 addresses when the type of the sub-TLV - indicfates that this is the contained data"; - } - - type inet:ipv6-prefix; - description - "The local IPv6 addreses of the node"; - } - } - - grouping ospfv2-lsdb-opaque-te-router-address-state { - description - "The contents of the value field of the Router Address TLV of the - Traffic Engineering LSA."; - - leaf address { - type inet:ipv4-address-no-zone; - description - "A stable IP address of the advertising router, that is always - reachable when the router is connected to the network. Typically this - is a loopback address."; - } - } - - grouping ospfv2-lsdb-opaque-grace-state { - description - "State parameters on a per-TLV basis of the Grace LSA"; - - leaf type { - type identityref { - base "oc-ospf-types:GRACE_LSA_TLV_TYPES"; - } - description - "The type of the sub-TLV received within the Grace LSA"; - } - - leaf period { - when "../type = 'GRACE_PERIOD'" { - description - "Include the period specification when the sub-TLV type is indicated - to be of this type"; - } - - type uint32; - units seconds; - description - "The number of seconds that the router's neighbors should advertise - the local system as fully adjacent regardless of database - synchronization state"; - reference "RFC3623"; - } - - leaf reason { - when "../type = 'GRACE_RESTART_REASON'" { - description - "Include the restart reason when the sub-TLV type specifies this - is included"; - } - - type enumeration { - enum UNKNOWN { - value 0; - description - "The reason for the graceful restart is unknown"; - } - enum SOFTWARE_RESTART { - value 1; - description - "The local system is restarting due to a software component - restart"; - } - enum SOFTWARE_RELOAD_UPGRADE { - value 2; - description - "The local system is restarting due to a software reload or - upgrade"; - } - enum CONTROL_PROCESSOR_SWITCH { - value 3; - description - "The local system is restarting due to a switch to a redundant - control plane element"; - } - } - description - "The reason for the graceful restart event occurring, as advertised - by the restarting system"; - reference "RFC3623"; - } - - leaf ip-interface-address { - when "../type = 'GRACE_IP_INTERFACE_ADDRESS'" { - description - "Include the interface address when the sub-TLV type specifies that - it is included"; - } - - type inet:ipv4-address-no-zone; - description - "The restarting system's IP address on the interface via which the - Grace LSA is being advertised."; - } - } - - grouping ospfv2-lsdb-opaque-ri-state { - description - "State parameters of the Router Information Opaque LSA"; - - leaf type { - type union { - type identityref { - base "oc-ospf-types:RI_LSA_TLV_TYPES"; - } - type enumeration { - enum UNKNOWN { - description - "The TLV received within the RI LSA is unknown"; - } - } - } - description - "The type of sub-TLV of the Router Information opaque LSA"; - } - } - - grouping ospfv2-lsdb-opaque-ri-informational-state { - description - "State parmaeters of the Router Information Informational Capabilities - sub-TLV"; - - leaf graceful-restart-capable { - type boolean; - default false; - description - "When this leaf is set to true, the advertising system is capable of - OSPF graceful restart."; - } - - leaf graceful-restart-helper { - type boolean; - default false; - description - "When this leaf is set to true, the advertising system is capable of - being a helper for OSPF graceful restart"; - } - - leaf stub-router { - type boolean; - default false; - description - "When this leaf is set to true, the advertising system is able to - advertise its status as a stub router"; - reference "RFC6987"; - } - - leaf traffic-engineering { - type boolean; - default false; - description - "When this leaf is set to true, the advertising system supports OSPFv2 - traffic engineering capabilities"; - } - - leaf point-to-point-over-lan { - type boolean; - default false; - description - "When this leaf is set to true, the advertising system supports treating - LAN adjacencies as though they were point to point"; - reference "RFC5309"; - } - - leaf experimental-te { - type boolean; - default false; - description - "When this leaf is set to ture, the advertising system supports the - experimental extensions to OSPF for TE described in RFC4973"; - reference "RFC4973"; - } - } - - grouping ospfv2-lsdb-opaque-ri-admintag-state { - description - "State parameters relating to the administrative tags specified for - a node within the RI LSA"; - - leaf-list administrative-tags { - type uint32; - description - "The set of administrative tags assigned to the local system by - the network operator. The meaning of these tags is opaque to OSPF - - and their interpretation is per-domain specific"; - reference "RFC7777"; - } - } - - grouping ospfv2-lsdb-opaque-ri-unknown-state { - description - "State parameters relating to an unknown TLV within the RI LSA"; - uses ospfv2-lsdb-common-unknown-tlv; - } - - grouping ospfv2-lsdb-opaque-ri-sralgo-state { - description - "State parameters relating to the SR Algorithms TLV of the RI LSA"; - - leaf-list supported-algorithms { - type identityref { - base "oc-ospf-types:SR_ALGORITHM"; - } - description - "A list of the algorithms that are supported for segment routing - by the advertising system"; - } - } - - grouping ospfv2-lsdb-opaque-ri-srrange-tlv-state { - description - "State parameters relating to the SR SID/Label range TLV of the - RI LSA"; - - leaf type { - type union { - type identityref { - base "oc-ospf-types:OSPF_RI_SR_SID_LABEL_TLV_TYPES"; - } - type enumeration { - enum UNKNOWN { - description - "The type of the sub-TLV advertised with the SID/Label range - TLV of the RI LSA is unknown to the receiving system"; - } - } - } - description - "The type of the sub-TLV received by the local system within the - SR SID/Label Range TLV of the RI LSA"; - } - - leaf range-size { - type uint32 { - range "0..16777216"; - } - description - "The number of entries within the range being described within the - SID/Label range TLV"; - } - } - - grouping ospfv2-lsdb-opaque-ri-srrange-sid-label-tlv-state { - description - "State parameters relating to the SR SID/Label sub-TLV of the SR SID/Label - range TLV of the RI LSA"; - - leaf entry-type { - type oc-ospf-types:sr-sid-type; - description - "The type of entry that is contained within the sub-TLV. The range may - be represented as either a range of MPLS labels, or numeric segment - identifiers"; - } - - leaf first-value { - type uint32; - description - "The first value within the SRGB range being specified. The type of the - entry is determined based on the value of the entry type as this value - may represent either a segment identifier or an MPLS label."; - } - } - - grouping ospfv2-lsdb-extended-prefix-state { - description - "State parameters relating to an Extended Prefix LSA"; - - leaf route-type { - type enumeration { - enum UNSPECIFIED { - value 0; - description - "The prefix described in the extended prefix LSA is of an - unspecified type"; - } - enum INTRA_AREA { - value 1; - description - "The prefix described in the extended prefix LSA is an intra-area - prefix for the advertising system"; - } - enum INTER_AREA { - value 3; - description - "The prefix described in the extended prefix LSA is an inter-area - prefix for the advertising system"; - } - enum AS_EXTERNAL { - value 5; - description - "The prefix described in the extended prefix LSA is external to the - autonomous system of the advertising system"; - } - enum NSSA_EXTERNAL { - value 7; - description - "The prefix described in the extended prefix LSA externally - advertised from an NSSA area visibile to the advertising system"; - } - } - description - "The type of prefix that is contained within the Extended Prefix LSA. - The information contained in sub-TLVs of the attribute is applicable - regardless of this value."; - } - - uses ospfv2-lsdb-common-prefix-properties; - - leaf attached { - type boolean; - default false; - description - "If this value is set to true, the prefix being advertised was - generated by an ABR for an inter-area prefix. The value corresponds - to the A-flag of the flags field of the Extended Prefix LSA"; - } - - leaf node { - type boolean; - default false; - description - "If this value is set to true, the prefix being advertised represents - the advertising router. Typically, the prefix within the LSA is - expected to be globally-reachable prefix associated with a loopback - interface"; - } - - leaf prefix { - type inet:ipv4-address-no-zone; - description - "The IPv4 prefix contained within the extended prefix LSA"; - } - } - - grouping ospfv2-lsdb-extended-link-state { - description - "State parameters related to an extended link LSA"; - - leaf link-type { - type identityref { - base "oc-ospf-types:OSPFV2_ROUTER_LINK_TYPE"; - } - description - "The type of link with which extended attributes are associated"; - } - - uses ospfv2-lsdb-common-link-specification; - - } - - grouping ospfv2-lsdb-extended-link-tlv-state { - description - "State parameters relating to a sub-TLV of the extended link LSA"; - - leaf type { - type identityref { - base "oc-ospf-types:OSPFV2_EXTENDED_LINK_SUBTLV_TYPE"; - } - description - "The type of the sub-TLV contained within the extended link TLV"; - } - } - - grouping ospfv2-lsdb-extended-prefix-tlv-state { - description - "State parameters related to a sub-TLV of an Extended Prefix LSA"; - - leaf type { - type identityref { - base "oc-ospf-types:OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; - } - description - "The type of sub-TLV as indicated by the Extended Prefix LSA"; - } - } - - grouping ospfv2-lsdb-extended-prefix-range-state { - description - "Parameters of the Extended Prefix Range SubTLV"; - - uses ospfv2-lsdb-common-prefix-properties; - - leaf range-size { - type uint16; - description - "The number of prefixes that are covered by the advertisement."; - } - - leaf inter-area { - type boolean; - default false; - description - "When this leaf is set to true, then the prefix range is inter-area - - the flag is set by the ABR that advertises the Extended Prefix Range - TLV"; - } - - leaf prefix { - type inet:ipv4-prefix; - description - "The first prefix in the range of prefixes being described by the - extended prefix range sub-TLV"; - } - } - - grouping ospfv2-lsdb-extended-prefix-prefix-sid-state { - description - "Parameters of the Prefix-SID sub-TLV"; - - leaf no-php { - type boolean; - default false; - description - "If this leaf is set the advertising system has indicated that the - prefix SID must not be popped before delivering packets to it"; - } - - leaf mapping-server { - type boolean; - default false; - description - "If this leaf is set the SID was advertised by a Segment Routing - mapping server"; - } - - leaf explicit-null { - type boolean; - default false; - description - "If this leaf is set, the advertising system has requested that the - prefix SID value should be replaced with the explicit null label - value"; - } - - leaf sid-value-type { - type enumeration { - enum ABSOLUTE { - description - "The SID contained in the Prefix-SID sub-TLV is an absolute - value"; - } - enum INDEX { - description - "The SID contained in the Prefix-SID sub-TLV is an index to the - SRGB"; - } - } - description - "Specifies the type of the value specified within the Prefix SID - sub-TLV - in particular, whether the value is an index or an - absolute value. This value corresponds with the V-flag of the Prefix - SID sub-TLV"; - } - - leaf sid-scope { - type enumeration { - enum LOCAL { - description - "The value of the SID is - significant only to the advertising system"; - } - enum GLOBAL { - description - "The value of the SID is globally significant"; - } - } - description - "Specifies the scope of the SID advertisement within the Prefix SID - sub-TLV. The scope of the SID is independent of whether the SID - contained is an index, or an absolute value"; - } - - leaf multi-topology-identifier { - type uint8; - description - "The identifier for the topology to which the Prefix SID relates. The - value of this leaf is a MT-ID as defined in RFC4915"; - } - - leaf algorithm { - type uint8; - description - "The algorithm that computes the path associated with the Prefix SID"; - } - - leaf sid-value { - type uint32; - description - "The value of the Prefix SID. The meaning of this value is dependent - upon the type of SID, and its scope. The value contained is either a - 32-bit value indicating the index of the SID, or a 24-bit label where - the 20 right-most bits are used for encoding the label value"; - } - } - - grouping ospfv2-lsdb-extended-prefix-sid-label-binding-state { - description - "State parameters relating to the extended prefix SID SID/Label binding - sub-TLV"; - - leaf mirroring { - type boolean; - default false; - description - "When set to true, this indicates that the SID/Label Binding sub-TLV - entries contained within this TLV are indicative of a mirroring - context"; - } - - leaf multi-topology-identifier { - type uint8; - description - "The identifier for the topology to which the SID/Label Binding - sub-TLV is associated. The value of this leaf is a MT-ID as defined - in RFC4915"; - } - - leaf weight { - type uint8; - description - "The weight of the advertised binding when used for load-balancing - purposes"; - } - } - - grouping ospfv2-lsdb-extended-prefix-sid-label-binding-tlv-state { - description - "State parameters directly relating to the SID/Label Binding TLV"; - - leaf type { - type identityref { - base - "oc-ospf-types:OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; - } - description - "The type of sub-TLV that is being contained within the SID/Label - sub-TLV"; - } - } - - grouping ospfv2-lsdb-extprefix-sid-label-binding-state { - description - "State parameters relating to the SID/Label binding sub-TLV of the - SID/Label/Binding TLV"; - - uses ospfv2-lsdb-common-sr-sid-spec; - } - - grouping ospfv2-lsdb-extprefix-sid-label-ero-metric-state { - description - "State parameters relating to the ERO Metric Sub-TLV of the SID/Label - Binding TLV"; - - leaf metric { - type uint32; - description - "The metric representing the aggregate IGP or TE path cost for the - binding included within the SID/Label Binding TLV"; - } - } - - grouping ospfv2-lsdb-extprefix-sid-lbl-ero-path-seg-state { - description - "State parameters relating to the a segment included within the - ERO Path Sub-TLV of the SID/Label Binding TLV"; - - leaf type { - type identityref { - base "oc-ospf-types:OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE"; - } - description - "The type of the segment being specified as part of the ERO"; - } - - leaf loose { - type boolean; - default false; - description - "If this leaf is set the segment is identifier as a loose path - segment, otherwise the path strictly follows the path specified"; - } - } - - grouping ospfv2-lsdb-extprefix-sid-lbl-ero-ipv4-state { - description - "State parameters relating to an IPv4 address segment included within - the ERO path"; - - leaf address { - type inet:ipv4-address-no-zone; - description - "The IPv4 address of the hop within the ERO"; - } - } - - grouping ospfv2-lsdb-extprefix-sid-lbl-ero-unnum-state { - description - "State parameters relating to an unnumbered hop within the ERO path"; - - leaf router-id { - type inet:ipv4-address-no-zone; - description - "The IPv4 router identtifier of the remote system"; - } - - leaf interface-id { - type uint32; - description - "The identifier assigned to the link by the remote system"; - } - } - - grouping ospfv2-lsdb-extended-link-adj-sid-state { - description - "State parameters relating to the Adjacency SID sub-TLV of the - Extended Link LSA"; - - leaf backup { - type boolean; - default false; - description - "When this flag is set, it indicates that the adjacency SID refers to - an adjacency which is eligible for protection"; - } - - leaf group { - type boolean; - default false; - description - "When this flag is set it indicates that the adjacency SID refers to - a group of adjacencies that have a common value"; - } - - uses ospfv2-lsdb-common-sr-sid-spec; - - leaf weight { - type uint8; - description - "The weight of the Adjacency SID when used for load-balancing"; - } - - leaf multi-topology-identifier { - type uint8; - description - "The multi-topology identifier with which the adjacency SID is - associated"; - } - } - - grouping ospfv2-lsdb-structure { - description - "Structural grouping for per-area LSDB contents"; - - container lsdb { - // Top-level RO, if this were ever to become writeable then - // the state containers lower down need config false added - config false; - description - "The link-state database for the OSPFv2 area"; - - container state { - description - "Operational state parameters relating to the OSPFv2 - area"; - - uses ospfv2-lsdb-area-state; - } - - container lsa-types { - description - "Enclosing container for a list of LSA types that are - in the LSDB for the specified area"; - - list lsa-type { - key "type"; - - description - "List of LSA types in the LSDB for the specified - area"; - - leaf type { - type leafref { - path "../state/type"; - } - description - "A reference for the LSA type being described within - the LSDB"; - } - - container state { - description - "Top-level operational state parameters relating to - an LSA within the area"; - uses ospfv2-lsdb-area-lsa-type-state; - } - - container lsas { - description - "Enclosing container for a list of the LSAs of - the specified type received by the system"; - - list lsa { - key "link-state-id"; - - description - "List of the LSAs of a specified type in the - LSDB for the specified area"; - - leaf link-state-id { - type leafref { - path "../state/link-state-id"; - } - description - "Reference to the Link State ID of the LSA"; - } - - container state { - description - "Operational state parameters relating to all - LSA types"; - uses ospfv2-lsdb-area-lsa-state; - } - - uses ospfv2-lsdb-router-lsa-structure { - when "../../state/type = 'ROUTER_LSA'" { - description - "Include the router LSA hierarchy solely when - that LSA type is being described"; - } - } - - uses ospfv2-lsdb-network-lsa-structure { - when "../../state/type = 'NETWORK_LSA'" { - description - "Include the network LSA hierarchy solely when - that LSA type is being described"; - } - } - - uses ospfv2-lsdb-summary-lsa-structure { - // rjs TODO: check this syntax - when "../../state/type = " + - "'SUMMARY_IP_NETWORK_LSA' or " + - "../../state/type = 'SUMMARY_ASBR_LSA'" { - description - "Include the summary LSA hierarchy solely when - that LSA type is being described"; - } - } - - uses ospfv2-lsdb-asexternal-lsa-structure { - when "../../state/type = 'AS_EXTERNAL_LSA'" { - description - "Include the AS external LSA hierarchy solely when - that LSA type is being described"; - } - } - - uses ospfv2-lsdb-nssa-external-lsa-structure { - when "../../state/type = 'NSSA_AS_EXTERNAL_LSA'" { - description - "Include the NSSA External LSA hierarchy solely - when that LSA type is being described"; - } - } - - uses ospfv2-lsdb-opaque-lsa-structure { - when "../../state/type = 'OSPFV2_LINK_SCOPE_OPAQUE_LSA' - or ../../state/type = 'OSPFV2_AREA_SCOPE_OPAQUE_LSA' - or ../../state/type = 'OSPFV2_AS_SCOPE_OPAQUE_LSA'" { - description - "Include the Opaque LSA structure when type of entry - being described in an opaque LSA"; - } - } - } - } - } - } - } - } -} |