diff --git a/experimental/ietf-extracted-YANG-modules/ietf-if-extensions@2023-01-26.yang b/experimental/ietf-extracted-YANG-modules/ietf-if-extensions@2024-07-31.yang similarity index 96% rename from experimental/ietf-extracted-YANG-modules/ietf-if-extensions@2023-01-26.yang rename to experimental/ietf-extracted-YANG-modules/ietf-if-extensions@2024-07-31.yang index 8cb39c284..d503735d8 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-if-extensions@2023-01-26.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-if-extensions@2024-07-31.yang @@ -4,6 +4,7 @@ module ietf-if-extensions { namespace "urn:ietf:params:xml:ns:yang:ietf-if-extensions"; prefix if-ext; + import ietf-yang-types { prefix yang; reference "RFC 6991: Common YANG Data Types"; @@ -14,7 +15,6 @@ module ietf-if-extensions { reference "RFC 8343: A YANG Data Model For Interface Management"; } - import iana-if-type { prefix ianaift; reference "RFC 7224: IANA Interface Type YANG Module"; @@ -35,7 +35,7 @@ module ietf-if-extensions { interface YANG model (RFC 8343) with common configurable layer 2 properties. - Copyright (c) 2023 IETF Trust and the persons identified as + 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 @@ -55,9 +55,9 @@ module ietf-if-extensions { described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; - revision 2023-01-26 { + revision 2024-07-31 { description - "Initial revision."; + "Interface Extension YANG Module initial revision"; reference "RFC XXXX, Common Interface Extension YANG Data Models"; @@ -104,6 +104,15 @@ module ietf-if-extensions { reference "RFC XXXX, Section 2.6 Sub-interface"; } + feature peer-interface { + description + "This feature indicates that the device supports the + specification of peer-interfaces. A Peer-interface is defined + as logical peer that receives egress traffic of the given + interface on its ingress path and vice versa."; + reference "RFC XXXX, Section 2.8 Peer-interface"; + } + /* * Define common identities to help allow interface types to be * assigned properties. @@ -386,6 +395,7 @@ module ietf-if-extensions { "All interface types that can have a configurable L2 encapsulation."; } + description "Holds the OSI layer 2 encapsulation associated with an interface."; @@ -453,6 +463,15 @@ module ietf-if-extensions { "The forwarding mode that the interface is operating in."; reference "RFC XXXX, Section 2.7 Forwarding Mode"; } + leaf peer-interface { + if-feature "peer-interface"; + + type if:interface-ref; + + description + "The peer interface associated to this interface."; + reference "RFC XXXX, Section 2.8 Peer-interface"; + } } /* @@ -523,7 +542,6 @@ module ietf-if-extensions { but are not included in in-unicast-pkts, in-multicast-pkts or in-broadcast-pkts, because they are not delivered to a higher layer. - Discontinuities in the values of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' diff --git a/experimental/ietf-extracted-YANG-modules/ietf-if-flexible-encapsulation@2023-01-26.yang b/experimental/ietf-extracted-YANG-modules/ietf-if-flexible-encapsulation@2023-01-26.yang index 173c75fc5..f18b0ccfe 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-if-flexible-encapsulation@2023-01-26.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-if-flexible-encapsulation@2023-01-26.yang @@ -157,7 +157,6 @@ module ietf-if-flexible-encapsulation { } } } - case dot1q-vlan-tagged { container dot1q-vlan-tagged { description @@ -254,7 +253,6 @@ module ietf-if-flexible-encapsulation { + 'tag-type = "dot1q-types:c-vlan"' { error-message "Only C-VLAN and S-VLAN tags can be pushed."; - description "For IEEE 802.1Q interoperability, only C-VLAN and S-VLAN tags can be pushed."; @@ -303,7 +301,6 @@ module ietf-if-flexible-encapsulation { container dot1q-tag-rewrite { if-feature "dot1q-tag-rewrites"; - description "802.1Q VLAN tag rewrite. diff --git a/experimental/ietf-extracted-YANG-modules/ietf-if-vlan-encapsulation@2023-01-26.yang b/experimental/ietf-extracted-YANG-modules/ietf-if-vlan-encapsulation@2023-01-26.yang index c49775e4d..9b7fb83cf 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-if-vlan-encapsulation@2023-01-26.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-if-vlan-encapsulation@2023-01-26.yang @@ -44,7 +44,7 @@ module ietf-if-vlan-encapsulation { VLAN tagged Ethernet traffic by exactly matching the tag type and VLAN identifier of one or two 802.1Q VLAN tags in the frame. - Copyright (c) 2023 IETF Trust and the persons identified as + 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 diff --git a/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2024-05-09.yang b/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2024-07-29.yang similarity index 94% rename from experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2024-05-09.yang rename to experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2024-07-29.yang index d6ccd4628..3b241419b 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2024-05-09.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2024-07-29.yang @@ -50,7 +50,12 @@ module ietf-network-slice-service { import ietf-te-types { prefix te-types; reference - "RFC 8776: Traffic Engineering Common YANG Types"; + "RFC DDDD: Common YANG Types for Traffic Engineering"; + } + import ietf-te-packet-types { + prefix te-packet-types; + reference + "RFC DDDD: Common YANG Data Types for Traffic Engineering"; } organization @@ -86,7 +91,8 @@ module ietf-network-slice-service { This version of this YANG module is part of RFC AAAA; see the RFC itself for full legal notices."; - revision 2024-05-09 { + + revision 2024-07-29 { description "Initial revision."; reference @@ -374,6 +380,7 @@ module ietf-network-slice-service { "RFC 7680: A One-Way Loss Metric for IP Performance Metrics (IPPM)"; } + identity availability-type { description "Base identity for availability."; @@ -839,80 +846,14 @@ module ietf-network-slice-service { } } - grouping one-way-performance-metrics { - description - "One-way PM metrics grouping."; - leaf one-way-min-delay { - type yang:gauge64; - description - "One-way minimum delay or latency in microseconds."; - } - leaf one-way-max-delay { - type yang:gauge64; - description - "One-way maximum delay or latency in microseconds."; - reference - "RFC 7679: A One-Way Delay Metric for IP Performance - Metrics (IPPM)"; - } - leaf one-way-delay-variation { - type yang:gauge64; - description - "One-way delay variation in microseconds."; - reference - "RFC 3393: IP Packet Delay Variation Metric for IP Performance - Metrics (IPPM)"; - } - leaf one-way-packet-loss { - type percentage; - description - "The ratio of packets dropped to packets transmitted between - two endpoints."; - reference - "RFC 7680: A One-Way Loss Metric for IP Performance - Metrics (IPPM)"; - } - } - - grouping two-way-performance-metrics { - description - "Two-way packet PM metrics grouping."; - leaf two-way-min-delay { - type yang:gauge64; - description - "Two-way minimum delay or latency in microseconds."; - reference - "RFC 2681: A Round-trip Delay Metric for IPPM"; - } - leaf two-way-max-delay { - type yang:gauge64; - description - "Two-way maximum delay or latency in microseconds."; - reference - "RFC 2681: A Round-trip Delay Metric for IPPM"; - } - leaf two-way-delay-variation { - type yang:gauge64; - description - "Two-way delay variation in microseconds."; - reference - "RFC 5481: Packet Delay Variation Applicability Statement"; - } - leaf two-way-packet-loss { - type percentage; - description - "The ratio of packets dropped to packets transmitted between - two endpoints."; - } - } - grouping connectivity-construct-monitoring-metrics { description "Grouping for connectivity construct monitoring metrics."; - uses one-way-performance-metrics; - uses two-way-performance-metrics; + uses + te-packet-types:one-way-performance-metrics-gauge-packet; + uses + te-packet-types:two-way-performance-metrics-gauge-packet; } - /* Main Network Slice Services Container */ container network-slice-services { @@ -1137,8 +1078,8 @@ module ietf-network-slice-service { leaf ac-svc-ref { type ac-svc:attachment-circuit-reference; description - "A reference to the AC service that have been created before - the slice creation."; + "A reference to the AC service that have been + created before the slice creation."; reference "RFC CCCC: YANG Data Models for Bearers and 'Attachment Circuits'-as-a-Service (ACaaS)"; diff --git a/experimental/ietf-extracted-YANG-modules/ietf-tpm-remote-attestation@2022-05-17.yang b/experimental/ietf-extracted-YANG-modules/ietf-tpm-remote-attestation@2022-05-17.yang index 89b1cfff8..ef4d65808 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-tpm-remote-attestation@2022-05-17.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-tpm-remote-attestation@2022-05-17.yang @@ -22,7 +22,7 @@ module ietf-tpm-remote-attestation { "WG Web : WG List : Author : Eric Voit - Author : Henk Birkholz + Author : Henk Birkholz Author : Michael Eckel Author : Shwetha Bhandari Author : Bill Sulzen diff --git a/standard/iana/yang-parameters.xml b/standard/iana/yang-parameters.xml index 0a4bafcc4..d2439186e 100644 --- a/standard/iana/yang-parameters.xml +++ b/standard/iana/yang-parameters.xml @@ -4,7 +4,7 @@ YANG Parameters 2010-06-10 - 2024-07-25 + 2024-08-02 YANG Module Names @@ -1779,15 +1779,15 @@ and Subsequent Address Family Identi - + ietf-sid-file N - + ietf-sid-file@2024-07-31.yang urn:ietf:params:xml:ns:yang:ietf-sid-file sid - - 's module file will be posted upon the document's publication as an RFC. + + ietf-snmp diff --git a/standard/ietf/RFC/ietf-sid-file.yang b/standard/ietf/RFC/ietf-sid-file.yang new file mode 120000 index 000000000..902d21307 --- /dev/null +++ b/standard/ietf/RFC/ietf-sid-file.yang @@ -0,0 +1 @@ +ietf-sid-file@2024-07-31.yang \ No newline at end of file diff --git a/standard/ietf/RFC/ietf-sid-file@2024-07-31.yang b/standard/ietf/RFC/ietf-sid-file@2024-07-31.yang new file mode 100644 index 000000000..c360463e4 --- /dev/null +++ b/standard/ietf/RFC/ietf-sid-file@2024-07-31.yang @@ -0,0 +1,364 @@ +module ietf-sid-file { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file"; + prefix sid; + + import ietf-yang-types { + prefix yang; + reference + "RFC 6991: Common YANG Data Types"; + } + import ietf-yang-structure-ext { + prefix sx; + reference + "RFC 8791: YANG Data Structure Extensions"; + } + + organization + "IETF CORE Working Group"; + + contact + "WG Web: + + WG List: + + Editor: Michel Veillette + + + Editor: Andy Bierman + + + Editor: Alexander Pelov + + + Editor: Ivaylo Petrov + "; + + description + "This module defines the structure of the '.sid' files. + + Each '.sid' file contains the mapping between each + string identifier defined by a YANG module and a + corresponding numeric value called a YANG SID. + + 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. + + 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 9595; see + the RFC itself for full legal notices."; + + revision 2024-07-31 { + description + "Initial revision."; + reference + "RFC 9595: YANG Schema Item iDentifier (YANG SID)"; + } + + typedef revision-identifier { + type string { + pattern '[0-9]{4}-[0-9]{2}-[0-9]{2}'; + } + description + "Represents a date in YYYY-MM-DD format."; + } + + typedef sid-file-version-identifier { + type uint32; + description + "Represents the version of a '.sid' file."; + } + + typedef sid { + type uint64 { + range "0..9223372036854775807"; + } + description + "YANG Schema Item iDentifier."; + reference + "RFC 9595: YANG Schema Item iDentifier (YANG SID)"; + } + + typedef schema-node-path { + type string { + pattern + '/[a-zA-Z_][a-zA-Z0-9\-_.]*:[a-zA-Z_][a-zA-Z0-9\-_.]*' + + '(/[a-zA-Z_][a-zA-Z0-9\-_.]*(:[a-zA-Z_][a-zA-Z0-9\-_.]*)?)*'; + } + description + "A schema-node path is an absolute YANG schema-node + identifier as defined by the YANG ABNF rule + 'absolute-schema-nodeid', except that module names are used + instead of prefixes. + + This string additionally follows the following rules: + + - The leftmost (top-level) data node name is always in the + namespace-qualified form. + - Any subsequent schema-node name is in the + namespace-qualified form if the node is defined in a + module other than its parent node. Otherwise, the + simple form is used. No predicates are allowed."; + reference + "RFC 5234 (STD 68): Augmented BNF for Syntax Specifications: + ABNF + RFC 7950: The YANG 1.1 Data Modeling Language, + Section 6.5: Schema Node Identifier"; + } + + sx:structure sid-file { + uses sid-file-contents; + } + + grouping sid-file { + description + "A grouping that contains a YANG container + representing the file structure of a '.sid' file."; + + container sid-file { + description + "A wrapper container that together with the 'sx:structure' + extension marks the YANG data structures inside as not + being intended to be implemented as part of a + configuration datastore or as an operational state within + the server."; + uses sid-file-contents; + } + } + + grouping sid-file-contents { + description + "A grouping that defines the contents of a container that + represents the file structure of a '.sid' file."; + + leaf module-name { + type yang:yang-identifier; + mandatory true; + description + "Name of the YANG module associated with this + '.sid' file."; + } + + leaf module-revision { + type revision-identifier; + description + "Revision of the YANG module associated with this '.sid' + file. + This leaf is not present if no revision statement is + defined in the YANG module."; + } + + leaf sid-file-version { + type sid-file-version-identifier; + default 0; + description + "Optional leaf that specifies the version number of the + '.sid' file. '.sid' files and the version sequence are + specific to a given YANG module revision. This number + starts at zero when there is a new YANG module revision + and increases monotonically. This number can distinguish + updates to the '.sid' file - for instance, as the result + of new processing or reported errata."; + } + + leaf sid-file-status { + type enumeration { + enum unpublished { + description + "This '.sid' file is unpublished (BCP 216) and is + also called a work-in-progress or workfile. + This may be when it accompanies an unpublished YANG + module or when only the '.sid' file itself is + unpublished. + The 'item' list MAY contain entries with a status + value of 'unstable'."; + reference + "RFC 8407 (BCP 216): Guidelines for Authors and + Reviewers of Documents Containing + YANG Data Models"; + } + enum published { + description + "This '.sid' file is published. This status + applies to '.sid' files for published YANG modules. + The 'item' list MUST NOT contain entries with a + status value of 'unstable'."; + } + } + default "published"; + description + "Optional leaf that specifies the status of the + '.sid' file."; + } + + leaf description { + type string; + description + "Free-form meta-information about the generated file. It + might include a '.sid' file generation tool and time, + among other things."; + } + + list dependency-revision { + key "module-name"; + + description + "Information about the revision used during the + '.sid' file generation of each dependency, i.e., each + YANG module that the YANG module associated with this + '.sid' file imported."; + + leaf module-name { + type yang:yang-identifier; + description + "YANG module name of this dependency."; + } + leaf module-revision { + type revision-identifier; + mandatory true; + description + "Revision of the YANG module of this dependency."; + } + } + + list assignment-range { + key "entry-point"; + description + "YANG-SID Range(s) allocated to the YANG module + identified by 'module-name' and 'module-revision'. + + - The first available value in the YANG-SID Range is + 'entry-point', and the last available value in the + range is ('entry-point' + size - 1). + - The YANG-SID Ranges specified by all + 'assignment-range' entries MUST NOT overlap."; + + leaf entry-point { + type sid; + description + "Lowest YANG SID available for assignment."; + } + + leaf size { + type uint64; + mandatory true; + description + "Number of YANG SIDs available for assignment."; + } + } + + list item { + key "namespace identifier"; + unique "sid"; + + description + "Each entry within this list defines the mapping between + a YANG item string identifier and a YANG SID. This list + MUST include a mapping entry for each YANG item defined + by the YANG module identified by 'module-name' and + 'module-revision'."; + + leaf status { + type enumeration { + enum stable { + value 0; + description + "This SID allocation has been published as the + stable allocation for the given namespace and + identifier."; + } + enum unstable { + value 1; + description + "This SID allocation has been done during a + development process; it is not yet stable."; + } + enum obsolete { + value 2; + description + "This SID allocation is no longer in use. It is + recorded to avoid reallocation of its SID value."; + } + } + default "stable"; + description + "The status field contains information about the + stability of the allocation. For each specific SID + value, over time it can only transition from + 'unstable' to 'stable', and possibly from 'stable' to + 'obsolete'."; + } + + leaf namespace { + type enumeration { + enum module { + value 0; + description + "All module and submodule names share the same + global module identifier namespace."; + } + enum identity { + value 1; + description + "All identity names defined in a module and its + submodules share the same identity identifier + namespace."; + } + enum feature { + value 2; + description + "All feature names defined in a module and its + submodules share the same feature identifier + namespace."; + } + enum data { + value 3; + description + "The namespace for all data nodes, as defined in + YANG."; + } + } + description + "Namespace of the YANG item for this mapping entry."; + } + + leaf identifier { + type union { + type yang:yang-identifier; + type schema-node-path; + } + description + "String identifier of the YANG item for this mapping + entry. + + If the corresponding 'namespace' field is 'module', + 'feature', or 'identity', then this field MUST + contain a valid YANG identifier string. + + If the corresponding 'namespace' field is 'data', + then this field MUST contain a valid schema-node + path."; + } + + leaf sid { + type sid; + mandatory true; + description + "YANG SID assigned to the YANG item for this mapping + entry."; + } + } + } +}