diff --git a/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-action@2026-05-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-action@2026-05-12.yang new file mode 100644 index 000000000..85d5e3b0d --- /dev/null +++ b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-action@2026-05-12.yang @@ -0,0 +1,175 @@ +module ietf-cmis-control-action { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-cmis-control-action"; + prefix cmis-ctrl-act; + + import ietf-interfaces { + prefix if; + } + + organization + "IETF CCAMP Working Group"; + + contact + "WG Web: + WG List: + + Editor: Shunsuke Homma + + + Editor: Hitoshi Irino + "; + + description + "This YANG module defines a data model for action-based + management of CMIS (Common Management Interface Specification) + pages as specified by OIF. It enables configuration and + retrieval of CMIS page data, including access types and value + fields, to support the management of pluggable optical modules + via NETCONF or RESTCONF. + + 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) 2026 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 + (http://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."; + +// RFC Ed.: replace XXXX with actual RFC number and remove this note + revision "2026-05-12" { + description + "Updated action definitions to respect governance policy + defined in ietf-cmis-control."; + reference + "RFC XXXX: A YANG Data Model for CMIS Access and Control"; + } + + revision "2025-10-11" { + description "Initial revision."; + reference + "RFC XXXX: A YANG Data Model for CMIS Access and Control"; + } + + augment "/if:interfaces/if:interface" { + description + "Add CMIS read/write actions under interface."; + + action cmis-read { + description + "Read CMIS register via action context. + The operation MUST respect the governance policy defined + in the 'cmis-control' container of the target interface. + If the target page is not accessible (e.g., default-policy + is 'disabled' and the page is not in the read/write + whitelists), the server MUST return an error. + Note: Care should be taken when accessing Lower Memory + (Address 0-127, typically Page 00h) as it may contain + Clear-on-Read registers."; + input { + leaf page { + type uint8; + mandatory true; + description "The number of the CMIS page."; + } + leaf bank { + type uint8; + mandatory true; + description "The banks corresponding to the CMIS page."; + } + leaf offset { + type uint8; + mandatory true; + description "The memory address of the value."; + } + leaf size { + type uint8{ + range "1 .. 128"; + } + mandatory true; + description "The memory size of the value."; + } + } + output { + leaf data { + type binary; + description "Raw register data."; + } + } + } + + action cmis-write { + description + "Write CMIS register data via action context. + The operation MUST respect the governance policy defined + in the 'cmis-control' container of the target interface. + If the target page is not in the 'remote-write-allowed-pages' + list, the server MUST reject the request. + Writing to Lower Memory (Address 0-127) MUST NOT be performed + to prevent interference with Host management."; + input { + leaf page { + type uint8; + mandatory true; + description "The number of the CMIS page."; + } + leaf bank { + type uint8; + mandatory true; + description "The banks corresponding to the CMIS page."; + } + leaf offset { + type uint8; + mandatory true; + description "The memory address of the value."; + } + leaf data { + type binary; + mandatory true; + description "Data to write."; + } + } + output { + leaf status { + type enumeration { + enum success { + description "Write operation succeeded."; + } + enum not-permitted { + description + "Write request was rejected due to access-type or + governance policy (e.g., page not in whitelist)."; + } + enum io-error { + description "I/O error during write"; + } + enum invalid-params { + description "Bad parameters"; + } + } + description "Result of the write operation."; + } + leaf post-write-value { + type binary; + description + "Optional read-back of the target value after write. + Present only if the implementation performed a read-back + (e.g., for 'rw' registers). Not present for 'wo' registers + or when no-readback was requested/possible."; + } + } + } + } +} diff --git a/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-primitive@2025-04-21.yang b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-primitive@2025-04-21.yang index 223093010..b726fc935 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-primitive@2025-04-21.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-primitive@2025-04-21.yang @@ -18,15 +18,22 @@ module ietf-cmis-control-primitive { Editor: Hitoshi Irino - "; + "; description - "This YANG module defines a primitive data model for the - management of CMIS (Common Management Interface Specification) - pages as specified by OIF. It enables configuration and - retrieval of CMIS page data, including access types and value - fields, to support the management of pluggable optical modules - via NETCONF or RESTCONF. + "This YANG module defines a data model for the management + of CMIS (Common Management Interface Specification) pages + as specified by OIF with RPC. It enables configuration and + retrieval of CMIS page data, including access types and + value fields, to support the management of pluggable optical + modules via NETCONF or RESTCONF. + + 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) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. @@ -38,102 +45,77 @@ module ietf-cmis-control-primitive { (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX - (https://www.rfc-editor.org/info/rfc YYYY); see the RFC itself + (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices."; // RFC Ed.: replace XXXX with actual RFC number and remove this note - revision "2025-04-21" { - description - "Initial revision."; - reference - "I-D.hi-ccamp-cmis-control-yang-00"; - } - - /* - * Primitive Mode of CMIS control data nodes - */ - - grouping primitive-cmis-page { - description - "Parameters stored in the CMIS page as flat data structure"; - - leaf page-num{ - type uint8 { - range "0 .. 255"; - } - mandatory true; - description - "The number of the CMIS page."; - } - - leaf bank { - type uint8; - mandatory true; - description - "The banks corresponding to the CMIS page."; - } - - leaf offset { - type uint8; - mandatory true; + revision "2025-04-21" { description - "The memory address of the value."; + "Initial revision."; + reference + "RFC XXXX: A YANG Data Model for CMIS Access and Control"; } - leaf size { - type uint8 { - range "1 .. 128"; + augment "/if:interfaces/if:interface" { + description "Add primitive CMIS read/write actions under interface."; + + action cmis-read { + description "Read CMIS register under this interface."; + input { + leaf page { + type uint8; + mandatory true; + description "The number of the CMIS page."; + } + leaf bank { + type uint8; + mandatory true; + description "The bank of the CMIS page."; + } + leaf offset { + type uint8; + mandatory true; + description "The memory address of the value."; + } + leaf size { + type uint8; + default 1; + description "The memory size of the value."; + } + } + output { + leaf data { + type binary; + description "Raw register data."; + } + } } - mandatory true; - description - "The memory size of the value."; - } - leaf value { - type binary; - mandatory true; - description - "The actual data to write to the CMIS memory."; - } - } - - grouping cmis-control-primitive { - description - "Parameters for primitive CMIS control of the pluggable - device equipped in the interface."; - - leaf cmis-enabled { - type boolean; - default "false"; - config false; - description - "The availability of the CMIS for control the pluggable - device equipped in the interface. If the device does not - support CMIS, this value is false."; - } - - leaf cmis-version { - type string; - config false; - description - "The version of the CMIS by the pluggable device."; - } - - list primitive-cmis-page { - key "page-num"; - config true; - uses primitive-cmis-page; - } - } - - /* - * Augment Interface - */ - - augment "/if:interfaces/if:interface" { - container cmis-control-primitive { - uses cmis-control-primitive; + action cmis-write { + description "Write CMIS register under this interface."; + input { + leaf page { + type uint8; + mandatory true; + description "The number of the CMIS page."; + } + leaf bank { + type uint8; + mandatory true; + description "The bank of the CMIS page."; + } + leaf offset { + type uint8; + mandatory true; + description "The memory address of the value."; + } + leaf data { + type binary; + mandatory true; + description "Data to write."; + } + } + } } - } } diff --git a/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-rpc@2026-05-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-rpc@2026-05-12.yang new file mode 100644 index 000000000..8d4176d2e --- /dev/null +++ b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control-rpc@2026-05-12.yang @@ -0,0 +1,182 @@ +module ietf-cmis-control-rpc { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-cmis-control-rpc"; + prefix cmis-ctrl-rpc; + + import ietf-interfaces { + prefix if; + } + + organization + "IETF CCAMP Working Group"; + + contact + "WG Web: + WG List: + + Editor: Shunsuke Homma + + + Editor: Hitoshi Irino + "; + + description + "This YANG module defines a data model for the management + of CMIS (Common Management Interface Specification) pages + as specified by OIF with RPC. It enables configuration and + retrieval of CMIS page data, including access types and + value fields, to support the management of pluggable + optical modules via NETCONF or RESTCONF. + + 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) 2026 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 + (http://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."; + +// RFC Ed.: replace XXXX with actual RFC number and remove this note + + revision "2026-05-12" { + description + "Updated RPC definitions to respect governance policy + defined in ietf-cmis-control."; + reference + "RFC XXXX: A YANG Data Model for CMIS Access and Control"; + } + + revision "2025-10-11" { + description + "Initial revision."; + reference + "I-D.hi-ccamp-cmis-control-yang-01"; + } + + rpc cmis-read { + description + "Read a CMIS register from a pluggable DCO transceiver. + The operation MUST respect the governance policy defined + in the 'cmis-control' container of the target interface. + Note: Care should be taken when accessing Lower Memory + (Address 0-127, typically Page 00h) as it may contain + Clear-on-Read registers."; + input { + leaf interface-name { + type leafref{ + path "/if:interfaces/if:interface/if:name"; + } + mandatory true; + description "Target interface name."; + } + leaf page { + type uint8; + mandatory true; + description "The number of the CMIS page."; + } + leaf bank { + type uint8; + mandatory true; + description "The bank of the CMIS page."; + } + leaf offset { + type uint8; + mandatory true; + description "The memory address of the value."; + } + leaf size { + type uint8; + default 1; + description "Number of bytes to read."; + } + } + output { + leaf data { + type binary; + description "Raw register data."; + } + } + } + + rpc cmis-write { + description + "Write CMIS register data to a pluggable module. + The operation MUST respect the governance policy defined + in the 'cmis-control' container of the target interface. + If the target page is not in the 'remote-write-allowed-pages' + list, the server MUST reject the request. + Writing to Lower Memory (Address 0-127) MUST NOT be performed + to prevent interference with Host management."; + input { + leaf interface-name { + type leafref{ + path "/if:interfaces/if:interface/if:name"; + } + mandatory true; + description "Target interface name."; + } + leaf page { + type uint8; + mandatory true; + description "The number of the CMIS page."; + } + leaf bank { + type uint8; + mandatory true; + description "The banks corresponding to the CMIS page."; + } + leaf offset { + type uint8; + mandatory true; + description "The memory address of the value."; + } + leaf data { + type binary; + mandatory true; + description "Data to write."; + } + } + output { + leaf status { + type enumeration { + enum success { + description "Write operation succeeded."; + } + enum not-permitted { + description + "Write request was rejected due to access-type or + governance policy (e.g., page not in whitelist)."; + } + enum io-error { + description "I/O error during write."; + } + enum invalid-params { + description "Bad parameters provided."; + } + } + description "Result of the write operation."; + } + + leaf post-write-value { + type binary; + description + "Optional read-back of the target value after write. + Present only if the implementation performed a read-back + (e.g., for 'rw' registers). Not present for 'wo' registers + or when no-readback was requested/possible."; + } + } + } +} diff --git a/experimental/ietf-extracted-YANG-modules/ietf-cmis-control@2025-04-21.yang b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control@2026-05-12.yang similarity index 59% rename from experimental/ietf-extracted-YANG-modules/ietf-cmis-control@2025-04-21.yang rename to experimental/ietf-extracted-YANG-modules/ietf-cmis-control@2026-05-12.yang index b57b80678..b480ad2cb 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-cmis-control@2025-04-21.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-cmis-control@2026-05-12.yang @@ -9,7 +9,6 @@ module ietf-cmis-control { organization "IETF CCAMP Working Group"; - contact "WG Web: WG List: @@ -18,7 +17,7 @@ module ietf-cmis-control { Editor: Hitoshi Irino - "; + "; description "This YANG module defines a data model for the management @@ -28,7 +27,13 @@ module ietf-cmis-control { to support the management of pluggable optical modules via NETCONF or RESTCONF. - Copyright (c) 2025 IETF Trust and the persons identified + 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) 2026 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -44,6 +49,14 @@ module ietf-cmis-control { // RFC Ed.: replace XXXX with actual RFC number and remove this note + revision "2026-05-12" { + description + "Revised control model to use whitelist approach. + Added remote-read-allowed-pages for granular access control."; + reference + "RFC XXXX: A YANG Data Model for CMIS Access and Control"; + } + revision "2025-04-21" { description "Initial revision."; @@ -79,7 +92,8 @@ module ietf-cmis-control { effect."; } } - description "Defines access types for CMIS elements."; + description + "Defines access types for CMIS elements as defined in OIF-CMIS."; } grouping cmis-page { @@ -165,14 +179,14 @@ module ietf-cmis-control { list cmis-page { key "page-num"; + description "A CMIS page supported by the device."; uses cmis-page; } } grouping cmis-control { description - "Parameters for primitive CMIS control of the pluggable device - equipped in the interface."; + "Parameters for CMIS control and governance."; leaf cmis-enabled { type boolean; @@ -191,6 +205,68 @@ module ietf-cmis-control { "The version of the CMIS by the pluggable device."; } + leaf default-policy { + type enumeration { + enum disabled { + description + "Remote access is completely disabled for pages not + listed in the whitelists."; + } + enum read-only { + description + "Remote access is restricted to monitoring only for pages + not listed in 'remote-write-allowed-pages'."; + } + } + default "read-only"; + description + "Defines the default access policy for CMIS pages."; + } + + list remote-read-allowed-pages { + key "page-num"; + description + "A whitelist of pages that are allowed to be READ by + a remote controller, even if the default-policy is 'disabled'. + This list is useful when 'default-policy' is set to 'disabled' + but specific pages need to be monitored. + + Note: Lower Memory (Address 0-127) SHOULD NOT be included in + this list if it contains Clear-on-Read (CoR) registers that + are managed by the Host NOS."; + + leaf page-num { + type uint8; + description "The CMIS page number allowed for remote read."; + } + } + + list remote-write-allowed-pages { + key "page-num"; + description + "A whitelist of pages that are allowed to be modified by + a remote controller (Read/Write). + If a page is listed in both this list and + 'remote-read-allowed-pages', this list takes precedence, + granting Read/Write access. + + Note: Lower Memory (Address 0-127) MUST NOT be included in + this list as it contains critical Host management flags. + + When a page is removed from this list, or when the default-policy + changes to 'disabled' (and the page is not in the read-whitelist), + the Host NOS MUST strictly enforce its local configuration + (running-config) to the target CMIS pages. + Values modified by a remote controller MUST be overwritten by + the Host's local configuration or reset to default values to + maintain configuration consistency."; + + leaf page-num { + type uint8; + description "The CMIS page number allowed for remote write."; + } + } + uses cmis-pages; } @@ -200,7 +276,9 @@ module ietf-cmis-control { */ augment "/if:interfaces/if:interface" { + description "Augments interface with CMIS control parameters."; container cmis-control { + description "Container for CMIS control."; uses cmis-control; } } diff --git a/experimental/ietf-extracted-YANG-modules/ietf-cmis-monitor@2025-10-11.yang b/experimental/ietf-extracted-YANG-modules/ietf-cmis-monitor@2025-10-11.yang new file mode 100644 index 000000000..09f12b4f1 --- /dev/null +++ b/experimental/ietf-extracted-YANG-modules/ietf-cmis-monitor@2025-10-11.yang @@ -0,0 +1,204 @@ +module ietf-cmis-monitor { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-cmis-monitor"; + prefix cmis-mon; + + import ietf-interfaces { + prefix if; + } + import ietf-yang-types { + prefix yang; + } + + organization + "IETF CCAMP Working Group"; + + contact + "WG Web: + WG List: + + Editor: Shunsuke Homma + + + Editor: Hitoshi Irino + "; + + description + "This module provides monitoring capabilities for CMIS-based + optical modules. Users can define monitor rules for CMIS + registers identified by page/bank/offset/size. Notifications + are generated when threshold or delta-rate conditions are met. + + 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) 2026 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 + (http://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."; + + revision "2025-10-11" { + description "Initial revision."; + reference + "RFC XXXX: A YANG Data Model for CMIS Access and Control"; + } + + grouping monitor-target { + description + "Target CMIS register to monitor."; + leaf page { + type uint8; + mandatory true; + description "The number of the CMIS page."; + } + leaf bank { + type uint8; + mandatory true; + description "The bank of the CMIS page."; + } + leaf offset { + type uint8; + mandatory true; + description "The memory address of the value."; + } + leaf size { + type uint8 { + range "1 .. 128"; + } + description "The memory size of the monitored value."; + } + } + + container monitors { + description "Container for all monitor rules."; + + list monitor-rule { + key "id"; + description "Monitoring rule."; + + leaf id { + type string; + description "Unique identifier of the rule."; + } + + leaf interface-name { + type leafref { + path "/if:interfaces/if:interface/if:name"; + } + mandatory true; + description "Target interface of the monitored CMIS module."; + } + + container monitor-target { + description "Target CMIS register details."; + uses monitor-target; + } + + container condition { + description "Condition to trigger notification."; + leaf condition-type { + type enumeration { + enum threshold { + description "Condition based on crossing a threshold."; + } + enum delta-rate { + description "Condition based on a rate of change."; + } + } + mandatory true; + description "Type of condition."; + } + leaf threshold { + type decimal64 { + fraction-digits 2; + } + description "Threshold value for triggering notification (only used for threshold type)."; + } + leaf delta-rate { + type decimal64 { + fraction-digits 2; + } + description "Maximum allowed change per interval (only used for delta-rate type)."; + } + } + + leaf interval-ms { + type uint32; + default 1000; + description "Monitoring interval in milliseconds."; + } + + leaf enabled { + type boolean; + default true; + description "Enable or disable this monitor rule."; + } + } + } + + notification cmis-monitor-event { + description "Notification raised when monitor rule condition is met."; + + leaf interface-name { + type string; + description "Interface name of the monitored module."; + } + leaf rule-id { + type string; + description "ID of the rule that triggered this notification."; + } + + container monitor-target { + description "Target CMIS register that triggered the event."; + uses monitor-target; + } + + leaf condition-type { + type enumeration { + enum threshold { + description "Triggered by crossing a threshold."; + } + enum delta-rate { + description "Triggered by a rate of change."; + } + } + description "The type of condition that was met."; + } + + leaf current-value { + type binary; + description "Current value of the monitored register."; + } + + leaf threshold { + type decimal64 { + fraction-digits 2; + } + description "Threshold value (present if threshold type)."; + } + + leaf delta-rate { + type decimal64 { + fraction-digits 2; + } + description "Delta-rate value (present if delta-rate type)."; + } + + leaf timestamp { + type yang:date-and-time; + description "Time when the notification was generated."; + } + } +} diff --git a/experimental/ietf-extracted-YANG-modules/ietf-network-inventory@2026-04-22.yang b/experimental/ietf-extracted-YANG-modules/ietf-network-inventory@2026-05-13.yang similarity index 97% rename from experimental/ietf-extracted-YANG-modules/ietf-network-inventory@2026-04-22.yang rename to experimental/ietf-extracted-YANG-modules/ietf-network-inventory@2026-05-13.yang index 4e5bdb41f..dbf74b330 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-network-inventory@2026-04-22.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-network-inventory@2026-05-13.yang @@ -65,7 +65,7 @@ module ietf-network-inventory { described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; - revision 2026-04-22 { + revision 2026-05-13 { description "Initial version"; reference @@ -471,10 +471,15 @@ module ietf-network-inventory { "This node indicates whether the chassis is taking or not the 'main' role. - This node is applicable only to scenarios where - there are chassis components which can take the - 'main' role (e.g., multi-chassis network elements), - otherwise it is omitted."; + This node is applicable only to scenarios where the + network element contains chassis components which + can take or not the 'main' role (e.g., multi-chassis + network elements). + + It is therefore omitted in scenarios where the + network element does not contain chassis components + which can can take or not the 'main' role + (e.g., single-chassis network elements)."; } } } diff --git a/experimental/ietf-extracted-YANG-modules/ietf-pcep-srpolicy@2025-10-15.yang b/experimental/ietf-extracted-YANG-modules/ietf-pcep-srpolicy@2026-05-03.yang similarity index 78% rename from experimental/ietf-extracted-YANG-modules/ietf-pcep-srpolicy@2025-10-15.yang rename to experimental/ietf-extracted-YANG-modules/ietf-pcep-srpolicy@2026-05-03.yang index 9f5e97914..706302793 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-pcep-srpolicy@2025-10-15.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-pcep-srpolicy@2026-05-03.yang @@ -25,6 +25,20 @@ module ietf-pcep-srpolicy { "I-D.ietf-spring-sr-policy-yang: YANG Data Model for Segment Routing Policy"; } + import ietf-srv6-types { + prefix srv6-types; + reference + "I-D.ietf-spring-srv6-yang: YANG Data Model for SRv6 + Base and Static"; + } + import ietf-pcep-srv6 { + prefix pcep-srv6; + reference + "I-D.ietf-pce-pcep-srv6-yang: A YANG Data Model for + Segment Routing (SR) Policy and SR in IPv6 (SRv6) + support in Path Computation Element Communications + Protocol (PCEP)"; + } organization "IETF PCE (Path Computation Element) Working Group"; @@ -40,7 +54,7 @@ module ietf-pcep-srpolicy { Communications Protocol (PCEP) YANG model with Segment Routing (SR) Policy. - Copyright (c) 2025 IETF Trust and the persons identified as + Copyright (c) 2026 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -53,7 +67,7 @@ module ietf-pcep-srpolicy { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2025-10-15 { + revision 2026-05-03 { description "Initial revision."; reference @@ -217,12 +231,19 @@ module ietf-pcep-srpolicy { } } - grouping segment-list { + grouping segment-lists { description "Segment list grouping"; - container segment-list { + list segment-list { + key "path-id"; + leaf path-id { + type uint32; + description + "Uniquely identify a path or segment-list within + a candidate path"; + } description - "Segments for given segment list"; + "Segment list"; list segment { key "index"; description @@ -241,12 +262,14 @@ module ietf-pcep-srpolicy { "Segment index"; } leaf sid-value { - type uint32; + type sr-policy-types:sid-value-type; description - "SR-MPLS SID value"; + "SID value"; reference "RFC 8664:Path Computation Element Communication Protocol - (PCEP) Extensions for Segment Routing"; + (PCEP) Extensions for Segment Routing + RFC 9603:Path Computation Element Communication Protocol + (PCEP) Extensions for IPv6 Segment Routing"; } leaf nai-type { type identityref { @@ -259,9 +282,8 @@ module ietf-pcep-srpolicy { description "Choice for NAI Types"; case ipv4-node-id { - when - "derived-from-or-self(./nai-type, - 'pcep-srp:nai-type-ipv4-node-id')"; + when "derived-from-or-self(./nai-type, + 'pcep-srp:nai-type-ipv4-node-id')"; leaf ipv4-node-id { type inet:ipv4-address-no-zone; mandatory true; @@ -270,9 +292,8 @@ module ietf-pcep-srpolicy { } } case ipv6-node-id { - when - "derived-from-or-self(./nai-type, - 'pcep-srp:nai-type-ipv6-node-id')"; + when "derived-from-or-self(./nai-type, + 'pcep-srp:nai-type-ipv6-node-id')"; leaf ipv6-node-id { type inet:ipv6-address-no-zone; mandatory true; @@ -281,9 +302,8 @@ module ietf-pcep-srpolicy { } } case ipv4-adjacency { - when - "derived-from-or-self(./nai-type, - 'pcep-srp:nai-type-ipv4-adjacency')"; + when "derived-from-or-self(./nai-type, + 'pcep-srp:nai-type-ipv4-adjacency')"; container ipv4-adjacency { description "NT=3: pair of IPv4 addresses (local, remote)."; @@ -302,9 +322,8 @@ module ietf-pcep-srpolicy { } } case ipv6-adjacency-global { - when - "derived-from-or-self(./nai-type, - 'pcep-srp:nai-type-ipv6-adjacency-global')"; + when "derived-from-or-self(./nai-type, + 'pcep-srp:nai-type-ipv6-adjacency-global')"; container ipv6-adjacency-global { description "NT=4: pair of global IPv6 addresses (local, remote)."; @@ -323,9 +342,8 @@ module ietf-pcep-srpolicy { } } case unnumbered-adjacency-ipv4-node-id { - when - "derived-from-or-self(./nai-type, - 'pcep-srp:nai-type-unnumbered-adjacency-ipv4-node-id')"; + when "derived-from-or-self(./nai-type, + 'pcep-srp:nai-type-unnumbered-adjacency-ipv4-node-id')"; container unnumbered-adjacency { description "NT=5: (node ID, interface ID) tuples for local and @@ -365,9 +383,8 @@ module ietf-pcep-srpolicy { } } case ipv6-adjacency-linklocal { - when - "derived-from-or-self(./nai-type, - 'pcep-srp:nai-type-ipv6-adjacency-linklocal')"; + when "derived-from-or-self(./nai-type, + 'pcep-srp:nai-type-ipv6-adjacency-linklocal')"; container ipv6-adjacency-linklocal { description "NT=6: (global IPv6 address, interface ID) tuples for @@ -407,9 +424,8 @@ module ietf-pcep-srpolicy { } } case absent { - when - "derived-from-or-self(./nai-type, - 'pcep-srp:nai-type-absent')"; + when "derived-from-or-self(./nai-type, + 'pcep-srp:nai-type-absent')"; description "NT=0: NAI absent; no payload."; } @@ -417,7 +433,26 @@ module ietf-pcep-srpolicy { leaf algorithm { type uint8; description - "SRv6 SID algorithm identifier"; + "SID algorithm identifier"; + } + container srv6 { + when "derived-from-or-self + (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, + 'path-setup-srv6')" { + description + "For SRv6 path"; + } + if-feature "pcep-srv6:srv6"; + uses pcep-srv6:sid-str; + leaf endpoint-behavior { + type identityref { + base srv6-types:srv6-endpoint-type; + } + description + "The behavior associated with the SRv6 SIDs."; + } + description + "SRv6 specific parameters"; } } @@ -425,13 +460,12 @@ module ietf-pcep-srpolicy { description "Augmenting SR Policy"; container sr-policy { - when - "derived-from-or-self - (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, - 'path-setup-sr') or - derived-from-or-self - (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, - 'path-setup-srv6')" { + when "derived-from-or-self + (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, + 'path-setup-sr') or + derived-from-or-self + (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, + 'path-setup-srv6')" { description "Applicable for SR or SRv6"; } @@ -439,7 +473,7 @@ module ietf-pcep-srpolicy { container cp { uses sr-policy-cp; description - "SR Policy Candidate Path information"; + "SR Policy Candidate Path Information"; } description "SR Policy information"; @@ -475,17 +509,19 @@ module ietf-pcep-srpolicy { augment "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp" { description "Augmenting SR-MPLS for LSP"; - container sr-mpls { - when - "derived-from-or-self - (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, - 'path-setup-sr')" { + container sr { + when "derived-from-or-self + (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, + 'path-setup-sr') or + derived-from-or-self + (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, + 'path-setup-srv6')" { description - "For SR-MPLS path"; + "Applicable for SR or SRv6"; } - uses segment-list; + uses segment-lists; description - "SR-MPLS information"; + "SR information"; } } } diff --git a/experimental/ietf-extracted-YANG-modules/ietf-pcep-srv6@2025-10-15.yang b/experimental/ietf-extracted-YANG-modules/ietf-pcep-srv6@2026-05-03.yang similarity index 76% rename from experimental/ietf-extracted-YANG-modules/ietf-pcep-srv6@2025-10-15.yang rename to experimental/ietf-extracted-YANG-modules/ietf-pcep-srv6@2026-05-03.yang index c27961ffa..0ee9d5a79 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-pcep-srv6@2025-10-15.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-pcep-srv6@2026-05-03.yang @@ -3,12 +3,6 @@ module ietf-pcep-srv6 { namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-srv6"; prefix pcep-srv6; - import ietf-srv6-types { - prefix srv6-types; - reference - "I-D.ietf-spring-srv6-yang: YANG Data Model for SRv6 - Base and Static"; - } import ietf-te-types { prefix te-types; reference @@ -41,7 +35,7 @@ module ietf-pcep-srv6 { Communications Protocol (PCEP) YANG operational model with Segment Routing in IPv6 (SRv6). - Copyright (c) 2025 IETF Trust and the persons identified as + Copyright (c) 2026 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -54,7 +48,7 @@ module ietf-pcep-srv6 { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2025-10-15 { + revision 2026-05-03 { description "Initial revision."; reference @@ -168,50 +162,6 @@ module ietf-pcep-srv6 { } } - grouping segment-list { - description - "Segment list grouping"; - container segment-list { - description - "Segments for given segment list"; - list segment { - key "index"; - description - "Configure Segment/hop at the index"; - uses segment-properties; - } - } - } - - grouping segment-properties { - description - "Segment properties grouping"; - leaf index { - type uint32; - description - "Segment index"; - } - leaf sid-value { - type srv6-types:srv6-sid; - description - "SRv6 SID value"; - } - uses sid-str; - leaf endpoint-behavior { - type identityref { - base srv6-types:srv6-endpoint-type; - } - description - "The behavior associated with the SRv6 SIDs."; - } - leaf algorithm { - type uint8; - description - "SRv6 SID algorithm identifier"; - } - /*Query: Add NAI?*/ - } - grouping sid-str { description "The default SID Structure"; @@ -259,21 +209,4 @@ module ietf-pcep-srv6 { "Augmenting SRv6 capabilities for peer"; uses srv6; } - - augment "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp" { - description - "Augmenting SRv6 for LSP"; - container srv6 { - when "derived-from-or-self - (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst, - 'path-setup-srv6')" { - description - "For SRv6 path"; - } - if-feature "srv6"; - uses segment-list; - description - "SRv6 information"; - } - } } diff --git a/experimental/ietf-extracted-YANG-modules/ietf-srv6-base@2026-05-06.yang b/experimental/ietf-extracted-YANG-modules/ietf-srv6-base@2026-05-06.yang index 87d9db0af..ebd9f1728 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-srv6-base@2026-05-06.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-srv6-base@2026-05-06.yang @@ -12,6 +12,7 @@ module ietf-srv6-base { prefix inet; reference "RFC 6991: Common YANG Data Types"; } + import ietf-yang-types { prefix "yang"; reference "RFC 6991: Common YANG Data Types"; @@ -36,7 +37,7 @@ module ietf-srv6-base { import ietf-segment-routing { prefix sr; - reference "draft-ietf-spring-sr-yang"; + reference "RFC 9020: YANG Data Model for Segment Routing"; } import ietf-srv6-types { @@ -58,34 +59,14 @@ module ietf-srv6-base { Editor: Jaganbabu Rajamanickam - Editor: Xufeng Liu - - Editor: Zhibo Hu - - - Editor: Iftekhar Hussain - - - Editor: Himanshu Shah - - - Editor: Daniel Voyer - - - Editor: Hani Elmalky - - Editor: Satoru Matsushima - Editor: Katsuhiro Horiba - - - Editor: Ahmed AbdelSalam - - Editor: Pingping Yu + + Editor: Xufeng Liu + "; description @@ -443,7 +424,6 @@ grouping srv6-csid-next16-cfg-grouping { } } } - grouping srv6-remote-locators-state { description "SRv6 Remote Locator state grouping"; @@ -540,7 +520,6 @@ grouping srv6-csid-next16-cfg-grouping { uses srv6-locator-state; } - uses srv6-remote-locators-state; } } @@ -633,6 +612,7 @@ grouping srv6-csid-next16-cfg-grouping { type if:interface-ref; description "The outgoing Layer2 interface"; } + leaf lookup-table-id { when "../../../../next-hop-type = 'l2_lookup'" { description "This leaf is valid only when the nexthop type @@ -680,6 +660,7 @@ grouping srv6-csid-next16-cfg-grouping { description "L3 information"; } + uses path-out-sids-choice; } @@ -728,6 +709,7 @@ grouping srv6-csid-next16-cfg-grouping { grouping srv6-state-sid { description "SRv6 SID state grouping"; + container sids { description "My SID state"; diff --git a/experimental/ietf-extracted-YANG-modules/ietf-srv6-types@2026-05-06.yang b/experimental/ietf-extracted-YANG-modules/ietf-srv6-types@2026-05-06.yang index 6c427774f..29eb7eccb 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-srv6-types@2026-05-06.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-srv6-types@2026-05-06.yang @@ -21,36 +21,14 @@ module ietf-srv6-types { Editor: Jaganbabu Rajamanickam - Editor: Xufeng Liu - - - Editor: Zhibo Hu - - - Editor: Iftekhar Hussain - - - Editor: Himanshu Shah - - - Editor: Daniel Voyer - - - Editor: Hani Elmalky - - Editor: Satoru Matsushima - Editor: Katsuhiro Horiba - - - Editor: Ahmed AbdelSalam - - Editor: Pingping Yu + Editor: Xufeng Liu + "; description @@ -258,15 +236,6 @@ module ietf-srv6-types { "RFC 8986"; } - identity End.B6.Insert { - base srv6-endpoint-type; - description - "Endpoint bound to an SRv6 Policy, where SIDlist is encoded - using the Insert mode"; - reference - "Pablo Camarillo (pcamaril@cisco.com)"; - } - identity End.B6.Encaps { base srv6-endpoint-type; description @@ -364,15 +333,6 @@ module ietf-srv6-types { "RFC 8986"; } - identity End.B6.Insert.Red { - base srv6-endpoint-type; - description - "This is a reduced encap variation of the End.B6.Insert - behavior."; - reference - "Pablo Camarillo (pcamaril@cisco.com)"; - } - identity End.B6.Encaps.Red { base srv6-endpoint-type; description @@ -466,7 +426,6 @@ module ietf-srv6-types { reference "RFC 8986"; } - identity End.T_USP_USD { base srv6-endpoint-type; description @@ -502,14 +461,6 @@ module ietf-srv6-types { /* Endpoints defined under RFC9800 */ - identity END.NEXT-ONLY-CSID { - base srv6-endpoint-type; - description - "End SID with the NEXT-ONLY-CSID flavor"; - reference - "Pablo Camarillo (pcamaril@cisco.com)"; - } - identity END.NEXT-CSID { base srv6-endpoint-type; description @@ -574,14 +525,6 @@ module ietf-srv6-types { "RFC 9800"; } - identity END.X.NEXT-ONLY-CSID { - base srv6-endpoint-type; - description - "End.X SID with the NEXT-ONLY-CSID flavor"; - reference - "Pablo Camarillo (pcamaril@cisco.com)"; - } - identity END.X.NEXT-CSID { base srv6-endpoint-type; description @@ -810,6 +753,7 @@ module ietf-srv6-types { reference "draft-ietf-bess-mvpn-evpn-sr-p2mp-18"; } + identity End.NSH { base srv6-endpoint-type; description @@ -930,14 +874,6 @@ module ietf-srv6-types { "RFC 9800"; } - identity END.B6.Insert.Red.NEXT-CSID_PSP_USD { - base srv6-endpoint-type; - description - "End.B6.Insert.Red PSP_USD SID variant with the NEXT-CSID flavor"; - reference - "Pablo Camarillo (pcamaril@cisco.com)"; - } - identity END.PSID { base srv6-endpoint-type; description @@ -1017,7 +953,6 @@ module ietf-srv6-types { reference "RFC 9800"; } - identity END.T.REPLACE-CSID_PSP { base srv6-endpoint-type; description @@ -1049,6 +984,7 @@ module ietf-srv6-types { reference "RFC 9800"; } + identity END.BM.REPLACE-CSID { base srv6-endpoint-type; description @@ -1352,22 +1288,6 @@ module ietf-srv6-types { "Base identity from which SRv6 headend rule types are derived."; } - - identity H.Insert { - base srv6-headend-type; - description - "Headend rule H.Insert for SRv6 SIDlist imposition on an IPv6 packet. - This refers to encoding SIDlist's first SID in the packet DA and encode other - SIDs, if any, in the new SRH. The original DA of the packet is also encoded as the - last segment of the SRH"; - } - - identity H.Insert.Red { - base srv6-headend-type; - description - "Reduced variant for H.Insert headend rule"; - } - identity H.Encaps { base srv6-headend-type; description @@ -1464,7 +1384,6 @@ module ietf-srv6-types { description "SID [compression] type"; } - typedef srv6-sid-func-value { type uint32; description diff --git a/experimental/ietf-extracted-YANG-modules/ietf-te-path-computation@2026-04-20.yang b/experimental/ietf-extracted-YANG-modules/ietf-te-path-computation@2026-05-11.yang similarity index 96% rename from experimental/ietf-extracted-YANG-modules/ietf-te-path-computation@2026-04-20.yang rename to experimental/ietf-extracted-YANG-modules/ietf-te-path-computation@2026-05-11.yang index 982b2db24..ba993bba9 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-te-path-computation@2026-04-20.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-te-path-computation@2026-05-11.yang @@ -9,10 +9,6 @@ module ietf-te-path-computation { "RFC YYYY: A YANG Data Model for Traffic Engineering Tunnels and Interfaces"; } - - /* Note: The RFC Editor will replace YYYY with the number assigned - to the RFC once draft-ietf-teas-yang-te becomes an RFC.*/ - import ietf-te-types { prefix te-types; reference @@ -20,9 +16,6 @@ module ietf-te-path-computation { Engineering"; } - /* Note: The RFC Editor will replace ZZZZ with the number assigned - to the RFC once draft-ietf-teas-rfc8776-update becomes an RFC.*/ - organization "Traffic Engineering Architecture and Signaling (TEAS) Working Group"; @@ -67,42 +60,36 @@ module ietf-te-path-computation { in this document augments the RPCs defined in the generic TE module (ietf-te). - The model fully conforms to the - Network Management Datastore Architecture (NMDA). - - Copyright (c) 2026 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; 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."; + they appear in all capitals, as shown here. - // RFC Ed.: replace XXXX with actual RFC number and remove - // this note - // replace the revision date with the module publication date - // the format is (year-month-day) + Copyright (c) 2026 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). + + All revisions of IETF and IANA published modules can be found + at the YANG Parameters registry group + (https://www.iana.org/assignments/yang-parameters). + + This version of this YANG module is part of RFC XXXX; see + the RFC itself for full legal notices."; - revision 2026-04-20 { + revision 2026-05-11 { description "Initial revision"; reference "RFC XXXX: A YANG Data Model for requesting path computation"; } - // RFC Ed.: replace XXXX with actual RFC number and remove - // this note /* * Features */ diff --git a/experimental/ietf-extracted-YANG-modules/ietf-voucher-request@2025-12-18.yang b/experimental/ietf-extracted-YANG-modules/ietf-voucher-request@2025-12-18.yang index f508bb58f..b4f795964 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-voucher-request@2025-12-18.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-voucher-request@2025-12-18.yang @@ -137,7 +137,7 @@ module ietf-voucher-request { "An X.509 v3 certificate structure as specified by RFC 5280, Section 4 encoded using the ASN.1 distinguished encoding rules (DER), as specified - in [ITU.X690.2015]. + in [ITU-T.X690.2015]. The first certificate in the Registrar TLS server certificate_list sequence (the end-entity TLS @@ -154,13 +154,7 @@ module ietf-voucher-request { the voucher-request. The proximity-registrar-pubk is the Raw Public Key of the Registrar. This field is encoded - as specified in RFC7250, section 3. - The ECDSA algorithm MUST be supported. - The EdDSA algorithm as specified in - draft-ietf-tls-rfc4492bis-17 SHOULD be supported. - Support for the DSA algorithm is not recommended. - Support for the RSA algorithm is a MAY, but due to - size is discouraged."; + as specified in RFC7250, section 3."; } leaf proximity-registrar-pubk-sha256 { type binary; @@ -201,7 +195,7 @@ module ietf-voucher-request { "An X.509 v3 certificate structure, as specified by RFC 5280, Section 4, encoded using the ASN.1 distinguished encoding rules (DER), as specified - in ITU X.690. + in ITU-T X.690. The first certificate in the registrar TLS server certificate_list sequence (the end-entity TLS certificate; see RFC 8446) presented by the @@ -210,7 +204,7 @@ module ietf-voucher-request { This MUST be populated in a pledge's voucher-request when an agent-proximity assertion is requested."; reference - "ITU X.690: Information Technology - ASN.1 encoding + "ITU-T X.690: Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) @@ -226,7 +220,7 @@ module ietf-voucher-request { "An X.509 v3 certificate structure, as specified by RFC 5280, Section 4, encoded using the ASN.1 distinguished encoding rules (DER), as specified - in ITU X.690. + in ITU-T X.690. This certificate can be used by the pledge, the registrar, and the MASA to verify the signature of agent-signed-data. It is an optional component @@ -235,7 +229,7 @@ module ietf-voucher-request { voucher-request when an agent-proximity assertion is requested."; reference - "ITU X.690: Information Technology - ASN.1 encoding + "ITU-T.X690.2015: Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) diff --git a/experimental/ietf-extracted-YANG-modules/ietf-yp-transport-capabilities@2025-06-07.yang b/experimental/ietf-extracted-YANG-modules/ietf-yp-transport-capabilities@2026-05-15.yang similarity index 81% rename from experimental/ietf-extracted-YANG-modules/ietf-yp-transport-capabilities@2025-06-07.yang rename to experimental/ietf-extracted-YANG-modules/ietf-yp-transport-capabilities@2026-05-15.yang index a7e2b0620..513c3ac12 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-yp-transport-capabilities@2025-06-07.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-yp-transport-capabilities@2026-05-15.yang @@ -52,7 +52,7 @@ module ietf-yp-transport-capabilities { described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here. - Copyright (c) 2025 IETF Trust and the persons identified as + Copyright (c) 2026 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -66,7 +66,7 @@ module ietf-yp-transport-capabilities { (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices."; - revision 2025-06-07 { + revision 2026-05-15 { description "Initial revision."; reference @@ -75,7 +75,7 @@ module ietf-yp-transport-capabilities { identity security-protocol { description - "Identity for security protocols."; + "Identity for YANG notifications security protocols."; } identity dtls12 { @@ -85,7 +85,7 @@ module ietf-yp-transport-capabilities { and thus it is NOT RECOMMENDED to enable this feature."; reference "RFC 6347: The Datagram Transport Layer Security (DTLS) - Protocol Version 1.2"; + Protocol Version 1.2."; } identity dtls13 { @@ -94,27 +94,31 @@ module ietf-yp-transport-capabilities { "Indicates DTLS Protocol Version 1.3."; reference "RFC 9147: The Datagram Transport Layer Security (DTLS) - Protocol Version 1.3"; + Protocol Version 1.3."; } augment "/sysc:system-capabilities" + "/notc:subscription-capabilities" { description - "Adds system level capabilities."; + "Adds subscription-related system level capabilities."; container transport-capabilities { description "Specifies capabilities related to YANG-Push transports."; list transport-capability { key "transport-protocol"; description - "Indicates a list of capabilities related to notification - transport."; + "Indicates supported YANG notifications transport protocol + for Subscribed Notifications [RFC8639] and YANG-Push + [RFC8641]. Defines the supported transports, security + protocols and supported notification encodings."; leaf transport-protocol { type identityref { base sn:transport; } description - "Indicates supported transport protocol for YANG-Push."; + "Indicates the supported YANG notifications transport + protocol for Subscribed Notifications [RFC8639] and + YANG-Push [RFC8641]."; } leaf-list security-protocol { type union { @@ -126,14 +130,15 @@ module ietf-yp-transport-capabilities { } } description - "Indicates transport security protocol."; + "Indicates the supported YANG notifications transport + encryption protocols."; } leaf-list encoding-format { type identityref { base sn:encoding; } description - "Indicates supported encoding formats."; + "Indicates supported encoding formats for YANG notifications."; } } }