diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2023-11-13.yang b/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2023-11-13.yang index b9b8ba5ef..e6eac3b7a 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2023-11-13.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2023-11-13.yang @@ -459,7 +459,6 @@ module ietf-ac-ntw { "When the addresses are allocated by DHCP or other dynamic means local to the infrastructure."; choice address-assign { - default "number"; description "A choice for how IPv4 addresses are assigned."; case number { @@ -601,13 +600,11 @@ module ietf-ac-ntw { "When the addresses are allocated by DHCP or other dynamic means local to the infrastructure."; choice address-assign { - default "number"; description "A choice for how IPv6 addresses are assigned."; case number { leaf number-of-dynamic-address { type uint16; - default "1"; description "Specifies the number of IP addresses to be assigned to the customer on this access."; @@ -794,7 +791,6 @@ module ietf-ac-ntw { } leaf as-override { type boolean; - default "false"; description "Defines whether ASN override is enabled, i.e., replacing the ASN of the customer specified in the AS_PATH attribute with @@ -802,7 +798,6 @@ module ietf-ac-ntw { } leaf allow-own-as { type uint8; - default "0"; description "If set, specifies the maximum number of occurrences of the provider's ASN that are permitted within the AS_PATH @@ -810,7 +805,6 @@ module ietf-ac-ntw { } leaf prepend-global-as { type boolean; - default "false"; description "In some situations, the ASN that is provided at the node level may be distinct from the ASN configured at the AC. @@ -822,7 +816,6 @@ module ietf-ac-ntw { } leaf send-default-route { type boolean; - default "false"; description "Defines whether default routes can be advertised to a peer. If set, the default routes are advertised to a peer."; @@ -881,7 +874,6 @@ module ietf-ac-ntw { "Controls the behavior when a prefix maximum is reached."; leaf max-prefix { type uint32; - default "5000"; description "Indicates the maximum number of BGP prefixes allowed in the BGP session. @@ -901,7 +893,6 @@ module ietf-ac-ntw { range "0..100"; } units "percent"; - default "75"; description "When this value is reached, a warning notification will be triggered."; @@ -943,7 +934,6 @@ module ietf-ac-ntw { range "0..21845"; } units "seconds"; - default "30"; description "This timer indicates the KEEPALIVE messages' frequency between a PE and a BGP peer. @@ -962,7 +952,6 @@ module ietf-ac-ntw { range "0 | 3..65535"; } units "seconds"; - default "90"; description "Indicates the maximum number of seconds that may elapse between the receipt of successive KEEPALIVE and/or UPDATE @@ -1364,7 +1353,6 @@ module ietf-ac-ntw { } leaf metric { type uint16; - default "1"; description "Metric of the sham link. It is used in the routing state calculation and path selection."; @@ -1410,7 +1398,6 @@ module ietf-ac-ntw { } leaf metric { type uint16; - default "1"; description "Metric of the PE-CE link. It is used in the routing state calculation and path selection."; @@ -1429,7 +1416,6 @@ module ietf-ac-ntw { interface."; } } - default "active"; description "IS-IS interface mode type."; } @@ -1495,13 +1481,11 @@ module ietf-ac-ntw { type uint8 { range "1..254"; } - default "100"; description "Sets the local priority of the VRRP speaker."; } leaf ping-reply { type boolean; - default "false"; description "Controls whether the VRRP speaker should reply to ping requests."; @@ -1520,14 +1504,12 @@ module ietf-ac-ntw { type identityref { base vpn-common:bfd-session-type; } - default "vpn-common:classic-bfd"; description "Specifies the BFD session type."; } leaf desired-min-tx-interval { type uint32; units "microseconds"; - default "1000000"; description "The minimum interval between transmissions of BFD Control packets, as desired by the operator."; @@ -1538,7 +1520,6 @@ module ietf-ac-ntw { leaf required-min-rx-interval { type uint32; units "microseconds"; - default "1000000"; description "The minimum interval between received BFD Control packets that the PE should support."; @@ -1550,7 +1531,6 @@ module ietf-ac-ntw { type uint8 { range "1..255"; } - default "3"; description "Specifies the detection multiplier that is transmitted to a BFD peer. @@ -1626,7 +1606,6 @@ module ietf-ac-ntw { "Container for AC encryption."; leaf enabled { type boolean; - default "false"; description "If set to 'true', traffic encryption on the connection is required. Otherwise, it is disabled."; diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2023-11-13.yang b/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2023-11-13.yang index fe2ff9a07..436a01955 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2023-11-13.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2023-11-13.yang @@ -88,6 +88,7 @@ module ietf-ac-svc { description "Defines a reference to an attachment circuit profile."; } + typedef encryption-profile-reference { type leafref { path @@ -424,6 +425,7 @@ module ietf-ac-svc { uses ac-common:isis-authentication; uses vpn-common:service-status; } + // RIP Service grouping rip-svc { @@ -840,6 +842,11 @@ module ietf-ac-svc { if-feature "vpn-common:bfd"; description "Container for BFD."; + leaf profile { + type bfd-profile-reference; + description + "Points to a BFD profile."; + } uses ac-common:bfd; uses vpn-common:service-status; } @@ -853,6 +860,51 @@ module ietf-ac-svc { description "AC-specific bandwith parameters."; uses bandwidth; + container qos { + if-feature "vpn-common:qos"; + description + "QoS configuration."; + container qos-profiles { + description + "QoS profile configuration."; + list qos-profile { + key "profile"; + description + "Points to a QoS profile."; + leaf profile { + type qos-profile-reference; + description + "QoS profile to be used."; + } + leaf direction { + type identityref { + base vpn-common:qos-profile-direction; + } + description + "The direction to which the QoS profile + is applied."; + } + } + } + } + container access-control-list { + description + "Container for the Access Control List (ACL)."; + container acl-profiles { + description + "ACL profile configuration."; + list acl-profile { + key "profile"; + description + "Points to an ACL profile."; + leaf profile { + type forwarding-profile-reference; + description + "Forwarding profile to be used."; + } + } + } + } } } @@ -928,14 +980,14 @@ module ietf-ac-svc { description "A reference to an AC profile."; } - leaf ac-bundle-ref { + leaf ac-parent-ref { type ac-svc:attachment-circuit-reference; description - "Specifies the AC bundle that is inherited by an AC. - AC bundles are used, e.g., in contexts where dynamic - terminating points are managed while stable AC reference - are exposed to services that make use of these dynamic - ACs."; + "Specifies the parent AC that is inherited by an AC. + In contexts where dynamic terminating points are + bound to the same AC, a parent AC with stable + inforamtion is created with a set of child AC + that trackes dynamic informaiton."; } list group { key "group-id"; diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ospf-sr@2023-11-19.yang b/experimental/ietf-extracted-YANG-modules/ietf-ospf-sr@2023-12-01.yang similarity index 70% rename from experimental/ietf-extracted-YANG-modules/ietf-ospf-sr@2023-11-19.yang rename to experimental/ietf-extracted-YANG-modules/ietf-ospf-sr@2023-12-01.yang index 61355f035..d4649106b 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ospf-sr@2023-11-19.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ospf-sr@2023-12-01.yang @@ -1,7 +1,6 @@ module ietf-ospf-sr { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-sr"; - prefix ospf-sr; import ietf-inet-types { @@ -9,70 +8,61 @@ module ietf-ospf-sr { reference "RFC 6991 - Common YANG Data Types"; } - import ietf-yang-types { prefix yang; reference "RFC 6991 - Common YANG Data Types"; } - import ietf-routing-types { prefix rt-types; reference "RFC 8294 - Common YANG Data Types for the Routing Area"; } - import ietf-routing { prefix rt; reference "RFC 8349 - A YANG Data Model for Routing Management (NMDA Version)"; } - import ietf-segment-routing-common { prefix sr-cmn; reference "RFC 9020 - YANG Data Model for Segment Routing"; } - import ietf-segment-routing-mpls { prefix sr-mpls; reference "RFC 9020 - YANG Data Model for Segment Routing"; } - import ietf-ospf { prefix ospf; reference "RFC 9129 - YANG Data Model for the OSPF Protocol"; } - import ietf-ospfv3-extended-lsa { - prefix "ospfv3-e-lsa"; + prefix ospfv3-e-lsa; } organization "IETF LSR - Link State Routing Working Group"; - contact - "WG Web: - WG List: - - Author: Yingzhen Qu - - Author: Acee Lindem - - Author: Derek Yeung - - Author: Jeffrey Zhang - - Author: Ing-Wher Chen - "; - + "WG Web: + WG List: + + Author: Yingzhen Qu + + Author: Acee Lindem + + Author: Derek Yeung + + Author: Jeffrey Zhang + + Author: Ing-Wher Chen + "; description "This YANG module defines the generic configuration - and operational state for OSPF Segment Routing, which is - common across all of the vendor implementations. It is + and operational state for OSPF Segment Routing (SR), which + is common across all of the vendor implementations. It is intended that the module will be extended by vendors to define vendor-specific OSPF Segment Routing configuration and operational parameters and policies. @@ -102,10 +92,10 @@ module ietf-ospf-sr { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; + reference + "RFC XXXX"; - reference "RFC XXXX"; - - revision 2023-11-19 { + revision 2023-12-01 { description "Initial revision."; reference @@ -125,12 +115,12 @@ module ietf-ospf-sr { computation using segment routing."; reference "draft-ietf-rtgwg-segment-routing-ti-lfa - - Topology Independent Fast Reroute using Segment Routing"; + Topology-Independent Fast Reroute using Segment Routing"; } identity prefix-sid-bit { description - "Base identity for prefix sid sub-tlv bits."; + "Base identity for prefix SID sub-TLV bits."; reference "RFC 8665: OSPF Extensions for Segment Routing RFC 8666: OSPFv3 Extensions for Segment Routing"; @@ -182,13 +172,13 @@ module ietf-ospf-sr { identity adj-sid-bit { description - "Base identity for adj sid sub-tlv bits."; + "Base identity for Adj-SID sub-TLV bits."; reference "RFC 8665: OSPF Extensions for Segment Routing RFC 8666: OSPFv3 Extensions for Segment Routing"; } - identity b-bit { + identity b-bit { base adj-sid-bit; description "Backup flag."; @@ -219,8 +209,10 @@ module ietf-ospf-sr { } /* Groupings */ + grouping sid-sub-tlv { - description "SID/Label sub-TLV grouping."; + description + "SID/Label sub-TLV grouping."; reference "RFC 8665: OSPF Extensions for Segment Routing (Section 6)"; @@ -238,77 +230,92 @@ module ietf-ospf-sr { } grouping ospfv2-prefix-sid-sub-tlvs { - description "Prefix Segment ID (SID) sub-TLVs."; + description + "Prefix Segment ID (SID) sub-TLVs."; reference "RFC 8665: OSPF Extensions for Segment Routing (Section 6)"; - container prefix-sid-sub-tlvs{ - description "Prefix SID sub-TLV."; + container prefix-sid-sub-tlvs { + description + "Prefix SID sub-TLV."; list prefix-sid-sub-tlv { - description "Prefix SID sub-TLV."; + description + "Prefix SID sub-TLV."; container prefix-sid-flags { leaf-list bits { type identityref { base prefix-sid-bit; } description - "Prefix SID Sub-TLV flag bits list."; + "Prefix SID Sub-TLV bits."; } - description "Segment Identifier (SID) Flags."; + description + "Segment Identifier (SID) Flags."; } leaf mt-id { type uint8; - description "Multi-topology ID."; + description + "Multi-topology ID."; } leaf algorithm { type identityref { base sr-cmn:prefix-sid-algorithm; } description - "The algorithm associated with the prefix-SID."; + "Algorithm associated with the prefix-SID."; } leaf sid { type uint32; - description "An index or label."; + description + "Index or label."; } } } } grouping ospfv2-extended-prefix-range-tlvs { - description "Extended prefix range TLV grouping."; + description + "Extended prefix range TLV grouping."; reference "RFC 8665: OSPF Extensions for Segment Routing (Section 4)"; container extended-prefix-range-tlvs { - description "The list of range of prefixes."; + description + "List of range of prefixes."; list extended-prefix-range-tlv { - description "The range of prefixes."; + description + "Range of prefixes."; leaf prefix-length { type uint8; - description "Length of prefix in bits."; + description + "Length of prefix in bits."; } leaf af { type uint8; - description "Address family for the prefix."; + description + "Address family for the prefix."; } leaf range-size { type uint16; - description "The number of prefixes covered by the - advertisement."; + description + "Number of prefixes covered by the + advertisement."; } container extended-prefix-range-flags { leaf-list bits { type identityref { base extended-prefix-range-bit; } - description "Extended prefix range TLV flags list."; + description + "Extended prefix range TLV bits."; } - description "Extended Prefix Range TLV flags."; + description + "Extended Prefix Range TLV flags."; } leaf prefix { type inet:ip-prefix; - description "Address prefix."; + description + "Address prefix."; } uses ospfv2-prefix-sid-sub-tlvs; uses ospf:unknown-tlvs; @@ -317,54 +324,63 @@ module ietf-ospf-sr { } grouping sr-algorithm-tlv { - description "SR algorithm TLV grouping."; + description + "SR algorithm TLV grouping."; reference "RFC 8665: OSPF Extensions for Segment Routing (Section 3.1)"; container sr-algorithm-tlv { - description "All SR algorithm TLVs."; + description + "All SR algorithm TLVs."; leaf-list sr-algorithm { type identityref { base sr-cmn:prefix-sid-algorithm; } - description - "The Segment Routing (SR) algorithms that the router is + description + "Segment Routing (SR) algorithms that the router is currently using."; } } } grouping sid-range-tlvs { - description "SID Range TLV grouping."; + description + "SID Range TLV grouping."; reference "RFC 8665: OSPF Extensions for Segment Routing (Section 3.2)"; container sid-range-tlvs { - description "List of SID range TLVs."; + description + "List of SID range TLVs."; list sid-range-tlv { - description "SID range TLV."; + description + "SID range TLV."; leaf range-size { type rt-types:uint24; - description "The SID range."; + description + "SID range."; } uses sid-sub-tlv; } } } - grouping local-block-tlvs { - description "The SR local block TLV contains the - range of labels reserved for local SIDs."; + description + "The SR local block TLV contains the + range of labels reserved for local SIDs."; reference "RFC 8665: OSPF Extensions for Segment Routing (Section 3.3)"; container local-block-tlvs { - description "List of SRLB TLVs."; + description + "List of SRLB TLVs."; list local-block-tlv { - description "SRLB TLV."; + description + "SRLB TLV."; leaf range-size { type rt-types:uint24; - description "The SID range."; + description + "SID range."; } uses sid-sub-tlv; } @@ -372,80 +388,95 @@ module ietf-ospf-sr { } grouping srms-preference-tlv { - description "The SRMS preference TLV is used to advertise - a preference associated with the node that acts - as an SR Mapping Server."; + description + "The SR Mapping Server (SRMS) preference TLV is + used to advertise a preference associated with + the node that acts as an SR Mapping Server."; reference "RFC 8665: OSPF Extensions for Segment Routing (Section 3.4)"; container srms-preference-tlv { - description "SRMS Preference TLV."; + description + "SRMS Preference TLV."; leaf preference { type uint8; - description "SRMS preference TLV, value from 0 to 255."; + description + "SRMS preference TLV, value from 0 to 255."; } } } grouping ospfv3-prefix-sid-sub-tlvs { - description "Prefix Segment ID (SID) sub-TLVs."; + description + "Prefix Segment ID (SID) sub-TLVs."; reference "RFC 8666: OSPFv3 Extensions for Segment Routing (Section 6)"; - container perfix-sid-sub-tlvs{ - description "Prefix SID sub-TLV."; + container prefix-sid-sub-tlvs { + description + "Prefix SID sub-TLV."; list prefix-sid-sub-tlv { - description "Prefix SID sub-TLV."; + description + "Prefix SID sub-TLV."; container ospfv3-prefix-sid-flags { leaf-list bits { type identityref { base ospf-sr:prefix-sid-bit; } description - "Prefix SID Sub-TLV flag bits list."; + "Prefix SID sub-TLV bits."; } - description "Segment Identifier (SID) Flags."; + description + "Segment Identifier (SID) Flags."; } leaf algorithm { type identityref { - base sr-cmn:prefix-sid-algorithm; + base sr-cmn:prefix-sid-algorithm; } description - "The algorithm associated with the prefix-SID."; + "Algorithm associated with the prefix-SID."; } leaf sid { type uint32; - description "An index or label."; + description + "Index or label."; } } } } grouping ospfv3-extended-prefix-range-tlvs { - description "Extended prefix range TLV grouping."; + description + "Extended prefix range TLV grouping."; reference "RFC 8666: OSPFv3 Extensions for Segment Routing (Section 5)"; container ospfv3-extended-prefix-range-tlvs { - description "The list of extended prefix range TLVs."; + description + "List of extended prefix range TLVs."; list extended-prefix-range-tlv { - description "The range of prefixes."; + description + "Range of prefixes."; leaf prefix-length { type uint8; - description "Length of prefix in bits."; + description + "Length of prefix in bits."; } leaf af { type uint8; - description "Address family for the prefix."; + description + "Address family for the prefix."; } leaf range-size { type uint16; - description "The number of prefixes covered by the - advertisement."; + description + "Number of prefixes covered by the + advertisement."; } leaf prefix { type inet:ip-prefix; - description "Address prefix."; + description + "Address prefix."; } uses ospfv3-prefix-sid-sub-tlvs; uses ospf:unknown-tlvs; @@ -454,70 +485,86 @@ module ietf-ospf-sr { } grouping ospfv3-adj-sid-sub-tlvs { - description "Adjacency SID sub TLV grouping."; + description + "Adj-SID sub-TLV grouping."; reference "RFC 8666: OSPFv3 Extensions for Segment Routing (Section 7)"; container adj-sid-sub-tlvs { - description "Adjacency SID optional sub-TLVs."; + description + "Adj-SID optional sub-TLVs."; list adj-sid-sub-tlv { - description "List of Adjacency SID sub-TLVs."; + description + "List of Adj-SID sub-TLVs."; container adj-sid-flags { leaf-list bits { type identityref { base adj-sid-bit; } - description "Adj sid sub-tlv flags list."; + description + "Adj-SID sub-tlv bits."; } - description "Adj-sid sub-tlv flags."; + description + "Adj-sid sub-tlv flags."; } leaf weight { type uint8; - description "Weight used for load-balancing."; + description + "Weight used for load-balancing."; } leaf sid { type uint32; - description "Segment Identifier (SID) index/label."; + description + "Segment Identifier (SID) index/label."; } } } } grouping ospfv3-lan-adj-sid-sub-tlvs { - description "LAN adj-sid sub TLV grouping."; + description + "LAN Adj-SID sub-TLV grouping."; reference "RFC 8666: OSPFv3 Extensions for Segment Routing (Section 7)"; container lan-adj-sid-sub-tlvs { - description "LAN Adjacency SID optional sub-TLVs."; + description + "LAN Adj-SID optional sub-TLVs."; list lan-adj-sid-sub-tlv { - description "List of LAN adjacency SID sub-TLVs."; + description + "List of LAN Adj-SID sub-TLVs."; container lan-adj-sid-flags { leaf-list bits { type identityref { base adj-sid-bit; } - description "LAN adj sid sub-tlv flags list."; + description + "LAN Adj-SID sub-TLV bits."; } - description "LAN adj-sid sub-tlv flags."; + description + "LAN Adj-SID sub-TLV flags."; } leaf weight { type uint8; - description "Weight used for load-balancing."; + description + "Weight used for load-balancing."; } leaf neighbor-router-id { type yang:dotted-quad; - description "Neighbor router ID."; + description + "Neighbor router ID."; } leaf sid { type uint32; - description "Segment Identifier (SID) index/label."; + description + "Segment Identifier (SID) index/label."; } } } } /* Configuration */ + augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/ospf:ospf" { when "../rt:type = 'ospf:ospfv2' or " @@ -530,7 +577,7 @@ module ietf-ospf-sr { with segment routing."; uses sr-mpls:sr-control-plane; container protocol-srgb { - if-feature sr-mpls:protocol-srgb; + if-feature "sr-mpls:protocol-srgb"; uses sr-cmn:srgb; description "Per-protocol SRGB."; @@ -549,7 +596,6 @@ module ietf-ospf-sr { description "This augments the OSPF protocol interface configuration with segment routing."; - uses sr-mpls:igp-interface; } @@ -564,13 +610,12 @@ module ietf-ospf-sr { } description "This augments the OSPF protocol IP-FRR with TI-LFA."; - container ti-lfa { - if-feature ti-lfa; + if-feature "ti-lfa"; leaf enable { type boolean; description - "Enables TI-LFA computation."; + "Enable TI-LFA computation."; } container selection-tie-breakers { container node-protection { @@ -578,7 +623,7 @@ module ietf-ospf-sr { protection tie-breaker"; leaf priority { type uint8; - default 128; + default "128"; description "Priority for node protection tie-breaker with a lower priority being more preferred."; @@ -594,7 +639,7 @@ module ietf-ospf-sr { disjoint tie-breaker"; leaf priority { type uint8; - default 128; + default "128"; description "Priority for SRLG disjoint tie-breaker with a lower priority being more preferred."; @@ -611,7 +656,7 @@ module ietf-ospf-sr { respective priorities for the TI-LFA computation."; } description - "Topology Independent Loop Free Alternate + "Topology-Independent Loop Free Alternate (TI-LFA) support."; } } @@ -626,11 +671,11 @@ module ietf-ospf-sr { "This augments the OSPF routing protocol when used."; } description - "This augments the OSPF protocol IP-FRR with remote LFA."; + "This augments the OSPF protocol IP-FRR with remote LFA."; leaf use-segment-routing-path { if-feature "remote-lfa-sr"; type boolean; - default false; + default "false"; description "Force remote LFA to use segment routing path instead of LDP path. The value of this leaf is in effect only when @@ -639,6 +684,7 @@ module ietf-ospf-sr { } /* Database */ + augment "/rt:routing/" + "rt:control-plane-protocols/rt:control-plane-protocol/" + "ospf:ospf/ospf:areas/ospf:area/" @@ -653,13 +699,12 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 extended prefix LSA + "SR-specific TLVs for OSPFv2 extended prefix LSA in type 9 opaque LSA."; - uses ospfv2-extended-prefix-range-tlvs; } - augment "/rt:routing/" + augment "/rt:routing/" + "rt:control-plane-protocols/rt:control-plane-protocol/" + "ospf:ospf/ospf:areas/" + "ospf:area/ospf:database/" @@ -673,9 +718,8 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 extended prefix LSA + "SR-specific TLVs for OSPFv2 extended prefix LSA in type 10 opaque LSA."; - uses ospfv2-extended-prefix-range-tlvs; } @@ -692,9 +736,8 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 extended prefix LSA + "SR-specific TLVs for OSPFv2 extended prefix LSA in type 11 opaque LSA."; - uses ospfv2-extended-prefix-range-tlvs; } @@ -712,7 +755,7 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 extended prefix TLV + "SR-specific TLVs for OSPFv2 extended prefix TLV in type 9 opaque LSA."; uses ospfv2-prefix-sid-sub-tlvs; } @@ -731,7 +774,7 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 extended prefix TLV + "SR-specific TLVs for OSPFv2 extended prefix TLV in type 10 opaque LSA."; uses ospfv2-prefix-sid-sub-tlvs; } @@ -749,11 +792,10 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 extended prefix TLV + "SR-specific TLVs for OSPFv2 extended prefix TLV in type 11 opaque LSA."; uses ospfv2-prefix-sid-sub-tlvs; } - augment "/rt:routing/" + "rt:control-plane-protocols/rt:control-plane-protocol/" + "ospf:ospf/ospf:areas/" @@ -768,65 +810,78 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 extended link TLV + "SR-specific TLVs for OSPFv2 extended link TLV in type 10 opaque LSA."; - container adj-sid-sub-tlvs { - description "Adjacency SID optional sub-TLVs."; + description + "Adj-SID optional sub-TLVs."; list adj-sid-sub-tlv { - description "List of Adjacency SID sub-TLVs."; + description + "List of Adj-SID sub-TLVs."; container adj-sid-flags { leaf-list bits { type identityref { base adj-sid-bit; } - description "Adj sid sub-tlv flags list."; + description + "Adj-SID sub-TLV bits."; } - description "Adj-sid sub-tlv flags."; + description + "Adj-sid sub-TLV flags."; } leaf mt-id { type uint8; - description "Multi-topology ID."; + description + "Multi-topology ID."; } leaf weight { type uint8; - description "Weight used for load-balancing."; + description + "Weight used for load-balancing."; } leaf sid { type uint32; - description "Segment Identifier (SID) index/label."; + description + "Segment Identifier (SID) index/label."; } } } - container lan-adj-sid-sub-tlvs { - description "LAN Adjacency SID optional sub-TLVs."; + description + "LAN Adj-SID optional sub-TLVs."; list lan-adj-sid-sub-tlv { - description "List of LAN adjacency SID sub-TLVs."; + description + "List of LAN Adj-SID sub-TLVs."; container lan-adj-sid-flags { leaf-list bits { type identityref { base adj-sid-bit; } - description "LAN adj sid sub-tlv flags list."; + description + "LAN Adj-SID sub-TLV bits."; } - description "LAN adj-sid sub-tlv flags."; + description + "LAN Adj-SID sub-TLV flags."; } leaf mt-id { type uint8; - description "Multi-topology ID."; + description + "Multi-topology ID."; } leaf weight { type uint8; - description "Weight used for load-balancing."; + description + "Weight used for load-balancing."; } leaf neighbor-router-id { type yang:dotted-quad; - description "Neighbor router ID."; + description + "Neighbor router ID."; } leaf sid { type uint32; - description "Segment Identifier (SID) index/label."; + description + "Segment Identifier (SID) index/label."; } } } @@ -845,8 +900,7 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 type 9 opaque LSA."; - + "SR-specific TLVs for OSPFv2 type 9 opaque LSA."; uses sr-algorithm-tlv; uses sid-range-tlvs; uses local-block-tlvs; @@ -865,10 +919,8 @@ module ietf-ospf-sr { description "This augmentation is only valid for OSPFv2."; } - description - "SR specific TLVs for OSPFv2 type 10 opaque LSA."; - + "SR-specific TLVs for OSPFv2 type 10 opaque LSA."; uses sr-algorithm-tlv; uses sid-range-tlvs; uses local-block-tlvs; @@ -887,8 +939,7 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv2."; } description - "SR specific TLVs for OSPFv2 type 11 opaque LSA."; - + "SR-specific TLVs for OSPFv2 type 11 opaque LSA."; uses sr-algorithm-tlv; uses sid-range-tlvs; uses local-block-tlvs; @@ -896,6 +947,7 @@ module ietf-ospf-sr { } /* Segment Routing Capabilities */ + augment "/rt:routing/" + "rt:control-plane-protocols/rt:control-plane-protocol/" + "ospf:ospf/ospf:database/" @@ -908,7 +960,7 @@ module ietf-ospf-sr { "This augmentation is only valid for OSPFv3."; } description - "SR specific TLVs for OSPFv3 Router Information + "SR-specific TLVs for OSPFv3 Router Information opaque LSA."; uses sr-algorithm-tlv; uses sid-range-tlvs; @@ -928,10 +980,8 @@ module ietf-ospf-sr { description "This augmentation is only valid for OSPFv3."; } - description - "SR specific TLVs for OSPFv3 Router Information LSA."; - + "SR-specific TLVs for OSPFv3 Router Information LSA."; uses sr-algorithm-tlv; uses sid-range-tlvs; uses local-block-tlvs; @@ -950,10 +1000,8 @@ module ietf-ospf-sr { description "This augmentation is only valid for OSPFv3."; } - description - "SR specific TLVs for OSPFv3 Router Information LSA."; - + "SR-specific TLVs for OSPFv3 Router Information LSA."; uses sr-algorithm-tlv; uses sid-range-tlvs; uses local-block-tlvs; @@ -961,14 +1009,15 @@ module ietf-ospf-sr { } /* OSPFv3 Extended Prefix Range TLV */ + augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" - + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" - + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-intra-area-prefix" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-intra-area-prefix" { when "../../../../../../../../../../" - + "rt:type = 'ospf:ospfv3'" { + + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3 E-Router LSAs"; @@ -979,13 +1028,13 @@ module ietf-ospf-sr { } augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" - + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" - + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix" { when "../../../../../../../../../../" - + "rt:type = 'ospf:ospfv3'" { + + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3 E-Router LSAs"; @@ -996,13 +1045,13 @@ module ietf-ospf-sr { } augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:database/" - + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" - + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-as-external" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:database/" + + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" + + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-as-external" { when "'ospf:../../../../../../../../../" - + "rt:type' = 'ospf:ospfv3'" { + + "rt:type' = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3."; } @@ -1012,13 +1061,13 @@ module ietf-ospf-sr { } augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" - + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" - + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-nssa" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-nssa" { when "'ospf:../../../../../../../../../" - + "rt:type' = 'ospf:ospfv3'" { + + "rt:type' = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3."; } @@ -1028,16 +1077,18 @@ module ietf-ospf-sr { } /* Prefix SID Sub-TLV in Intra-Area Prefix TLV */ + augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/" - + "ospf:interface/" - + "ospf:database/ospf:link-scope-lsa-type/ospf:link-scope-lsas/" - + "ospf:link-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3/" - + "ospf:body/ospfv3-e-lsa:e-link/" - + "ospfv3-e-lsa:e-link-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/" + + "ospf:interface/" + + "ospf:database/ospf:link-scope-lsa-type/" + + "ospf:link-scope-lsas/ospf:link-scope-lsa/" + + "ospf:version/ospf:ospfv3/ospf:ospfv3/" + + "ospf:body/ospfv3-e-lsa:e-link/" + + "ospfv3-e-lsa:e-link-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { when "../../../../../../../../../../../../../../" - + "rt:type = 'ospf:ospfv3'" { + + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3 E-Router LSAs"; @@ -1048,15 +1099,15 @@ module ietf-ospf-sr { } augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" - + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" - + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-intra-area-prefix/" - + "ospfv3-e-lsa:e-intra-prefix-tlvs/" - + "ospfv3-e-lsa:intra-prefix-tlv" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-intra-area-prefix/" + + "ospfv3-e-lsa:e-intra-prefix-tlvs/" + + "ospfv3-e-lsa:intra-prefix-tlv" { when "../../../../../../../../../../../../" - + "rt:type = 'ospf:ospfv3'" { + + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3 E-Router LSAs"; @@ -1067,16 +1118,17 @@ module ietf-ospf-sr { } /* Prefix SID Sub-TLV in Inter-Area Prefix TLV */ + augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" - + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" - + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix/" - + "ospfv3-e-lsa:e-inter-prefix-tlvs/" - + "ospfv3-e-lsa:inter-prefix-tlv" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix/" + + "ospfv3-e-lsa:e-inter-prefix-tlvs/" + + "ospfv3-e-lsa:inter-prefix-tlv" { when "../../../../../../../../../../../../" - + "rt:type = 'ospf:ospfv3'" { + + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3 E-Router LSAs"; @@ -1087,16 +1139,17 @@ module ietf-ospf-sr { } /* Prefix SID Sub-TLV in External Prefix TLV */ + augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:database/" - + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" - + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-as-external/" - + "ospfv3-e-lsa:e-external-tlvs/" - + "ospfv3-e-lsa:external-prefix-tlv" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:database/" + + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" + + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-as-external/" + + "ospfv3-e-lsa:e-external-tlvs/" + + "ospfv3-e-lsa:external-prefix-tlv" { when "'ospf:../../../../../../../../../" - + "rt:type' = 'ospf:ospfv3'" { + + "rt:type' = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3."; } @@ -1106,15 +1159,15 @@ module ietf-ospf-sr { } augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" - + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" - + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-nssa/" - + "ospfv3-e-lsa:e-external-tlvs/" - + "ospfv3-e-lsa:external-prefix-tlv" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-nssa/" + + "ospfv3-e-lsa:e-external-tlvs/" + + "ospfv3-e-lsa:external-prefix-tlv" { when "'ospf:../../../../../../../../../" - + "rt:type' = 'ospf:ospfv3'" { + + "rt:type' = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3."; } @@ -1124,15 +1177,16 @@ module ietf-ospf-sr { } /* Adj-SID sub-TLV */ + augment "/rt:routing/" - + "rt:control-plane-protocols/rt:control-plane-protocol/" - + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" - + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" - + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" - + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-router/" - + "ospfv3-e-lsa:e-router-tlvs/ospfv3-e-lsa:link-tlv" { + + "rt:control-plane-protocols/rt:control-plane-protocol/" + + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-router/" + + "ospfv3-e-lsa:e-router-tlvs/ospfv3-e-lsa:link-tlv" { when "../../../../../../../../../../../../" - + "rt:type = 'ospf:ospfv3'" { + + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3 E-Router LSAs";