From 616093def9d205b305edf4c900930545a8d3a46c Mon Sep 17 00:00:00 2001 From: Joe Clarke Date: Thu, 14 Nov 2024 12:47:19 -0500 Subject: [PATCH] yc.o sync (#1597) * Cronjob - daily check of IETF modules. * Cronjob - daily check of IANA modules. * Remove bogus modules. * Re-remove these modules. --------- Co-authored-by: Miroslav Kovac Co-authored-by: Joe Clarke --- .../ietf-ac-common@2023-11-13.yang | 79 +++------- .../ietf-ac-ntw@2024-05-15.yang | 143 ++++++++---------- .../ietf-ac-svc@2024-08-06.yang | 68 ++++++--- .../ietf-bearer-svc@2024-08-06.yang | 12 +- .../ietf-energy-saving-common@2024-01-23.yang | 7 +- .../ietf-foo@2016-03-20.yang | 1 + .../ietf-inet-types@2024-10-21.yang | 60 ++++---- ...ietf-network-slice-mapping@2024-07-05.yang | 2 +- .../ietf-ni-energy-saving@2024-01-23.yang | 3 +- .../ietf-ntw-energy-saving@2024-01-23.yang | 4 +- .../ietf-otn-topology@2024-06-21.yang | 7 +- ....yang => ietf-quic-client@2024-11-09.yang} | 10 +- .../ietf-quic-common@2024-11-09.yang | 67 ++++++++ ....yang => ietf-quic-server@2024-11-09.yang} | 10 +- .../ietf-trace-context@2024-11-07.yang | 136 +++++++++++++++++ .../ietf-yang-types@2024-10-21.yang | 60 ++++---- 16 files changed, 426 insertions(+), 243 deletions(-) rename experimental/ietf-extracted-YANG-modules/{ietf-quic-client@2024-10-19.yang => ietf-quic-client@2024-11-09.yang} (95%) create mode 100644 experimental/ietf-extracted-YANG-modules/ietf-quic-common@2024-11-09.yang rename experimental/ietf-extracted-YANG-modules/{ietf-quic-server@2024-10-19.yang => ietf-quic-server@2024-11-09.yang} (94%) create mode 100644 experimental/ietf-extracted-YANG-modules/ietf-trace-context@2024-11-07.yang diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ac-common@2023-11-13.yang b/experimental/ietf-extracted-YANG-modules/ietf-ac-common@2023-11-13.yang index 055e35b91..170e70fff 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ac-common@2023-11-13.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ac-common@2023-11-13.yang @@ -193,79 +193,50 @@ module ietf-ac-common { termination for the AC."; } - // Tagging precedence - - identity precedence-type { - description - "Redundancy type. The service can be created with primary and - secondary tagging."; - } + // Layer 3 tunnel types - identity primary { - base precedence-type; + identity l3-tunnel-type { description - "Identifies the main attachment circuit."; + "Base identity for Layer 3 tunnel selection for an AC."; } - identity secondary { - base precedence-type; + identity ip-in-ip { + base l3-tunnel-type; description - "Identifies the secondary attachment circuit."; + "IP in IP Tunneling."; } - /* BGP Capability Identities. */ - - identity bgp-capability { + identity ipsec { + base l3-tunnel-type; description - "Base identity for a BGP capability."; - reference - "RFC 5492: Capabilities Advertisement with BGP-4"; + "IP Security (IPsec)."; } - identity mp-bgp { - base bgp-capability; + identity gre { + base l3-tunnel-type; description - "Multi-protocol extensions to BGP."; - reference - "RFC 4760: Multiprotocol Extentions for BGP-4"; + "Generic Routing Encapsulation (GRE)."; } - identity route-refresh { - base bgp-capability; - description - "Route refresh capability."; - reference - "RFC 2918: Route Refresh Capability for BGP-4."; - } + // Tagging precedence - identity graceful-restart { - base bgp-capability; + identity precedence-type { description - "Graceful restart capability."; - reference - "RFC 4724: Graceful Restart Mechanism for BGP"; + "Redundancy type. The service can be created with primary and + secondary tagging."; } - identity add-paths { - base bgp-capability; + identity primary { + base precedence-type; description - "A capability that allows the advertisement of multiple - paths for the same address prefix without the new paths - implicitly replacing any previous ones."; - reference - "RFC 7911: Advertisement of Multiple Paths in BGP"; + "Identifies the main attachment circuit."; } - identity ebgp-role { - base bgp-capability; + identity secondary { + base precedence-type; description - "A capability that allows the advertisement of the BGP - role when establising a session."; - reference - "RFC 9234: Route Leak Prevention and Detection Using - Roles in UPDATE and OPEN Messages, Section 4.1"; + "Identifies the secondary attachment circuit."; } - // AC Type identity role { @@ -314,7 +285,6 @@ module ietf-ac-common { "This administrative status reflects that a request cannot be handled because of administrative policies."; } - identity rejected { base vpn-common:administrative-status; description @@ -363,7 +333,6 @@ module ietf-ac-common { } /****************************Typedefs************************/ - typedef predefined-next-hop { type identityref { base local-defined-next-hop; @@ -537,6 +506,7 @@ module ietf-ac-common { "VLAN identifier."; } } + // priority-tagged grouping priority-tagged { @@ -602,7 +572,6 @@ module ietf-ac-common { Distribution Protocol (LDP), Section 6.1"; } } - // VPLS grouping vpls { @@ -843,7 +812,6 @@ module ietf-ac-common { } } } - // Full parameters for the IPv4 connection grouping ipv4-connection { @@ -1228,7 +1196,6 @@ module ietf-ac-common { type string; description "OSPF authentication key. - This model only supports the subset of keys that are representable as ASCII strings."; } diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2024-05-15.yang b/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2024-05-15.yang index 133190146..f48e4d767 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2024-05-15.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ac-ntw@2024-05-15.yang @@ -43,7 +43,7 @@ module ietf-ac-ntw { import ietf-network { prefix nw; reference - "RFC 8345: A YANG Data Model for Network Topologies, + "RFC 8345: A YANG Data Model for Network Topologies, Section 6.1"; } import ietf-sap-ntw { @@ -120,7 +120,7 @@ module ietf-ac-ntw { require-instance false; } description - "A type for an absolute reference to an attachment circuit."; + "An absolute reference to an attachment circuit."; } uses nw:node-ref; } @@ -137,7 +137,7 @@ module ietf-ac-ntw { require-instance false; } description - "A type for an absolute reference to an attachment circuit."; + "An absolute reference to an attachment circuit."; } uses nw:node-ref; } @@ -153,7 +153,7 @@ module ietf-ac-ntw { require-instance false; } description - "A type for an absolute reference to an attachment circuit."; + "An absolute reference to an attachment circuit."; } uses nw:network-ref; } @@ -166,13 +166,13 @@ module ietf-ac-ntw { type leafref { path "/nw:networks/nw:network[nw:network-id=current()/../" + "network-ref]" - + "/ac-ntw:specific-provisioning-profiles" + + "/ac-ntw:specific-provisioning-profiles" + "/ac-ntw:valid-provider-identifiers" + "/ac-ntw:encryption-profile-identifier/ac-ntw:id"; require-instance false; } description - "A type for an absolute reference to an encryption profile."; + "An absolute reference to an encryption profile."; } uses nw:network-ref; } @@ -184,13 +184,13 @@ module ietf-ac-ntw { type leafref { path "/nw:networks/nw:network[nw:network-id=current()/../" + "network-ref]" - + "/ac-ntw:specific-provisioning-profiles" + + "/ac-ntw:specific-provisioning-profiles" + "/ac-ntw:valid-provider-identifiers" + "/ac-ntw:qos-profile-identifier/ac-ntw:id"; require-instance false; } description - "Type for an absolute reference to a QoS profile."; + "An absolute reference to a QoS profile."; } uses nw:network-ref; } @@ -203,14 +203,13 @@ module ietf-ac-ntw { type leafref { path "/nw:networks/nw:network[nw:network-id=current()/../" + "network-ref]" - + "/ac-ntw:specific-provisioning-profiles" + + "/ac-ntw:specific-provisioning-profiles" + "/ac-ntw:valid-provider-identifiers" + "/ac-ntw:failure-detection-profile-identifier/ac-ntw:id"; require-instance false; } description - "Type for an absolute reference to a failure detection - profile."; + "An absolute reference to a failure detection profile."; } uses nw:network-ref; } @@ -222,13 +221,13 @@ module ietf-ac-ntw { type leafref { path "/nw:networks/nw:network[nw:network-id=current()/../" + "network-ref]" - + "/ac-ntw:specific-provisioning-profiles" + + "/ac-ntw:specific-provisioning-profiles" + "/ac-ntw:valid-provider-identifiers" + "/ac-ntw:forwarding-profile-identifier/ac-ntw:id"; require-instance false; } description - "A type for an absolute reference to a forwarding profile."; + "An absolute reference to a forwarding profile."; } uses nw:network-ref; } @@ -240,13 +239,13 @@ module ietf-ac-ntw { type leafref { path "/nw:networks/nw:network[nw:network-id=current()/../" + "network-ref]" - + "/ac-ntw:specific-provisioning-profiles" + + "/ac-ntw:specific-provisioning-profiles" + "/ac-ntw:valid-provider-identifiers" + "/ac-ntw:routing-profile-identifier/ac-ntw:id"; require-instance false; } description - "A type for an absolute reference to a routing profile."; + "An absolute reference to a routing profile."; } uses nw:network-ref; } @@ -256,7 +255,7 @@ module ietf-ac-ntw { grouping l2-connection { description "Defines Layer 2 protocols and parameters that are required to - enable AC connectivity."; + enable AC connectivity on the network side."; container encapsulation { description "Container for Layer 2 encapsulation."; @@ -284,7 +283,7 @@ module ietf-ac-ntw { removal, or rewriting of 802.1Q VLAN tags. These operations are indicated for the CE-PE direction. By default, tag operations are symmetric. As such, the - reverse tag operation is assumed on the PE-CE + reverse tag operation is assumed on the PE-CE direction."; choice op-choice { description @@ -305,7 +304,7 @@ module ietf-ac-ntw { leaf translate { type empty; description - "Translates the outer tag to one or two tags. PCP + "Translates the outer tag to one or two tags. PCP bits are preserved."; } } @@ -313,7 +312,7 @@ module ietf-ac-ntw { when 'not(../pop)'; type dot1q-types:vlanid; description - "A first tag to be used for push or translate + "A first tag to be used for push or translate operations. This tag will be used as the outermost tag as a result of the tag operation."; } @@ -365,7 +364,7 @@ module ietf-ac-ntw { removal, or rewriting of 802.1Q VLAN tags. These operations are indicated for the CE-PE direction. By default, tag operations are symmetric. As such, the - reverse tag operation is assumed on the PE-CE + reverse tag operation is assumed on the PE-CE direction."; choice op-choice { description @@ -381,9 +380,9 @@ module ietf-ac-ntw { leaf push { type empty; description - "Pushes one or two tags defined by the tag-1 and - tag-2 leaves. It is assumed that, absent any - policy, the default value of 0 will be used for + "Pushes one or two tags defined by the tag-1 and + tag-2 leaves. It is assumed that, absent any + policy, the default value of 0 will be used for PCP setting."; } leaf translate { @@ -391,18 +390,18 @@ module ietf-ac-ntw { range "1|2"; } description - "Translates one or two outer tags. PCP bits are + "Translates one or two outer tags. PCP bits are preserved. The following operations are supported: - - translate 1 with tag-1 leaf is provided: only the + - translate 1 with tag-1 leaf is provided: only the outermost tag is translated to the value in tag-1. - - translate 2 with both tag-1 and tag-2 leaves are + - translate 2 with both tag-1 and tag-2 leaves are provided: both outer and inner tags are translated to the values in tag-1 and tag-2, respectively. - - translate 2 with tag-1 leaf is provided: the - outer tag is popped while the inner tag is + - translate 2 with tag-1 leaf is provided: the + outer tag is popped while the inner tag is translated to the value in tag-1."; } } @@ -410,7 +409,7 @@ module ietf-ac-ntw { when 'not(../pop)'; type dot1q-types:vlanid; description - "A first tag to be used for push or translate + "A first tag to be used for push or translate operations. This tag will be used as the outermost tag as a result of the tag operation."; } @@ -424,7 +423,7 @@ module ietf-ac-ntw { when 'not(../pop)'; type dot1q-types:vlanid; description - "A second tag to be used for push or translate + "A second tag to be used for push or translate operations."; } leaf tag-2-type { @@ -438,7 +437,7 @@ module ietf-ac-ntw { } choice l2-service { description - "The Layer 2 connectivity service can be provided by + "The Layer 2 connectivity service can be provided by indicating a pointer to an L2VPN or by specifying a Layer 2 tunnel service."; container l2-tunnel-service { @@ -450,7 +449,7 @@ module ietf-ac-ntw { leaf l2vpn-id { type vpn-common:vpn-id; description - "Indicates the L2VPN service associated with an + "Indicates the L2VPN service associated with an Integrated Routing and Bridging (IRB) interface."; } } @@ -459,7 +458,7 @@ module ietf-ac-ntw { grouping l2-connection-if-ref { description - "Specifies Layer 2 connection paramters with interface + "Specifies Layer 2 connection paramters with interface references."; uses l2-connection; leaf l2-termination-point { @@ -534,7 +533,7 @@ module ietf-ac-ntw { leaf number-of-dynamic-address { type uint16; description - "Specifies the number of IP addresses to be + "Specifies the number of IP addresses to be assigned to the customer on this access."; } } @@ -546,10 +545,10 @@ module ietf-ac-ntw { list address-pool { key "pool-id"; description - "Describes IP addresses to be dyncamically + "Describes IP addresses to be dyncamically allocated. - When only 'start-address' is present, it + When only 'start-address' is present, it represents a single address. When both 'start-address' and 'end-address' are @@ -634,8 +633,8 @@ module ietf-ac-ntw { key "address-id"; ordered-by user; description - "Lists the IPv4 addresses that are used. The first - address of the list is the primary address of the + "Lists the IPv4 addresses that are used. The first + address of the list is the primary address of the connection."; leaf address-id { type string; @@ -676,7 +675,7 @@ module ietf-ac-ntw { leaf number-of-dynamic-address { type uint16; description - "Specifies the number of IP addresses to be + "Specifies the number of IP addresses to be assigned to the customer on this access."; } } @@ -688,10 +687,10 @@ module ietf-ac-ntw { list address-pool { key "pool-id"; description - "Describes IP addresses to be dyncamically + "Describes IP addresses to be dyncamically allocated. - When only 'start-address' is present, it + When only 'start-address' is present, it represents a single address. When both 'start-address' and 'end-address' are @@ -776,8 +775,8 @@ module ietf-ac-ntw { key "address-id"; ordered-by user; description - "Lists the IPv6 addresses that are used. The first - address of the list is the primary address of + "Lists the IPv6 addresses that are used. The first + address of the list is the primary address of the connection."; leaf address-id { type string; @@ -827,8 +826,8 @@ module ietf-ac-ntw { leaf description { type string; description - "Includes a description of the BGP session. This description - is meant to be used for diagnostic purposes. The semantic + "Includes a description of the BGP session. This description + is meant to be used for diagnostic purposes. The semantic of the description is local to an implementation."; } uses rt-pol:apply-policy-group; @@ -922,8 +921,8 @@ module ietf-ac-ntw { } type rt-types:ipv6-route-origin; description - "The IPv6 Site of Origin attribute is encoded as an IPv6 - Route Origin Extended Community. It is meant to uniquely + "The IPv6 Site of Origin attribute is encoded as an IPv6 + Route Origin Extended Community. It is meant to uniquely identify the set of routes learned from a site."; reference "RFC 5701: IPv6 Address Specific BGP Extended Community @@ -953,10 +952,10 @@ module ietf-ac-ntw { leaf max-prefix { type uint32; description - "Indicates the maximum number of BGP prefixes allowed in + "Indicates the maximum number of BGP prefixes allowed in the BGP session. - It allows control of how many prefixes can be received + It allows control of how many prefixes can be received from a neighbor. If the limit is exceeded, the action indicated in @@ -993,7 +992,7 @@ module ietf-ac-ntw { } } description - "If the BGP neighbor 'max-prefix' limit is reached, the + "If the BGP neighbor 'max-prefix' limit is reached, the action indicated in 'violate-action' will be followed."; } leaf restart-timer { @@ -1042,26 +1041,6 @@ module ietf-ac-ntw { Section 4.2"; } } - list capability { - key "address-family"; - description - "Customized set of BGP capabilities per address family."; - leaf address-family { - type identityref { - base vpn-common:address-family; - } - description - "Indicates the address family."; - } - leaf name { - type identityref { - base ac-common:bgp-capability; - } - mandatory true; - description - "Indicates the name of BGP capability."; - } - } } grouping bgp-base-peer-group { @@ -1100,8 +1079,8 @@ module ietf-ac-ntw { type if:interface-ref; } description - "Sets the local IP address to use for the BGP - transport session. This may be expressed as either + "Sets the local IP address to use for the BGP + transport session. This may be expressed as either an IP address or a reference to an interface."; } uses bgp-base; @@ -1163,7 +1142,7 @@ module ietf-ac-ntw { } units "seconds"; description - "Specifies the interval before better routes are + "Specifies the interval before better routes are released."; } leaf flush-interval { @@ -1266,7 +1245,7 @@ module ietf-ac-ntw { description "Can be 'level-1', 'level-2', or 'level-1-2'."; reference - "RFC 9181: A Common YANG Data Model for Layer 2 + "RFC 9181: A Common YANG Data Model for Layer 2 and Layer 3 VPNs"; } leaf metric { @@ -1492,7 +1471,7 @@ module ietf-ac-ntw { "Metric of the sham link. It is used in the routing state calculation and path selection."; reference - "RFC 4577: OSPF as the Provider/Customer Edge + "RFC 4577: OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs), Section 4.2.7.3 RFC 6565: OSPFv3 as a Provider Edge to Customer Edge @@ -1662,7 +1641,7 @@ module ietf-ac-ntw { type uint32; units "microseconds"; description - "The minimum interval between received BFD Control packets + "The minimum interval between received BFD Control packets that the PE should support."; reference "RFC 5880: Bidirectional Forwarding Detection (BFD), @@ -1857,7 +1836,7 @@ module ietf-ac-ntw { grouping ac-hierarchy { description "Container for parent and child AC references."; - container ac-parent-ref { + container parent-ref { description "Specifies the parent AC that is inherited by an AC. Parent ACs are used, e.g., in contexts where multiple @@ -1865,7 +1844,7 @@ module ietf-ac-ntw { information is required for each peer SAP."; uses ac-ntw:attachment-circuit-reference; } - container ac-child-ref { + container child-ref { config false; description "Specifies a child AC that relies upon a parent AC."; @@ -1873,7 +1852,7 @@ module ietf-ac-ntw { } } - // AC network provisioning + // AC network provisioning grouping ac { description @@ -1999,12 +1978,12 @@ module ietf-ac-ntw { description "A name that identifies the AC locally."; } - leaf ac-svc-ref { + leaf svc-ref { type ac-svc:attachment-circuit-reference; description "A reference to the AC as exposed at the service level."; } - list ac-profile { + list profile { key "ac-profile-ref"; description "List of AC profiles."; @@ -2037,4 +2016,4 @@ module ietf-ac-ntw { uses ac-ntw:attachment-circuit-reference; } } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2024-08-06.yang b/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2024-08-06.yang index dd7dc7a21..a5790644f 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2024-08-06.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ac-svc@2024-08-06.yang @@ -81,6 +81,7 @@ module ietf-ac-svc { "Defines a reference to an attachment circuit that can be used by other modules."; } + typedef ac-group-reference { type leafref { path "/ac-svc:attachment-circuits/ac-svc:ac-group-profile" @@ -333,6 +334,23 @@ module ietf-ac-svc { } } } + choice l3-service { + description + "The Layer 3 connectivity service can be provided by + specifying a Layer 3 tunnel service."; + container l3-tunnel-service { + description + "Defines a Layer 3 tunnel termination. + It is only applicable when a tunnel is required."; + leaf type { + type identityref { + base ac-common:l3-tunnel-type; + } + description + "Selects the tunnel termination type for an AC."; + } + } + } } // Routing protocol list @@ -408,11 +426,11 @@ module ietf-ac-svc { } } - // BGP Service + // BGP Service grouping bgp-neighbor-without-name { description - "A grouping with generic parameters for configuring a BGP + "A grouping with generic parameters for configuring a BGP neighbor."; leaf remote-address { type inet:ip-address; @@ -454,7 +472,7 @@ module ietf-ac-svc { grouping bgp-neighbor-with-name { description - "A grouping with generic parameters for configuring a BGP + "A grouping with generic parameters for configuring a BGP neighbor with an identifier."; leaf id { type string; @@ -466,7 +484,7 @@ module ietf-ac-svc { grouping bgp-neighbor-with-server-reference { description - "A grouping with generic parameters for configuring a BGP + "A grouping with generic parameters for configuring a BGP neighbor with a reference generated by the provider."; leaf server-reference { if-feature "ac-common:server-assigned-reference"; @@ -481,8 +499,8 @@ module ietf-ac-svc { grouping bgp-neighbor-with-name-server-reference { description - "A grouping with generic parameters for configuring a BGP - neighbor with an identifier and a reference generated by + "A grouping with generic parameters for configuring a BGP + neighbor with an identifier and a reference generated by the provider."; leaf id { type string; @@ -501,7 +519,7 @@ module ietf-ac-svc { list peer-group { key "name"; description - "List of BGP peer-groups configured on the local + "List of BGP peer-groups configured on the local system - uniquely identified by peer-group name."; uses ac-common:bgp-peer-group-with-name; @@ -552,7 +570,7 @@ module ietf-ac-svc { } } - // OSPF Service + // OSPF Service grouping ospf-svc { description @@ -561,7 +579,8 @@ module ietf-ac-svc { uses ac-common:ospf-authentication; uses ac-common:service-status; } - // IS-IS Service + + // IS-IS Service grouping isis-svc { description @@ -571,7 +590,7 @@ module ietf-ac-svc { uses ac-common:service-status; } - // RIP Service + // RIP Service grouping rip-svc { description @@ -588,7 +607,7 @@ module ietf-ac-svc { uses ac-common:service-status; } - // VRRP Service + // VRRP Service grouping vrrp-svc { description @@ -801,6 +820,7 @@ module ietf-ac-svc { } // Encryption choice + grouping encryption-choice { description "Container for the encryption profile."; @@ -852,7 +872,7 @@ module ietf-ac-svc { enum layer3 { description "Encryption occurs at Layer 3. - For example, IPsec may be used when a customer + For example, IPsec may be used when a customer requests Layer 3 encryption."; } } @@ -907,7 +927,7 @@ module ietf-ac-svc { container l2-connection { if-feature "ac-common:layer2-ac"; description - "Defines Layer 2 protocols and parameters that are required + "Defines Layer 2 protocols and parameters that are required to enable AC connectivity."; uses l2-connection-basic; } @@ -959,8 +979,8 @@ module ietf-ac-svc { leaf name { type string; description - "A name of the AC. Data models that need to reference - an attachment circuit should use + "A name of the AC. Data models that need to reference + an attachment circuit should use attachment-circuit-reference."; } leaf-list service-profile { @@ -971,7 +991,7 @@ module ietf-ac-svc { container l2-connection { if-feature "ac-common:layer2-ac"; description - "Defines Layer 2 protocols and parameters that are required + "Defines Layer 2 protocols and parameters that are required to enable AC connectivity."; uses l2-connection; } @@ -1019,7 +1039,7 @@ module ietf-ac-svc { } uses ac-common:bfd; uses ac-common:service-status; - } + } } } container security { @@ -1090,16 +1110,16 @@ module ietf-ac-svc { grouping ac-hierarchy { description "Container for parent and child AC references."; - leaf-list ac-parent-ref { + leaf-list parent-ref { type ac-svc:attachment-circuit-reference; description "Specifies a parent AC that is inherited by an AC. - In contexts where dynamic terminating points are + In contexts where dynamic terminating points are bound to the same AC, a parent AC with stable information is created with a set of child ACs to track dynamic AC information."; } - leaf-list ac-child-ref { + leaf-list child-ref { type ac-svc:attachment-circuit-reference; config false; description @@ -1172,7 +1192,7 @@ module ietf-ac-svc { type empty; description "When present, this indicates that this is a feasibility - check request. No resources are commited for such AC + check request. No resources are commited for such AC requests."; } uses ac-common:op-instructions; @@ -1188,7 +1208,7 @@ module ietf-ac-svc { description "One or more peer SAPs can be indicated."; } - leaf-list ac-group-profile-ref { + leaf-list group-profile-ref { type ac-group-reference; description "A reference to an AC profile."; @@ -1208,7 +1228,7 @@ module ietf-ac-svc { "Indicates the service type (e.g., L3VPN or Network Slice Service)."; reference - "RFC 9408: A YANG Network Data Model for Service + "RFC 9408: A YANG Network Data Model for Service Attachment Points (SAPs), Section 5"; } leaf service-id { @@ -1229,4 +1249,4 @@ module ietf-ac-svc { uses ac; } } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-bearer-svc@2024-08-06.yang b/experimental/ietf-extracted-YANG-modules/ietf-bearer-svc@2024-08-06.yang index a7b3515c3..dc06a3f11 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-bearer-svc@2024-08-06.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-bearer-svc@2024-08-06.yang @@ -67,7 +67,7 @@ module ietf-bearer-svc { Circuits'-as-a-Service (ACaaS)"; } - // Identities + // Identities identity identification-type { description @@ -292,12 +292,6 @@ module ietf-bearer-svc { container bearers { description "Main container for the bearers."; - leaf customer-name { - type string; - description - "Indicates the name of the customer that requested these - bearers."; - } uses ac-common:op-instructions; container placement-constraints { description @@ -351,7 +345,7 @@ module ietf-bearer-svc { config false; description "Indicates when set to true that a mechanism for physical - layer synchronization is supported for this bearer. + layer synchronization is supported for this bearer. No such mechanism is supported if set to false."; } leaf sync-phy-enabled { @@ -471,4 +465,4 @@ module ietf-bearer-svc { uses ac-common:service-status; } } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-energy-saving-common@2024-01-23.yang b/experimental/ietf-extracted-YANG-modules/ietf-energy-saving-common@2024-01-23.yang index 6b3b46266..1c1ad204a 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-energy-saving-common@2024-01-23.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-energy-saving-common@2024-01-23.yang @@ -57,6 +57,7 @@ module ietf-energy-saving-common { description "Base identity for energy saving mode."; } + identity basic { base energy-saving-mode; description @@ -216,7 +217,7 @@ module ietf-energy-saving-common { identity low-power-state { base energy-saving-power-state; description - "Indicates that some components with energy management + "Indicates that some components with energy management support are not available and these components can take measures to use less energy."; reference @@ -394,7 +395,7 @@ module ietf-energy-saving-common { "The highest volts bound of monitoring class which will cause fatal failure."; } - } + } grouping energy-power-consumption-stats { description @@ -422,4 +423,4 @@ module ietf-energy-saving-common { the energy used."; } } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-foo@2016-03-20.yang b/experimental/ietf-extracted-YANG-modules/ietf-foo@2016-03-20.yang index 9d7f0767c..ede3beaff 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-foo@2016-03-20.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-foo@2016-03-20.yang @@ -1,3 +1,4 @@ + module ietf-foo { namespace "urn:ietf:params:xml:ns:yang:ietf-foo"; prefix "foo"; diff --git a/experimental/ietf-extracted-YANG-modules/ietf-inet-types@2024-10-21.yang b/experimental/ietf-extracted-YANG-modules/ietf-inet-types@2024-10-21.yang index f90f64e32..78c5201ba 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-inet-types@2024-10-21.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-inet-types@2024-10-21.yang @@ -51,7 +51,7 @@ module ietf-inet-types { The inet:host union was changed to use inet:host-name instead of inet:domain-name. Several pattern statements have been improved."; - reference + reference "RFC XXXX: Common YANG Data Types"; } @@ -61,14 +61,14 @@ module ietf-inet-types { - inet:ip-address-no-zone - inet:ipv4-address-no-zone - inet:ipv6-address-no-zone"; - reference + reference "RFC 6991: Common YANG Data Types"; } revision 2010-09-24 { description "Initial revision."; - reference + reference "RFC 6021: Common YANG Data Types"; } @@ -77,7 +77,7 @@ module ietf-inet-types { typedef ip-version { type enumeration { enum unknown { - value "0"; + value "0"; description "An unknown or unspecified version of the Internet protocol."; @@ -114,7 +114,7 @@ module ietf-inet-types { In the value set and its semantics, this type is equivalent to the Dscp textual convention of the SMIv2."; - reference + reference "RFC 3289: Management Information Base for the Differentiated Services Architecture RFC 2474: Definition of the Differentiated Services Field @@ -128,7 +128,7 @@ module ietf-inet-types { range "0..1048575"; } description - "The ipv6-flow-label type represents the flow identifier or + "The ipv6-flow-label type represents the flow identifier or Flow Label in an IPv6 packet header that may be used to discriminate traffic flows. @@ -144,8 +144,8 @@ module ietf-inet-types { range "0..65535"; } description - "The port-number type represents a 16-bit port number of an - Internet transport-layer protocol such as UDP, TCP, DCCP, or + "The port-number type represents a 16-bit port number of an + Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. The current list of @@ -172,8 +172,8 @@ module ietf-inet-types { protocol number, carried in the 'protocol' field of the IPv4 header or in the 'next header' field of the IPv6 header. If IPv6 extension headers are present, then the - protocol number type represents the upper layer protocol - number, i.e., the number of the last 'next header' field + protocol number type represents the upper layer protocol + number, i.e., the number of the last 'next header' field of the IPv6 extension headers. Protocol numbers are assigned by IANA. The current list of @@ -197,14 +197,14 @@ module ietf-inet-types { the AS number space and has delegated large parts to the regional registries. - Autonomous system numbers were originally limited to 16 + Autonomous system numbers were originally limited to 16 bits. BGP extensions have enlarged the autonomous system number space to 32 bits. This type therefore uses an uint32 base type without a range restriction in order to support a larger autonomous system number space. In the value set and its semantics, this type is equivalent - to the InetAutonomousSystemNumber textual convention of + to the InetAutonomousSystemNumber textual convention of the SMIv2."; reference "RFC 1930: Guidelines for creation, selection, and registration @@ -223,7 +223,7 @@ module ietf-inet-types { type ipv6-address; } description - "The ip-address type represents an IP address and is IP + "The ip-address type represents an IP address and is IP version neutral. The format of the textual representation implies the IP version. This type supports scoped addresses by allowing zone identifiers in the address format."; @@ -233,13 +233,13 @@ module ietf-inet-types { typedef ipv4-address { type string { - pattern + pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' + '(%.+)?'; } description - "The ipv4-address type represents an IPv4 address in + "The ipv4-address type represents an IPv4 address in dotted-quad notation. The IPv4 address may include a zone index, separated by a % sign. If a system uses zone names that are not represented in UTF-8, then an implementation @@ -300,7 +300,7 @@ module ietf-inet-types { type ipv6-address-no-zone; } description - "The ip-address-no-zone type represents an IP address and is + "The ip-address-no-zone type represents an IP address and is IP version neutral. The format of the textual representation implies the IP version. This type does not support scoped addresses since it does not allow zone identifiers in the @@ -390,7 +390,7 @@ module ietf-inet-types { description "The ipv4-prefix type represents an IPv4 prefix. The prefix length is given by the number following the - slash character and must be less than or equal to 32. + slash character and must be less than or equal to 32. A prefix length value of n corresponds to an IP address mask that has n contiguous 1-bits from the most @@ -422,7 +422,7 @@ module ietf-inet-types { description "The ipv6-prefix type represents an IPv6 prefix. The prefix length is given by the number following the - slash character and must be less than or equal to 128. + slash character and must be less than or equal to 128. A prefix length value of n corresponds to an IP address mask that has n contiguous 1-bits from the most @@ -450,7 +450,7 @@ module ietf-inet-types { type ipv6-address-and-prefix; } description - "The ip-address-and-prefix type represents an IP address and + "The ip-address-and-prefix type represents an IP address and prefix and is IP version neutral. The format of the textual representations implies the IP version."; } @@ -463,10 +463,10 @@ module ietf-inet-types { + '/(([0-9])|([1-2][0-9])|(3[0-2]))'; } description - "The ipv4-address-and-prefix type represents an IPv4 + "The ipv4-address-and-prefix type represents an IPv4 address and an associated IPv4 prefix. The prefix length is given by the number following the - slash character and must be less than or equal to 32. + slash character and must be less than or equal to 32. A prefix length value of n corresponds to an IP address mask that has n contiguous 1-bits from the most @@ -488,7 +488,7 @@ module ietf-inet-types { "The ipv6-address-and-prefix type represents an IPv6 address and an associated IPv6 prefix. The prefix length is given by the number following the - slash character and must be less than or equal to 128. + slash character and must be less than or equal to 128. A prefix length value of n corresponds to an IP address mask that has n contiguous 1-bits from the most @@ -506,23 +506,23 @@ module ietf-inet-types { typedef domain-name { type string { length "1..253"; - pattern + pattern '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*' + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)' + '|\.'; } description - "The domain-name type represents a DNS domain name. The + "The domain-name type represents a DNS domain name. The name SHOULD be fully qualified whenever possible. This type does not support wildcards (see RFC 4592) or classless in-addr.arpa delegations (see RFC 2317). Internet domain names are only loosely specified. Section - 3.5 of RFC 1034 recommends a syntax (modified in Section + 3.5 of RFC 1034 recommends a syntax (modified in Section 2.1 of RFC 1123). The pattern above is intended to allow for current practice in domain name use, and some possible future expansion. Note that Internet host names have a - stricter syntax (described in RFC 952) than the DNS + stricter syntax (described in RFC 952) than the DNS recommendations in RFCs 1034 and 1123. Schema nodes representing host names should use the host-name type instead of the domain-type. @@ -548,7 +548,7 @@ module ietf-inet-types { reference "RFC 952: DoD Internet Host Table Specification RFC 1034: Domain Names - Concepts and Facilities - RFC 1123: Requirements for Internet Hosts -- Application + RFC 1123: Requirements for Internet Hosts -- Application and Support RFC 2317: Classless IN-ADDR.ARPA delegation RFC 2782: A DNS RR for specifying the location of services @@ -620,10 +620,10 @@ module ietf-inet-types { reference "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax RFC 3305: Report from the Joint W3C/IETF URI Planning Interest - Group: Uniform Resource Identifiers (URIs), URLs, + Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications and Recommendations - RFC 5017: MIB Textual Conventions for Uniform Resource + RFC 5017: MIB Textual Conventions for Uniform Resource Identifiers (URIs)"; } @@ -654,4 +654,4 @@ module ietf-inet-types { RFC 6531: SMTP Extension for Internationalized Email"; } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-network-slice-mapping@2024-07-05.yang b/experimental/ietf-extracted-YANG-modules/ietf-network-slice-mapping@2024-07-05.yang index 36ef34b93..1362405c0 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-network-slice-mapping@2024-07-05.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-network-slice-mapping@2024-07-05.yang @@ -221,4 +221,4 @@ module ietf-network-slice-mapping { uses ns-mapping; } } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ni-energy-saving@2024-01-23.yang b/experimental/ietf-extracted-YANG-modules/ietf-ni-energy-saving@2024-01-23.yang index 671258128..092ab3a2a 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ni-energy-saving@2024-01-23.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ni-energy-saving@2024-01-23.yang @@ -45,6 +45,7 @@ module ietf-ni-energy-saving { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; + revision 2024-01-23 { description "Initial revision."; @@ -118,4 +119,4 @@ module ietf-ni-energy-saving { uses esm-common:power-parameters; } } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-ntw-energy-saving@2024-01-23.yang b/experimental/ietf-extracted-YANG-modules/ietf-ntw-energy-saving@2024-01-23.yang index 7835fd8f1..9273e19b5 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-ntw-energy-saving@2024-01-23.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-ntw-energy-saving@2024-01-23.yang @@ -139,7 +139,7 @@ module ietf-ntw-energy-saving { "The device energy saving operator state."; } } - } + } } } -} +} \ No newline at end of file diff --git a/experimental/ietf-extracted-YANG-modules/ietf-otn-topology@2024-06-21.yang b/experimental/ietf-extracted-YANG-modules/ietf-otn-topology@2024-06-21.yang index dfe8816c3..5d4d550c9 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-otn-topology@2024-06-21.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-otn-topology@2024-06-21.yang @@ -88,6 +88,7 @@ module ietf-otn-topology { /* * Groupings */ + grouping label-range-info { description "OTN technology-specific label range related information with @@ -114,7 +115,6 @@ module ietf-otn-topology { /* * Data nodes */ - augment "/nw:networks/nw:network/nw:network-types/" + "tet:te-topology" { container otn-topology { @@ -664,6 +664,7 @@ module ietf-otn-topology { } } } + augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" + "tet:max-link-bandwidth/" @@ -760,6 +761,7 @@ module ietf-otn-topology { of the connectivity matrix entry."; uses label-range-info; } + augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" + "tet:connectivity-matrices/tet:label-restrictions/" @@ -881,7 +883,6 @@ module ietf-otn-topology { /* * Augment TE label */ - augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:label-restrictions/tet:label-restriction/" @@ -978,7 +979,6 @@ module ietf-otn-topology { uses l1-types:otn-label-hop; } } - augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" @@ -1507,7 +1507,6 @@ module ietf-otn-topology { uses l1-types:otn-label-step; } } - augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" diff --git a/experimental/ietf-extracted-YANG-modules/ietf-quic-client@2024-10-19.yang b/experimental/ietf-extracted-YANG-modules/ietf-quic-client@2024-11-09.yang similarity index 95% rename from experimental/ietf-extracted-YANG-modules/ietf-quic-client@2024-10-19.yang rename to experimental/ietf-extracted-YANG-modules/ietf-quic-client@2024-11-09.yang index a18dca346..da90995e7 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-quic-client@2024-10-19.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-quic-client@2024-11-09.yang @@ -10,6 +10,12 @@ module ietf-quic-client { "RFC HHHH: NETCONF Client and Server Models"; } + import ietf-quic-common { + prefix quiccmn; + reference + "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers"; + } + import ietf-tls-client { prefix tlsc; reference @@ -53,6 +59,7 @@ module ietf-quic-client { This version of this YANG module is part of RFC AAAA (https://www.rfc-editor.org/info/rfcAAAA); see the RFC itself for full legal notices. + The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document @@ -60,7 +67,7 @@ module ietf-quic-client { (RFC 8174) when, and only when, they appear in all capitals, as shown here."; - revision 2024-10-19 { + revision 2024-11-09 { description "Initial version"; reference @@ -107,6 +114,7 @@ module ietf-quic-client { "RFC 9001: Using TLS to Secure QUIC"; } uses udpc:udp-client; + uses quiccmn:transport-parameters; } // Augments diff --git a/experimental/ietf-extracted-YANG-modules/ietf-quic-common@2024-11-09.yang b/experimental/ietf-extracted-YANG-modules/ietf-quic-common@2024-11-09.yang new file mode 100644 index 000000000..1a1075129 --- /dev/null +++ b/experimental/ietf-extracted-YANG-modules/ietf-quic-common@2024-11-09.yang @@ -0,0 +1,67 @@ +module ietf-quic-common{ + yang-version 1.1; + namespace + "urn:ietf:params:xml:ns:yang:ietf-quic-common"; + prefix quiccmn; + + organization + "IETF NETCONF (Network Configuration) Working Group"; + + contact + "WG List: NETCONF WG list + WG Web: https://datatracker.ietf.org/wg/netconf + Author: Per Andersson "; + + description + "This module defines a reusable grouping that is common for + QUIC clients and QUIC servers. This grouping statement is + used by both 'ietf-quic-client' and 'ietf-quic-server' + modules. + + Copyright (c) 2024 IETF Trust and the persons identified + as authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with + or without modification, is permitted pursuant to, and + subject to the license terms contained in, the Revised + BSD License set forth in Section 4.c of the IETF Trust's + Legal Provisions Relating to IETF Documents + (https://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC AAAA + (https://www.rfc-editor.org/info/rfcAAAA); see the RFC + itself for full legal notices. + + The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', + 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', + 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document + are to be interpreted as described in BCP 14 (RFC 2119) + (RFC 8174) when, and only when, they appear in all + capitals, as shown here."; + + revision 2024-11-09 { + description + "Initial version"; + reference + "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers"; + } + + // Groupings + + grouping transport-parameters { + description + "A reusable grouping for QUIC Transport Parameters."; + reference + "RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport + RFC 9002: QUIC Loss Detection and Congestion Control + RFC 9312: Manageability of the QUIC Transport Protocol"; + + leaf version { type uint32; } + leaf initial-rtt { type uint32; } + leaf congestion-control-algorithm { type string; } + leaf max-idle-timeout { type uint32; } + leaf initial-max-streams-bidi { type uint32; } + leaf initial-max-streams-uni { type uint32; } + leaf keep-alive-interval { type uint32; } + } +} diff --git a/experimental/ietf-extracted-YANG-modules/ietf-quic-server@2024-10-19.yang b/experimental/ietf-extracted-YANG-modules/ietf-quic-server@2024-11-09.yang similarity index 94% rename from experimental/ietf-extracted-YANG-modules/ietf-quic-server@2024-10-19.yang rename to experimental/ietf-extracted-YANG-modules/ietf-quic-server@2024-11-09.yang index fbfe9a8fa..f9615345b 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-quic-server@2024-10-19.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-quic-server@2024-11-09.yang @@ -10,6 +10,12 @@ module ietf-quic-server { "RFC HHHH: NETCONF Client and Server Models"; } + import ietf-quic-common { + prefix quiccmn; + reference + "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers"; + } + import ietf-tls-server { prefix tlss; reference @@ -61,7 +67,7 @@ module ietf-quic-server { (RFC 8174) when, and only when, they appear in all capitals, as shown here."; - revision 2024-10-19 { + revision 2024-11-09 { description "Initial version"; reference @@ -77,6 +83,7 @@ module ietf-quic-server { reference "I-D.draft-ietf-netconf-over-quic-00: NETCONF over QUIC"; } + // FIXME feature quic-call-home // Groupings @@ -95,6 +102,7 @@ module ietf-quic-server { "RFC 9001: Using TLS to Secure QUIC"; } uses udps:udp-server; + uses quiccmn:transport-parameters; } // Augments diff --git a/experimental/ietf-extracted-YANG-modules/ietf-trace-context@2024-11-07.yang b/experimental/ietf-extracted-YANG-modules/ietf-trace-context@2024-11-07.yang new file mode 100644 index 000000000..8ccff9f68 --- /dev/null +++ b/experimental/ietf-extracted-YANG-modules/ietf-trace-context@2024-11-07.yang @@ -0,0 +1,136 @@ +module ietf-trace-context { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-trace-context"; + prefix ietf-trace-context; + + import ietf-yang-structure-ext { + prefix sx; + reference + "RFC8791: YANG Data Structure Extensions"; + } + + organization + "IETF NETCONF (Network Configuration) Working Group"; + contact + "WG Web: + WG List: + + Authors: Roque Gagliano + + + Jan Lindblad + + + Kristian Larsson + + "; + description + "When propagating tracing information across applications, + client and servers needs to share some specific contextual + information. This extensions aligns the NETCONF and RESTCONF + protocols to the W3C trace-context document: + https://www.w3.org/TR/2021/REC-trace-context-1-20211123 + + Copyright (c) 2024 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject to + the license terms contained in, the Revised BSD License set + forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (https://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC XXXX + (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself + for full legal notices + + The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL + NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', + 'MAY', and 'OPTIONAL' in this document are to be interpreted as + described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, + they appear in all capitals, as shown here. + "; + + revision 2024-11-07 { + description + "Initial revision"; + reference + "RFC XXXX: + NETCONF Extension to support Trace Context propagation"; + } + + identity meta-error { + description + "Base identity for trace context attribute errors."; + } + + identity missing { + base meta-error; + description + "Indicates an attribute or header that is required + (in the current situation) is missing."; + } + + identity bad-format { + base meta-error; + description + "Indicates an attribute or header value where the + value is incorrectly formatted."; + } + + identity processing-error { + base meta-error; + description + "Indicates that the server encountered a processing + error while processing the attribute or header value."; + } + + typedef meta-error-type { + type identityref { + base meta-error; + } + description + "Error type"; + } + + sx:structure trace-context-error-info { + container trace-context-error-info { + description + "This error is returned by a NETCONF or RESTCONF server + when a client sends a NETCONF RPC with additonal + attributes or RESTCONF RPC with additional headers + for trace context processing, and there is an error + related to them. The server has aborted the RPC."; + leaf meta-name { + type string; + description + "The name of the problematic or missing meta information. + In NETCONF, the qualified XML attribute name. + In RESTCONF, the HTTP header name. + If a client sent a NETCONF RPC with the attribute + w3ctc:traceparent='incorrect-format' + this leaf would have the value 'w3ctc:traceparent'"; + } + leaf meta-value { + type string; + description + "The value of the problematic meta information received + by the server. + If a client sent a NETCONF RPC with the attribute + w3ctc:traceparent='incorrect-format' + this leaf would have the value 'incorrect-format'."; + } + leaf error-type { + type meta-error-type; + description + "Indicates the type of meta information problem + detected by the server. + If a client sent an RPC annotated with the attribute + w3ctc:traceparent='incorrect-format' + this leaf might have the value + 'ietf-trace-context:bad-format'."; + } + } + } +} diff --git a/experimental/ietf-extracted-YANG-modules/ietf-yang-types@2024-10-21.yang b/experimental/ietf-extracted-YANG-modules/ietf-yang-types@2024-10-21.yang index 202b2ea23..8fe6281e9 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-yang-types@2024-10-21.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-yang-types@2024-10-21.yang @@ -55,7 +55,7 @@ module ietf-yang-types { - yang:language-tag The yang-identifier definition has been aligned with YANG 1.1. Several pattern statements have been improved."; - reference + reference "RFC XXXX: Common YANG Data Types"; } @@ -66,14 +66,14 @@ module ietf-yang-types { - yang:hex-string - yang:uuid - yang:dotted-quad"; - reference + reference "RFC 6991: Common YANG Data Types"; } revision 2010-09-24 { description "Initial revision."; - reference + reference "RFC 6021: Common YANG Data Types"; } @@ -92,10 +92,10 @@ module ietf-yang-types { content. Discontinuities in the monotonically increasing value normally occur at re-initialization of the management system, and at other times as specified in the - description of a schema node using this type. If such + description of a schema node using this type. If such other times can occur, for example, the instantiation of a schema node of type counter32 at times other than - re-initialization, then a corresponding schema node + re-initialization, then a corresponding schema node should be defined, with an appropriate type, to indicate the last discontinuity. @@ -116,12 +116,13 @@ module ietf-yang-types { description "The zero-based-counter32 type represents a counter32 that has the defined 'initial' value zero. - A data tree node using this type will be set to zero (0) + + A data tree node using this type will be set to zero (0) on creation and will thereafter increase monotonically until - it reaches a maximum value of 2^32-1 (4294967295 decimal), + it reaches a maximum value of 2^32-1 (4294967295 decimal), when it wraps around and starts increasing again from zero. - Provided that an application discovers a new data tree node + Provided that an application discovers a new data tree node using this type within the minimum time to wrap, it can use the 'initial' value as a delta. It is important for a management station to be aware of this minimum time and the @@ -189,20 +190,20 @@ module ietf-yang-types { In the value set and its semantics, this type is equivalent to the ZeroBasedCounter64 textual convention of the SMIv2."; reference - "RFC 2856: Textual Conventions for Additional High Capacity + "RFC 2856: Textual Conventions for Additional High Capacity Data Types"; } typedef gauge32 { type uint32; description - "The gauge32 type represents a non-negative integer, which + "The gauge32 type represents a non-negative integer, which may increase or decrease, but shall never exceed a maximum value, nor fall below a minimum value. The maximum value cannot be greater than 2^32-1 (4294967295 decimal), and the minimum value cannot be smaller than 0. The value of a gauge32 has its maximum value whenever the information - being modeled is greater than or equal to its maximum + being modeled is greater than or equal to its maximum value, and has its minimum value whenever the information being modeled is smaller than or equal to its minimum value. If the information being modeled subsequently decreases @@ -219,10 +220,10 @@ module ietf-yang-types { typedef gauge64 { type uint64; description - "The gauge64 type represents a non-negative integer, which + "The gauge64 type represents a non-negative integer, which may increase or decrease, but shall never exceed a maximum value, nor fall below a minimum value. The maximum value - cannot be greater than 2^64-1 (18446744073709551615), and + cannot be greater than 2^64-1 (18446744073709551615), and the minimum value cannot be smaller than 0. The value of a gauge64 has its maximum value whenever the information being modeled is greater than or equal to its maximum @@ -233,10 +234,10 @@ module ietf-yang-types { gauge64 also decreases (increases). In the value set and its semantics, this type is equivalent - to the CounterBasedGauge64 SMIv2 textual convention defined + to the CounterBasedGauge64 SMIv2 textual convention defined in RFC 2856"; reference - "RFC 2856: Textual Conventions for Additional High Capacity + "RFC 2856: Textual Conventions for Additional High Capacity Data Types"; } @@ -259,9 +260,9 @@ module ietf-yang-types { The ASN.1 standard restricts the value space of the first sub-identifier to 0, 1, or 2. Furthermore, the value space - of the second sub-identifier is restricted to the range - 0 to 39 if the first sub-identifier is 0 or 1. Finally, - the ASN.1 standard requires that an object identifier + of the second sub-identifier is restricted to the range + 0 to 39 if the first sub-identifier is 0 or 1. Finally, + the ASN.1 standard requires that an object identifier has always at least two sub-identifiers. The pattern captures these restrictions. @@ -323,7 +324,7 @@ module ietf-yang-types { UTC and that the local time reference point is UTC (see RFC 3339 section 4.3). - This type is not equivalent to the DateAndTime textual + This type is not equivalent to the DateAndTime textual convention of the SMIv2 since RFC 3339 uses a different separator between full-date and full-time and provides higher resolution of time-secfrac. @@ -340,7 +341,7 @@ module ietf-yang-types { reference "RFC 3339: Date and Time on the Internet: Timestamps RFC 2579: Textual Conventions for SMIv2 - XSD-TYPES: XML Schema Definition Language (XSD) 1.1 + XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } @@ -354,8 +355,9 @@ module ietf-yang-types { of a day, i.e., 24 hours. It includes an optional time zone offset. - The date type is compatible with the XML schema date + The date type is compatible with the XML schema date type with the following notable exceptions: + (a) The date type does not allow negative years. (b) The time-offset Z indicates that the date value is @@ -377,7 +379,7 @@ module ietf-yang-types { "RFC 3339: Date and Time on the Internet: Timestamps RFC 9557: Date and Time on the Internet: Timestamps with Additional Information - XSD-TYPES: XML Schema Definition Language (XSD) 1.1 + XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } @@ -422,7 +424,7 @@ module ietf-yang-types { "RFC 3339: Date and Time on the Internet: Timestamps RFC 9557: Date and Time on the Internet: Timestamps with Additional Information - XSD-TYPES: XML Schema Definition Language (XSD) 1.1 + XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } @@ -439,7 +441,7 @@ module ietf-yang-types { type int32; units "hours"; description - "A period of time, measured in units of hours. + "A period of time, measured in units of hours. The maximum time period that can be expressed is in the range [-89478485 days 08:00:00 to 89478485 days 07:00:00]. @@ -581,7 +583,7 @@ module ietf-yang-types { type timeticks; description "The timestamp type represents the value of an associated - timeticks schema node instance at which a specific occurrence + timeticks schema node instance at which a specific occurrence happened. The specific occurrence must be defined in the description of any schema node defined using this type. When the specific occurrence occurred prior to the last time the @@ -615,7 +617,7 @@ module ietf-yang-types { In the value set and its semantics, this type is equivalent to the PhysAddress textual convention of the SMIv2."; - reference + reference "RFC 2579: Textual Conventions for SMIv2"; } @@ -657,7 +659,7 @@ module ietf-yang-types { } description "A hexadecimal string with octets represented as hex digits - separated by colons. The canonical representation uses + separated by colons. The canonical representation uses lowercase characters."; } @@ -681,7 +683,7 @@ module ietf-yang-types { typedef dotted-quad { type string { - pattern + pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'; } @@ -723,7 +725,7 @@ module ietf-yang-types { "A YANG identifier string as defined by the 'identifier' rule in Section 14 of RFC 7950. An identifier must start with an alphabetic character or an underscore - followed by an arbitrary sequence of alphabetic or + followed by an arbitrary sequence of alphabetic or numeric characters, underscores, hyphens, or dots. This definition conforms to YANG 1.1 defined in RFC