diff --git a/experimental/ietf-extracted-YANG-modules/ietf-incident-types@2023-05-16.yang b/experimental/ietf-extracted-YANG-modules/ietf-incident-types@2023-05-16.yang
index e84ab44b2..a068288e1 100644
--- a/experimental/ietf-extracted-YANG-modules/ietf-incident-types@2023-05-16.yang
+++ b/experimental/ietf-extracted-YANG-modules/ietf-incident-types@2023-05-16.yang
@@ -68,8 +68,8 @@ module ietf-incident-types {
     description "optical transport network domain.";
   }
   identity ip {
-    base single-domain;
-    description "ip domain.";
+    base transport;
+    description "ip transport network domain.";
   }
   identity ptn {
     base ip;
@@ -87,7 +87,7 @@ module ietf-incident-types {
     base incident-category;
     description "device category.";
   }
-  identity power-enviorment {
+  identity power-environment {
     base device;
     description "power system category.";
   }
@@ -99,7 +99,7 @@ module ietf-incident-types {
     base device;
     description "software of device category";
   }
-  identity line {
+  identity line-card {
     base device-hardware;
     description "line card category.";
   }
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-incident@2023-05-16.yang b/experimental/ietf-extracted-YANG-modules/ietf-incident@2023-05-16.yang
index 073279d47..6a7d04494 100644
--- a/experimental/ietf-extracted-YANG-modules/ietf-incident@2023-05-16.yang
+++ b/experimental/ietf-extracted-YANG-modules/ietf-incident@2023-05-16.yang
@@ -92,8 +92,8 @@ module ietf-incident {
     }
     leaf occur-time {
       type yang:date-and-time;
-      description "the time when an incident instance is occured.
-                   It's the occur time of the first event during
+      description "the time when an incident instance occurs.
+                   It's the occurrence time of the first event during
                    incident detection.";
     }
     leaf clear-time {
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2023-07-07.yang b/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2023-10-20.yang
similarity index 77%
rename from experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2023-07-07.yang
rename to experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2023-10-20.yang
index 7240dce32..f5c0c6a74 100644
--- a/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2023-07-07.yang
+++ b/experimental/ietf-extracted-YANG-modules/ietf-network-slice-service@2023-10-20.yang
@@ -26,25 +26,18 @@ module ietf-network-slice-service {
       "RFC 8345: A YANG Data Model for Network
                  Topologies, Section 6.2";
   }
-
-  /* Import TE Types */
-
-  import ietf-te-types {
-    prefix te-types;
-    reference
-      "RFC 8776: Common YANG Data Types for Traffic Engineering";
-  }
   import ietf-te-packet-types {
     prefix te-packet-types;
     reference
-      "RFC 8776: Common YANG Data Types for Traffic Engineering";
+      "RFC 8776: Common YANG Data Types for Traffic Engineering,
+                 Section 5";
   }
 
   organization
     "IETF Traffic Engineering Architecture and Signaling (TEAS)
      Working Group";
   contact
-    "WG Web:  <https://tools.ietf.org/wg/teas/>
+    "WG Web:  <https://datatracker.ietf.org/wg/teas/>
      WG List:  <mailto:teas@ietf.org>
 
      Editor: Bo Wu
@@ -52,7 +45,7 @@ module ietf-network-slice-service {
      Editor: Dhruv Dhody
           <dhruv.ietf@gmail.com>
      Editor: Reza Rokui
-          <reza.rokui@nokia.com>
+          <rrokui@ciena.com>
      Editor: Tarek Saad
           <tsaad@cisco.com>
      Author: Liuyan Han
@@ -60,22 +53,26 @@ module ietf-network-slice-service {
      Editor: John Mullooly
           <jmullool@cisco.com>";
   description
-    "This module defines a model for the IETF Network Slice Service.
+    "This YANG module defines a model for the IETF Network Slice
+     Service.
 
-        Copyright (c) 2023 IETF Trust and the persons identified as
-        authors of the code.  All rights reserved.
+     The model fully conforms to the Network Management
+     Datastore Architecture (NMDA).
 
-        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).
+     Copyright (c) 2023 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.";
 
-  revision 2023-07-07 {
+  revision 2023-10-20 {
     description
       "Initial revision.";
     reference
@@ -99,8 +96,8 @@ module ietf-network-slice-service {
   identity service-tag-service {
     base service-tag-type;
     description
-      "The IETF Network Slice Service tag type,e.g. L2 or L3
-       service.";
+      "The IETF Network Slice service tag type, e.g. Layer 2 or
+       Layer 3 service.";
   }
 
   identity service-tag-opaque {
@@ -113,18 +110,16 @@ module ietf-network-slice-service {
     description
       "Base identity for the attachment circuit tag type.";
   }
-
-  identity attachment-circuit-tag-vlan-id {
+  identity vlan-id {
     base attachment-circuit-tag-type;
     description
-      "The attachment circuit VLAN ID tag type. e.g. dot1Q or QinQ
-       VLAN IDs.";
+      "Identity for VLAN ID tag type, e.g. dot1Q or QinQ VLAN IDs.";
   }
 
-  identity attachment-circuit-tag-ip-mask {
+  identity ip-mask {
     base attachment-circuit-tag-type;
     description
-      "The attachment circuit tag IP mask.";
+      "Identity for IP mask tag type.";
   }
 
   identity service-isolation-type {
@@ -146,24 +141,23 @@ module ietf-network-slice-service {
       "Base identity for IETF Network Slice Service security type.";
   }
 
-  identity service-security-authenticate {
+  identity authentication {
     base service-security-type;
     description
-      "Indicates the slice service requires authentication.";
+      "Indicates that the Slice Service requires authentication.";
   }
 
-  identity service-security-integrity {
+  identity integrity {
     base service-security-type;
     description
-      "Indicates the slice service requires data integrity.";
+      "Indicates that the Slice Service requires data integrity.";
   }
 
-  identity service-security-encryption {
+  identity encryption {
     base service-security-type;
     description
-      "Indicates the slice service requires data encryption.";
+      "Indicates that the Slice Service requires data encryption.";
   }
-
   identity point-to-point {
     base vpn-common:vpn-topology;
     description
@@ -184,6 +178,7 @@ module ietf-network-slice-service {
       "Identity for multipoint-to-multipoint IETF Network Slice
        Service connectivity.";
   }
+
   identity multipoint-to-point {
     base vpn-common:vpn-topology;
     description
@@ -194,13 +189,13 @@ module ietf-network-slice-service {
   identity sender-role {
     base vpn-common:role;
     description
-      "An SDP is acting as a sender.";
+      "Indicates that an SDP is acting as a sender.";
   }
 
   identity receiver-role {
     base vpn-common:role;
     description
-      "An SDP is acting as a receiver.";
+      "Indicates that an SDP is acting as a receiver.";
   }
 
   identity service-slo-metric-type {
@@ -208,115 +203,128 @@ module ietf-network-slice-service {
       "Base identity for IETF Network Slice Service SLO metric type.";
   }
 
-  identity service-slo-one-way-bandwidth {
+  identity one-way-bandwidth {
     base service-slo-metric-type;
     description
       "SLO bandwidth metric. Minimum guaranteed bandwidth between
        two SDPs at any time and is measured unidirectionally.";
   }
 
-  identity service-slo-two-way-bandwidth {
+  identity two-way-bandwidth {
     base service-slo-metric-type;
     description
       "SLO bandwidth metric. Minimum guaranteed bandwidth between
        two SDPs at any time.";
   }
 
-  identity service-slo-shared-bandwidth {
+  identity shared-bandwidth {
     base service-slo-metric-type;
     description
       "The shared SLO bandwidth bound. It is the limit on the
        bandwidth that can be shared amongst a group of
-       connectivity constructs of a slice service.";
+       connectivity constructs of a Slice Service.";
   }
 
-  identity service-slo-one-way-delay-maximum {
+  identity one-way-delay-maximum {
     base service-slo-metric-type;
     description
       "The SLO objective of this metric is the upper bound of network
-       delay when transmitting between two SDPs.
-       The metric is defined in RFC7679.";
+       delay when transmitting between two SDPs.";
+    reference
+      "RFC7679: A One-Way Delay Metric for IP Performance
+       Metrics (IPPM)";
   }
 
-  identity service-slo-one-way-delay-percentile {
+  identity one-way-delay-percentile {
     base service-slo-metric-type;
     description
       "The SLO objective of this metric is percentile objective of
        network delay when transmitting between two SDPs.
        The metric is defined in RFC7679.";
+    reference
+      "RFC7679: A One-Way Delay Metric for IP Performance
+       Metrics (IPPM)";
   }
 
-  identity service-slo-two-way-delay-maximum {
+  identity two-way-delay-maximum {
     base service-slo-metric-type;
     description
       "SLO two-way delay is the upper bound of network delay when
-       transmitting between two SDPs.
-       The metric is defined in RFC2681.";
+       transmitting between two SDPs";
+    reference
+      "RFC2681: A Round-trip Delay Metric for IPPM";
   }
-
-  identity service-slo-two-way-delay-percentile {
+  identity two-way-delay-percentile {
     base service-slo-metric-type;
     description
       "The SLO objective of this metric is the percentile
        objective of network delay when the traffic transmitting
-       between two SDPs.
-       The metric is defined in RFC2681.";
+       between two SDPs.";
+    reference
+      "RFC2681: A Round-trip Delay Metric for IPPM";
   }
 
-  identity service-slo-one-way-delay-variation-maximum {
+  identity one-way-delay-variation-maximum {
     base service-slo-metric-type;
     description
       "The SLO objective of this metric is maximum bound of the
        difference in the one-way delay between sequential packets
-       between two SDPs.
-       The metric of one-way delay variation is defined in RFC3393.";
+       between two SDPs.";
+    reference
+      "RFC3393: IP Packet Delay Variation Metric for IP Performance
+       Metrics (IPPM)";
   }
 
-  identity service-slo-one-way-delay-variation-percentile {
+  identity one-way-delay-variation-percentile {
     base service-slo-metric-type;
     description
       "The SLO objective of this metric is the percentile objective
        in the one-way delay between sequential packets between two
-       SDPs.
-       One-way delay variation percentile is defined by RFC3393.";
+       SDPs.";
+    reference
+      "RFC3393: IP Packet Delay Variation Metric for IP Performance
+       Metrics (IPPM)";
   }
-  identity service-slo-two-way-delay-variation-maximum {
+
+  identity two-way-delay-variation-maximum {
     base service-slo-metric-type;
     description
-      "SLO two-way delay variation defined by RFC5481, is the
-       difference in the round-trip delay between sequential packets
-       between two SDPs.";
+      "SLO two-way delay variation is the difference in the
+       round-trip delay between sequential packets between two SDPs.";
+    reference
+      "RFC5481: Packet Delay Variation Applicability Statement";
   }
 
-  identity service-slo-two-way-delay-variation-percentile {
+  identity two-way-delay-variation-percentile {
     base service-slo-metric-type;
     description
-      "The delay variation percentile is defined by RFC5481.
-       The SLO objective of this metric is the percentile objective
+      "The SLO objective of this metric is the percentile objective
        in the round-trip delay between sequential packets between
        two SDPs.";
+    reference
+      "RFC5481: Packet Delay Variation Applicability Statement";
   }
 
-  identity service-slo-one-way-packet-loss {
+  identity one-way-packet-loss {
     base service-slo-metric-type;
     description
-      "SLO loss metric. The ratio of packets dropped to packets
-       transmitted between two SDPs in one-way
-       over a period of time as specified in RFC7680.";
+      "This metric type refers to the ratio of packets dropped
+       to packets transmitted between two SDPs in one-way
+       over a period of time.";
+    reference
+      "RFC7680: A One-Way Loss Metric for IP Performance
+       Metrics (IPPM)";
   }
 
-  identity service-slo-two-way-packet-loss {
+  identity two-way-packet-loss {
     base service-slo-metric-type;
     description
-      "SLO loss metric. The ratio of packets dropped to packets
-       transmitted between two SDPs in two-way
-       over a period of time as specified in RFC7680.";
-  }
-
-  identity service-match-type {
-    description
-      "Base identity for IETF Network Slice Service traffic
-       match type.";
+      "This metric type refers to the ratio of packets dropped
+       to packets transmitted between two SDPs in two-way
+       over a period of time.";
+    reference
+      "RFC7680: A One-Way Loss Metric for IP Performance
+       Metrics (IPPM)";
   }
 
   /*
@@ -328,85 +336,92 @@ module ietf-network-slice-service {
       "Base identity from which specific availability types are
        derived.";
   }
+
   identity level-1 {
     base availability-type;
     description
-      "level 1: 99.9999%";
+      "Specifies the availability level 1: 99.9999%";
   }
 
   identity level-2 {
     base availability-type;
     description
-      "level 2: 99.999%";
+      "Specifies the availability level 2: 99.999%";
   }
 
   identity level-3 {
     base availability-type;
     description
-      "level 3: 99.99%";
+      "Specifies the availability level 3: 99.99%";
   }
 
   identity level-4 {
     base availability-type;
     description
-      "level 4: 99.9%";
+      "Specifies the availability level 4: 99.9%";
   }
 
   identity level-5 {
     base availability-type;
     description
-      "level 5: 99%";
+      "Specifies the availability level 5: 99%";
+  }
+
+  identity service-match-type {
+    description
+      "Base identity for IETF Network Slice Service traffic
+       match type.";
   }
 
   identity service-phy-interface-match {
     base service-match-type;
     description
-      "Use the physical interface as match criteria for
-       slice service traffic.";
+      "Uses the physical interface as match criteria for
+       Slice Service traffic.";
   }
 
   identity service-vlan-match {
     base service-match-type;
     description
-      "Use the VLAN ID as match criteria for the slice service
+      "Uses the VLAN ID as match criteria for the Slice Service
        traffic.";
   }
 
   identity service-label-match {
     base service-match-type;
     description
-      "Use the MPLS label as match criteria for the slice service
+      "Uses the MPLS label as match criteria for the Slice Service
        traffic.";
   }
 
   identity service-source-ip-prefix-match {
     base service-match-type;
     description
-      "Use source ip prefix as match criteria for the slice service
-       traffic. Examples of 'value' of this match type is
+      "Uses source ip prefix as match criteria for the Slice Service
+       traffic. Examples of 'value' of this match type are
        '192.0.2.0/24' and '2001:db8::1/64'.";
   }
 
   identity service-destination-ip-prefix-match {
     base service-match-type;
     description
-      "Use destination ip prefix as match criteria for the slice
-       service traffic. Examples of 'value' of this match type is
+      "Uses destination ip prefix as match criteria for the Slice
+       Service traffic. Examples of 'value' of this match type are
        '203.0.113.1/32', '2001:db8::2/128'.";
   }
 
   identity service-dscp-match {
     base service-match-type;
     description
-      "Use DSCP in the IP packet header as match criteria
-       for the slice service traffic.";
+      "Uses DSCP field in the IP packet header as match criteria
+       for the Slice Service traffic.";
   }
 
   identity service-acl-match {
     base service-match-type;
     description
-      "Use Access Control List (ACL) as match criteria
-       for the slice service traffic.";
+      "Uses Access Control List (ACL) as match criteria
+       for the Slice Service traffic.";
     reference
       "RFC 8519: YANG Data Model for
        Network Access Control Lists (ACLs)";
@@ -415,7 +430,7 @@ module ietf-network-slice-service {
   identity service-any-match {
     base service-match-type;
     description
-      "Match all slice service traffic.";
+      "Matches any Slice Service traffic.";
   }
 
   identity slo-sle-policy-override {
@@ -431,7 +446,6 @@ module ietf-network-slice-service {
        which means that no SLO/SLE(s) are inherited from parent
        if a child SLO/SLE policy exists.";
   }
-
   identity slo-sle-policy-partial-override {
     base slo-sle-policy-override;
     description
@@ -443,7 +457,7 @@ module ietf-network-slice-service {
        SLOs in the parent SLO-SLE policy still apply.";
   }
 
-  /* typedef */
+  /* Typedef */
 
   typedef percentile {
     type decimal64 {
@@ -459,25 +473,25 @@ module ietf-network-slice-service {
        the sample value is less than or equal to 2 milliseconds.";
   }
 
-  /* grouping */
+  /* Groupings */
 
   grouping service-slos {
     description
-      "Directly Measurable Objectives of a slice service.";
+      "Directly measurable objectives of a Slice Service.";
     container slo-policy {
       description
         "Contains the SLO policy.";
       list metric-bound {
         key "metric-type";
         description
-          "List of slice service metric bounds.";
+          "List of Slice Service metric bounds.";
         leaf metric-type {
           type identityref {
             base service-slo-metric-type;
           }
           description
             "Identifies an entry in the list of metric type
-             bounds for the slice service.";
+             bounds for the Slice Service.";
         }
         leaf metric-unit {
           type string;
@@ -489,7 +503,7 @@ module ietf-network-slice-service {
         leaf value-description {
           type string;
           description
-            "The description of previous value.";
+            "The description of the provided value.";
         }
         leaf percentile-value {
           type percentile;
@@ -500,9 +514,9 @@ module ietf-network-slice-service {
           type uint64;
           default "0";
           description
-            "The Bound on the slice service connection metric.
-             A zero indicate an unbounded upper limit for the
-             specific metric-type.";
+            "The bound on the Slice Service connection metric.
+             When set to zero, this indicates an unbounded
+             upper limit for the specific metric-type.";
         }
       }
       leaf availability {
@@ -516,8 +530,8 @@ module ietf-network-slice-service {
         type uint16;
         units "bytes";
         description
-          "The MTU specifies the maximum length in octets of data
-           packets of the slice service.
+          "The MTU specifies the maximum length of data
+           packets of the Slice Service.
            The value needs to be less than or equal to the
            minimum MTU value of all 'attachment-circuits'
            in the SDPs.";
@@ -527,7 +541,7 @@ module ietf-network-slice-service {
 
   grouping service-sles {
     description
-      "Indirectly Measurable Objectives of a slice service.";
+      "Indirectly measurable objectives of a Slice Service.";
     container sle-policy {
       description
         "Contains the SLE policy.";
@@ -544,7 +558,7 @@ module ietf-network-slice-service {
           base service-isolation-type;
         }
         description
-          "The slice service isolation requirement.";
+          "The Slice Service isolation requirement.";
       }
       leaf max-occupancy-level {
         type uint8 {
@@ -557,16 +571,16 @@ module ietf-network-slice-service {
       container steering-constraints {
         description
           "Container for the policy of steering constraints
-           applicable to the slice service.";
+           applicable to the Slice Service.";
         container path-constraints {
           description
             "Container for the policy of path constraints
-             applicable to the slice service.";
+             applicable to the Slice Service.";
         }
         container service-function {
           description
             "Container for the policy of service function
-             applicable to the slice service.";
+             applicable to the Slice Service.";
         }
       }
     }
@@ -574,7 +588,7 @@ module ietf-network-slice-service {
 
   grouping sdp-peering {
     description
-      "A grouping for the slice service SDP peering.";
+      "A grouping for the Slice Service SDP peering.";
     container sdp-peering {
       description
         "Describes SDP peering attributes.";
@@ -586,6 +600,9 @@ module ietf-network-slice-service {
            correlation purposes, such as identifying a service
            attachment point (SAP) of a provider equipment when
            requesting a service with CE based SDP attributes.";
+        reference
+          "RFC9408: A YANG Network Data Model for
+           Service Attachment Points (SAPs)";
       }
       container protocols {
         description
@@ -601,30 +618,30 @@ module ietf-network-slice-service {
       "Grouping for the SDP attachment circuit definition.";
     container attachment-circuits {
       description
-        "List of attachment circuit.";
+        "List of attachment circuits.";
       list attachment-circuit {
         key "id";
         description
-          "The IETF Network Slice service SDP attachment circuit
+          "The IETF Network Slice Service SDP attachment circuit
            related parameters.";
         leaf id {
           type string;
           description
-            "Uniquely identifier a attachment circuit.";
+            "Uniquely identifies an attachment circuit.";
+        }
+        leaf description {
+          type string;
+          description
+            "The attachment circuit's description.";
         }
         leaf ac-svc-name {
           type string;
           description
-            "Indicates an attachment circuit service name,
+            "Indicates an attachment circuit (AC) service name,
              for association purposes, to refer to an AC that has been
              created before the slice creation.
              This node can override 'ac-svc-name' of the parent SDP.";
         }
-        leaf description {
-          type string;
-          description
-            "The attachment circuit description.";
-        }
         leaf ac-node-id {
           type string;
           description
@@ -660,7 +677,7 @@ module ietf-network-slice-service {
           type uint16;
           units "bytes";
           description
-            "Maximum size in octets of the slice service data packet
+            "Maximum size of the Slice Service data packet
              that can traverse an SDP.";
         }
         container ac-tags {
@@ -685,7 +702,6 @@ module ietf-network-slice-service {
             }
           }
         }
-        /* Per ac rate limits */
         uses service-qos;
         uses sdp-peering;
         uses vpn-common:service-status;
@@ -701,10 +717,12 @@ module ietf-network-slice-service {
       description
         "Container for SDP monitoring metrics.";
       leaf incoming-bw-value {
-        type te-types:te-bandwidth;
+        type uint64;
+        units "bps";
         description
-          "Indicates, in octets per second, incoming bandwidth at
-           an SDP.";
+          "Indicates the absolute value of the incoming bandwidth
+           at an SDP from the customer network or
+           from another provider's network.";
       }
       leaf incoming-bw-percent {
         type decimal64 {
@@ -714,14 +732,17 @@ module ietf-network-slice-service {
         units "percent";
         mandatory true;
         description
-          "Indicates a percentage of the incoming bandwidth at
-           an SDP.";
+          "Indicates a percentage of the incoming bandwidth
+           at an SDP from the customer network or
+           from another provider's network.";
       }
       leaf outgoing-bw-value {
-        type te-types:te-bandwidth;
+        type uint64;
+        units "bps";
         description
-          "Indicates, in octets per second, outgoing bandwidth at
-           an SDP.";
+          "Indicates the absolute value of the outgoing bandwidth
+           at an SDP towards the customer network or towards
+           another provider's network.";
       }
       leaf outgoing-bw-percent {
         type decimal64 {
@@ -731,8 +752,9 @@ module ietf-network-slice-service {
         units "percent";
         mandatory true;
         description
-          "Indicates a percentage of the outgoing bandwidth at
-           an SDP.";
+          "Indicates a percentage of the outgoing bandwidth
+           at an SDP towards the customer network or towards
+           another provider's network.";
       }
     }
   }
@@ -744,7 +766,7 @@ module ietf-network-slice-service {
     uses te-packet-types:two-way-performance-metrics-packet;
   }
 
-  grouping geolocation-container {
+  grouping geolocation {
     description
       "A grouping containing a GPS location.";
     container location {
@@ -773,11 +795,8 @@ module ietf-network-slice-service {
           "Angular distance east or west on the Earth's surface.";
       }
     }
-    // gps-location
   }
 
-  // geolocation-container
-
   grouping bw-rate-limits {
     description
       "Bandwidth rate limits grouping.";
@@ -837,7 +856,8 @@ module ietf-network-slice-service {
       "The rate limits grouping.";
     container incoming-qos-policy {
       description
-        "Container for the asymmetric traffic control.";
+        "The QoS policy imposed on ingress direction of the traffic ,
+         from the customer network or from another provider's network.";
       leaf qos-policy-name {
         type string;
         description
@@ -853,7 +873,9 @@ module ietf-network-slice-service {
     }
     container outgoing-qos-policy {
       description
-        "The QoS policy imposed on outgoing traffic.";
+        "The QoS policy imposed on egress direction of the traffic ,
+         towards the customer network or towards another
+         provider's network.";
       leaf qos-policy-name {
         type string;
         description
@@ -871,18 +893,18 @@ module ietf-network-slice-service {
 
   grouping sdp {
     description
-      "Slice service SDP related information";
+      "Slice Service SDP related information";
     leaf id {
       type string;
       description
-        "Unique identifier for the referred slice service SDP.";
+        "Unique identifier for the referred Slice Service SDP.";
     }
     leaf description {
       type string;
       description
-        "Give more description of the SDP.";
+        "Provides a description of the SDP.";
     }
-    uses geolocation-container;
+    uses geolocation;
     leaf node-id {
       type string;
       description
@@ -897,7 +919,7 @@ module ietf-network-slice-service {
       type leafref {
         path
           "/nw:networks/nw:network[nw:network-id =current()/../../"
-        + "../custom-topology-ref/network-ref]/"
+        + "../custom-topology/network-ref]/"
         + "nw:node/nt:termination-point/nt:tp-id";
       }
       description
@@ -908,15 +930,15 @@ module ietf-network-slice-service {
     }
     container service-match-criteria {
       description
-        "Describes the slice service match criteria.";
+        "Describes the Slice Service match criteria.";
       list match-criterion {
         key "index";
         description
-          "List of the slice service traffic match criteria.";
+          "List of the Slice Service traffic match criteria.";
         leaf index {
           type uint32;
           description
-            "The entry index.";
+            "The identifier that uniquely identifies a match criteria.";
         }
         leaf match-type {
           type identityref {
@@ -924,14 +946,14 @@ module ietf-network-slice-service {
           }
           mandatory true;
           description
-            "Identifies an entry in the list of the slice service
-             match criteria.";
+            "Indicates the match type of the entry in the list of
+             the Slice Service match criteria.";
         }
         leaf-list value {
           type string;
           description
-            "Describes the slice service match criteria, e.g.
-             IP prefix, VLAN, etc.";
+            "Provides a value for the Slice Service match criteria,
+             e.g. IP prefix and VLAN ID.";
         }
         leaf target-connection-group-id {
           type leafref {
@@ -941,7 +963,7 @@ module ietf-network-slice-service {
           }
           mandatory true;
           description
-            "Reference to the slice service connection group.";
+            "Reference to the Slice Service connection group.";
         }
         leaf connection-group-sdp-role {
           type identityref {
@@ -1000,11 +1022,9 @@ module ietf-network-slice-service {
     uses vpn-common:service-status;
     uses sdp-monitoring-metrics;
   }
-  //service-sdp
-
   grouping connectivity-construct {
     description
-      "Grouping for slice service connectivity construct.";
+      "Grouping for Slice Service connectivity construct.";
     list connectivity-construct {
       key "id";
       description
@@ -1087,11 +1107,9 @@ module ietf-network-slice-service {
     }
   }
 
-  //connectivity-construct
-
   grouping connection-group {
     description
-      "Grouping for slice service connection group.";
+      "Grouping for Slice Service connection group.";
     leaf id {
       type string;
       description
@@ -1119,14 +1137,12 @@ module ietf-network-slice-service {
     }
   }
 
-  //connection-group
-
   grouping slice-service-template {
     description
-      "Grouping for slice service templates.";
+      "Grouping for Slice Service templates.";
     container slo-sle-templates {
       description
-        "Contains a set of slice service templates.";
+        "Contains a set of Slice Service templates.";
       list slo-sle-template {
         key "id";
         description
@@ -1141,7 +1157,7 @@ module ietf-network-slice-service {
         leaf description {
           type string;
           description
-            "Description of the SLO and SLE policy template.";
+            "Describes the SLO and SLE policy template.";
         }
         leaf template-ref {
           type leafref {
@@ -1161,8 +1177,6 @@ module ietf-network-slice-service {
     }
   }
 
-  /* Configuration data nodes */
-
   grouping service-slo-sle-policy {
     description
       "Slice service policy grouping.";
@@ -1193,7 +1207,7 @@ module ietf-network-slice-service {
           leaf description {
             type string;
             description
-              "Description of the SLO and SLE policy.";
+              "Describes the SLO and SLE policy.";
           }
           uses service-slos;
           uses service-sles;
@@ -1204,7 +1218,7 @@ module ietf-network-slice-service {
 
   grouping service-slo-sle-policy-override {
     description
-      "Slice service policy override grouping.";
+      "Slice Service policy override grouping.";
     leaf service-slo-sle-policy-override {
       type identityref {
         base slo-sle-policy-override;
@@ -1215,23 +1229,25 @@ module ietf-network-slice-service {
     }
   }
 
+  /* Main IETF Network Slice Services Container */
+
   container network-slice-services {
     description
-      "Contains a list of IETF network slice services";
+      "Contains a list of IETF Network Slice Services";
     uses slice-service-template;
     list slice-service {
       key "id";
       description
-        "A slice service is identified by a service id.";
+        "A Slice Service is identified by a service id.";
       leaf id {
         type string;
         description
-          "A unique slice service identifier.";
+          "A unique Slice Service identifier.";
       }
       leaf description {
         type string;
         description
-          "Textual description of the slice service.";
+          "Textual description of the Slice Service.";
       }
       container service-tags {
         description
@@ -1251,7 +1267,7 @@ module ietf-network-slice-service {
             type string;
             description
               "The tag values, e.g. customer names when multiple
-               customers sharing same slice service in 5G scenario.";
+               customers sharing same Slice Service in 5G scenario.";
           }
         }
       }
@@ -1265,18 +1281,18 @@ module ietf-network-slice-service {
       uses vpn-common:service-status;
       container sdps {
         description
-          "Slice service SDPs.";
+          "Slice Service SDPs.";
         list sdp {
           key "id";
           min-elements 2;
           uses sdp;
           description
-            "List of SDPs in this slice service.";
+            "List of SDPs in this Slice Service.";
         }
       }
       container connection-groups {
         description
-          "Contains connections group.";
+          "Contains connection groups.";
         list connection-group {
           key "id";
           description
@@ -1284,12 +1300,14 @@ module ietf-network-slice-service {
           uses connection-group;
         }
       }
-      container custom-topology-ref {
+      container custom-topology {
         description
-          "Container for the custom topology reference.";
+          "Serves as an augmentation target.
+          Container for custom topology, which is indicated by the
+          referenced topology predefined, e.g., an abstract RFC8345
+          topology.";
         uses nw:network-ref;
       }
     }
-    //ietf-network-slice-service list
   }
 }
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-node-tags-state@2022-02-04.yang b/experimental/ietf-extracted-YANG-modules/ietf-node-tags-state@2022-02-04.yang
index df3e234d1..befd6ea1f 100644
--- a/experimental/ietf-extracted-YANG-modules/ietf-node-tags-state@2022-02-04.yang
+++ b/experimental/ietf-extracted-YANG-modules/ietf-node-tags-state@2022-02-04.yang
@@ -51,7 +51,7 @@ module ietf-node-tags-state {
 
      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 Simplified BSD License
+     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).
@@ -87,6 +87,7 @@ module ietf-node-tags-state {
            describing tags.";
         leaf id {
           type uint64;
+          status deprecated;
           description
           "Identification of each data node within YANG module. It is
            unique 64-bit unsigned integers.";
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-poweff-asset-ext@2023-10-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-poweff-asset-ext@2023-10-12.yang
new file mode 100644
index 000000000..2fde6d4ca
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-poweff-asset-ext@2023-10-12.yang
@@ -0,0 +1,98 @@
+module ietf-poweff-asset-ext {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-poweff-asset-ext";
+  prefix ietf-poweff-asset-ext;
+  import ietf-lmo {
+    prefix ietf-lmo;
+  }
+  import ietf-lmo-assets {
+    prefix ietf-lmo-asset;
+  }
+  organization
+    "IETF OPSA (Operations and Management Area) Working Group";
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
+     WG List:  <mailto:opsawg@ietf.org>
+     Editor:  Jan Lindblad
+              <mailto:jlindbla@cisco.com>
+     Editor:  Snezana Mitrovic
+              <mailto:snmitrov@cisco.com>
+     Editor:  Marisol Palmero
+              <mailto:mpalmero@cisco.com>";
+  description
+    "This YANG module includes extra attributes which
+     complement sustainability for assets.
+
+     Copyright (c) 2021 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 Simplified 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.";
+
+  revision 2023-10-12 {
+    description
+      "Initial revision to complement Asset Inventory Module as
+       part of the DMALMO YANG Model, with sustainability attributes";
+    reference
+      "RFC XXXX: DMALMO YANG Model";
+  }
+
+  augment /ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:inst {
+    when "derived-from-or-self(../ietf-lmo:lmo-class, "+
+         " 'ietf-lmo-asset:asset')";
+    description
+      "Assets attributes related to sustainability";
+    leaf age {
+      type string;
+      description
+        "Age of the asset";
+    }
+    leaf site {
+      when "not(../ietf-lmo:parent/ietf-lmo:id)";
+    type string;
+    description
+      "location site name";
+      // FIXME: Make this a reference to a list of sites?
+      // FIXME: force this to be set for all assets that
+      //        do not have a parent?
+    }
+    leaf modular {
+      type boolean;
+      description
+        "The asset is or is not modular";
+    }
+    leaf status {
+      type string;
+      description
+        "NEED to include: off, enabled, disabled, not present,
+         failed, reserved-on, standby";
+         //FIXME status is simply the most inconsistent field
+         //with wide variety of values reported. It is better
+         //to make this a Enum with fixed set list of states.
+    }
+    leaf slot {
+      type string;
+      mandatory "true";
+      description
+        "Defines the slot where the asset is placed in the chasssis.
+        Used to map the sensor to particular UID.";
+    }
+    leaf device-family {
+      type string;
+      description
+        "Device Family - may be derived from the product name or
+         product id. It is to be used for immplementation
+         purpose - filtering capability and future optimization
+         purposes";
+    }
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-poweff-derived@2023-10-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-poweff-derived@2023-10-12.yang
new file mode 100644
index 000000000..347e79262
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-poweff-derived@2023-10-12.yang
@@ -0,0 +1,65 @@
+module ietf-poweff-derived {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-poweff-derived";
+  prefix ietf-poweff-derived;
+
+  import ietf-poweff-sensors {
+    prefix ietf-poweff-sensors;
+  }
+  import ietf-lmo {
+    prefix ietf-lmo;
+  }
+  import ietf-lmo-assets-inventory {
+    prefix ietf-lmo-asset;
+  }
+  organization
+    "IETF OPSA (Operations and Management Area) Working Group";
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
+     WG List:  <mailto:opsawg@ietf.org>
+     Editor:  Jan Lindblad
+              <mailto:jlindbla@cisco.com>
+     Editor:  Snezana Mitrovic
+              <mailto:snmitrov@cisco.com>
+    Editor:  Marisol Palmero
+              <mailto:mpalmero@cisco.com>";
+  description
+    "This YANG module includes power derived values per asset.
+    Typically, power derived values will be calculated on the
+    receiver, even those values may be provided by the devices as
+    well.
+    Typically we expect chassis to report total psu-input-power and
+    psu-output-power but ptr-bps-ratio may be derived on the receiver
+    side.
+
+     Copyright (c) 2021 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 Simplified 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.";
+
+  revision 2023-10-12 {
+    description
+      "Initial revision to document power derived data";
+    reference
+      "RFC XXXX: ...";
+  }
+
+  augment /ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:inst {
+    when "derived-from-or-self(../ietf-lmo:lmo-class, "+
+         " 'ietf-lmo-asset:asset')";
+    description
+      "Power derived attributes related to assets";
+
+    uses ietf-poweff-sensors:power-derived-g;
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-poweff-environment@2023-10-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-poweff-environment@2023-10-12.yang
new file mode 100644
index 000000000..225b6fc5c
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-poweff-environment@2023-10-12.yang
@@ -0,0 +1,62 @@
+module ietf-poweff-environment {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-poweff-environment";
+  prefix ietf-poweff-environment;
+
+  import ietf-poweff-sensors {
+    prefix ietf-poweff-sensors;
+  }
+  import ietf-lmo {
+    prefix ietf-lmo;
+  }
+  import ietf-lmo-assets-inventory {
+    prefix ietf-lmo-asset;
+  }
+
+  organization
+    "IETF OPSA (Operations and Management Area) Working Group";
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
+     WG List:  <mailto:opsawg@ietf.org>
+     Editor:  Jan Lindblad
+              <mailto:jlindbla@cisco.com>
+     Editor:  Snezana Mitrovic
+              <mailto:snmitrov@cisco.com>
+     Editor:  Marisol Palmero
+              <mailto:mpalmero@cisco.com>";
+  description
+    "This YANG module includes the live reading from the network
+    devices related to the power environment. Dynamic/real-time
+    data read from the network device, basically reading Voltage,
+    Current, Power (Watts), and Temperature.
+
+     Copyright (c) 2021 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 Simplified 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.";
+
+  revision 2023-10-12 {
+    description
+      "Initial revision to document power environmental related data";
+    reference
+      "RFC XXXX: ...";
+  }
+  augment /ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:inst {
+    when "derived-from-or-self(../ietf-lmo:lmo-class, "+
+         " 'ietf-lmo-asset:asset')";
+    description
+      "Assets attributes related to power environment";
+
+    uses ietf-poweff-sensors:sensors-g;
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-poweff-sensors@2023-10-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-poweff-sensors@2023-10-12.yang
new file mode 100644
index 000000000..968e4d760
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-poweff-sensors@2023-10-12.yang
@@ -0,0 +1,344 @@
+module ietf-poweff-sensors {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-poweff-sensors";
+  prefix ietf-poweff-sensors;
+
+  import ietf-poweff-types {
+    prefix ietf-poweff-types;
+  }
+
+  organization
+    "IETF OPSA (Operations and Management Area) Working Group";
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
+     WG List:  <mailto:opsawg@ietf.org>
+     Editor:  Jan Lindblad
+              <mailto:jlindbla@cisco.com>
+     Editor:  Snezana Mitrovic
+              <mailto:snmitrov@cisco.com>
+     Editor:  Marisol Palmero
+              <mailto:mpalmero@cisco.com>";
+  description
+    "This YANG module defines basic groupings for POWEFF sensor
+    management.
+
+     Copyright (c) 2021 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 Simplified 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.";
+
+  revision 2023-10-12 {
+    description
+      "Initial revision of POWEFF sensors";
+    reference
+      "RFC XXXX: ...";
+  }
+
+  grouping sensors-g {
+    description "sensors grouping";
+    container sensors {
+      description "list of sensors";
+
+      list sensor {
+        key "sensor-type";
+        description "list of sensors attached to this asset";
+        leaf sensor-type {
+          type identityref {
+            base ietf-poweff-types:sensor-type;
+          }
+          // FIXME: Are we fine with a single sensor of each type
+          // for each asset? I.e. is there ever a need for more than
+          // one Vin-sensor on a particular asset? Ever more than one
+          // Temp-sensor? If so, we need to add a second key here.
+          description
+            "Type of sensor sending data per asset:
+            Vin, Iin, Vout, Iout, Pin, Pout, Palloc, Temp, etc.
+            Sensor type specifies which unit of measurement is used.";
+        }
+        leaf sensor-location {
+          type string;
+          mandatory "true";
+          description
+            "Indicates the current location where the sensor is located
+              in the chassis,typically refers to slot";
+        }
+        leaf sensor-state {
+          type string;
+          description
+            "Current state of the sensor";
+            // FIXME: What does this mean?
+        }
+        leaf sensor-current-reading {
+          type string;
+          config false;
+          description
+            "Current reading of the sensor";
+        }
+        leaf sensor-accuracy-eligible {
+          type boolean;
+          default false;
+          description
+            "Used to identify which sensor/assets reading shall be
+            included in real metrics";
+          }
+        leaf sensor-accuracy {
+          type string;
+          must "../sensor-accuracy-eligible = 'true'";
+          description
+            "Maximum deviation to be considered. This attribute mainly
+            will apply to drawn power, which corresponds to PSU PowerIn
+            measured power or calculated power; assuming discrepancy
+            between Real Power, power collected from a power meter, and
+            power measured or calculated from the metrics provided by
+            the sensors";
+          }
+
+        container sensor-thresholds {
+          description
+            "Threshold values for the particular sensor.
+            Default values shall beprovided as part of static data
+            but when configurable need to be pulledfrom the device.
+            Ideally, the sensor should allow configuing
+            thesethreshold values";
+
+          leaf minor-low {
+            type string;
+            description
+              "minor-low";
+          }
+          leaf minor-high {
+            type string;
+            description
+              "minor-high";
+          }
+          leaf major-low {
+            type string;
+            description
+              "major-low";
+          }
+          leaf major-high {
+            type string;
+            description
+              "major-high";
+          }
+          leaf critical-low {
+            type string;
+            description
+              "critical-low";
+          }
+          leaf critical-high {
+            type string;
+            description
+              "critical-high";
+          }
+          leaf shutdown {
+            type string;
+            description
+              "shutdown";
+          }
+        }
+      }
+    }
+  }
+
+  grouping power-derived-g {
+    description
+      "define derived metrics";
+    container power-derived {
+      config false;
+      description "power derived attributes";
+
+      leaf heat-dissipation {
+        type string;
+        description
+          "It refers to Heat Transfer, i.e. heat transferred from
+          hotter object to coolerobject (1W = 3.412BTU/h)";
+      }
+      leaf rated-input-pwr-value {
+        type string;
+        mandatory "true";
+        description
+          "Total Input Power for the chassis and specific inventory
+          inside. The sum for all assets for specific hardware
+          configuration. Can be calculated for Typical, Operating, or
+          Maximum anticipated Capacity Load. Mainly used for
+          dimensioning based on benchmark data";
+      }
+      leaf asset-input-pwr {
+        type string;
+        mandatory "true";
+        description
+          "For a given asset, assumed input power means the rate of
+          electricity consumption in Watts provided by the network
+          device or sensor. Conditionally derived - if
+          the device/sensor can give actualpower draw then this
+          calculation is not required, and will be taken directly
+          from the sensor.";
+      }
+      leaf asset-output-pwr {
+        type string;
+        description
+          "Watts provided to the internal components for a given
+          asset. Only applicable to assets that provide output power,
+          such as PSUs. This is present here to accommodate chassis
+          that don’t provide Watt value currently. Ideal
+          implementation should provide Pout sensor reading";
+          //FIXME: add condition this is mandatory for when asset is
+          //chassis or PSU and not LC or Port;
+      }
+      leaf  psu-input-power {
+        type string;
+        mandatory "true";
+        description
+          "Total input power per chassis, rate of the electricity
+          consumption in Watts. Sum of asset-input-pwr when uid=PSU.
+          It considers all operational PSU'́s to the chassis";
+      }
+      leaf psu-output-power {
+        type string;
+        mandatory "true";
+        description
+          "Total input power for chassis, rate of the electricity
+          consumption inWatts. Sum of asset-output-pwr when uid=PSU.
+          It considers alloperational PSU's to the chassis";
+      }
+      leaf psu-pwr-ratio {
+        type string;
+        mandatory "true";
+        description
+          "Define dynamic (current) power ratio taking into
+          consideration total system real power input vs used. Not
+          expected to be the same as PSU efficiency. Formula:
+          (psu-output-power / psu-input-power) * 100.0.
+          It considers all operational PSU ́s to the chassis.";
+      }
+      leaf energy-traffic-ratio {
+        type string;
+        mandatory "true";
+        description
+          "How much Watts is spent to move 100Gigaytes per
+          chassis within thetime period; Formula:
+          psu-output-power [Watt] /SUM of all interfaces
+          (input-data-rate-bits + output-data-rate-bits).
+          Measured over a period of 1hr. energy-traffic-ratio is
+          the value considered for the complete chassis and all
+          operational LC ́s/interfaces.";
+      }
+    }
+  }
+
+  grouping power-static-g {
+    description
+      "define static attributes";
+    container power-static {
+      description "power static attributes";
+
+      leaf max-amp {
+        type string;
+        mandatory "true";
+        description
+          "For a given asset, it is the current in Amperes that the
+          asset could withdraw at Maximum capacity";
+      }
+      leaf output-amp {
+        type string;
+        mandatory "true";
+        description
+          "For a given asset, it is the current in Amperes that the
+          asset couldwithdraw at Operating capacity.";
+      }
+      leaf input-amp {
+        type string;
+        mandatory "true";
+        description
+          "Current of an asset at a typical power consumption of
+          switch in Amperes. Somethimes refered to as input-current";
+      }
+      leaf  max-output-pwr {
+        type string;
+        mandatory "true";
+        description
+          "For a given asset, it is the maximum power in Watts that
+          the asset could draw at Maximum capacity";
+      }
+      leaf  output-pwr {
+        type string;
+        mandatory "true";
+        description
+          "For a given asset, it is the power in Watts that the
+          asset could withdraw at Operating capacity";
+      }
+      leaf typical-output-pwr {
+        type string;
+        mandatory "true";
+        description
+          "This value is an estimation of the average power usage
+          in Watts that the same configuration will use at Typical
+          capacity";
+      }
+      leaf accuracy-pwr {
+        type string;
+        description
+          "If known, the maximum deviation of power to be considered.
+          BU shouldprovide an estimation";
+      }
+      leaf inline-pwr {
+        type string;
+        mandatory "true";
+        description
+          "Available PoE Power i.e the power which can be passed over
+          ethernet cables to power devices.";
+      }
+      leaf psu-efficiency {
+        type string;
+        mandatory "true";
+        description
+          "Rating the PSU has been certified for against 80plus
+          certification specification. The amount of the actual power
+          delivered to the assetdivided by the electrical power drawn
+          from the main supply socket.i.e. Output Power of System/
+          Input Power of PSU. The objective for psu-efficiency values
+          is to reach 80+ certification.
+          Please refer to https://www.clearesult.com/80plus";
+      }
+      leaf voltage-type {
+        type string;
+        mandatory "true";
+        description
+          "AC/DC/HVDC. Note: DC typically gives an accurate measure,
+          but AC, due to the nature of the metric is not accurate";
+      }
+      leaf idle-pwr {
+        type string;
+        mandatory "true";
+        description
+          "Initial power allocated to the asset with no traffic load";
+      }
+      leaf max-temperature {
+        type string;
+        mandatory "true";
+        description
+          "Operating temperature - i.e max temperature tolerance
+          (temperaturerange expands to approximately -40°C to 85°C).
+          If the asset exceeds themax temperature limit, it either
+          slows down or stops completely";
+      }
+      leaf pwr-saving-mode {
+        type string;
+        mandatory "true";
+        description
+          "Does the asset support any power-saving software feature Y/N.
+          Will beexpanded in future releases";
+      }
+    }
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-poweff-static@2023-10-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-poweff-static@2023-10-12.yang
new file mode 100644
index 000000000..36af2386d
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-poweff-static@2023-10-12.yang
@@ -0,0 +1,64 @@
+module ietf-poweff-static {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-poweff-static";
+  prefix ietf-poweff-static;
+
+  import ietf-poweff-sensors {
+    prefix ietf-poweff-sensors;
+  }
+  import ietf-lmo {
+    prefix ietf-lmo;
+  }
+  import ietf-lmo-assets-inventory {
+    prefix ietf-lmo-asset;
+  }
+  organization
+    "IETF OPSA (Operations and Management Area) Working Group";
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
+     WG List:  <mailto:opsawg@ietf.org>
+     Editor:  Jan Lindblad
+              <mailto:jlindbla@cisco.com>
+     Editor:  Snezana Mitrovic
+              <mailto:snmitrov@cisco.com>
+    Editor:  Marisol Palmero
+              <mailto:mpalmero@cisco.com>          ";
+  description
+    "This YANG module includes power and energy efficiency
+    Product Data. Data for a specific asset that aligns to values
+    provided by the manufacturer can be classified as “static”
+    since they are unlikely to change during the lifetime of the
+    product/asset.
+    They are typically available in a form of data sheets or any kind
+    of simulation tools.
+
+     Copyright (c) 2021 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 Simplified 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.";
+
+  revision 2023-10-12 {
+    description
+      "Initial revision to document power static data";
+    reference
+      "RFC XXXX: ...";
+  }
+  augment /ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:inst {
+    when "derived-from-or-self(../ietf-lmo:lmo-class, "+
+         " 'ietf-lmo-asset:asset')";
+    description
+      "Assets attributes related to power static attributes";
+
+    uses ietf-poweff-sensors:power-static-g;
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-poweff-traffic@2023-10-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-poweff-traffic@2023-10-12.yang
new file mode 100644
index 000000000..6302f0b9b
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-poweff-traffic@2023-10-12.yang
@@ -0,0 +1,189 @@
+module ietf-poweff-traffic {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-poweff-traffic";
+  prefix ietf-poweff-traffic;
+  import ietf-yang-types {
+    prefix yang;
+  }
+  import ietf-interfaces {
+    prefix if;
+  }
+  import ietf-lmo-assets-inventory {
+    prefix ietf-lmo-asset;
+  }
+  import ietf-lmo {
+    prefix ietf-lmo;
+  }
+  organization
+    "IETF OPSA (Operations and Management Area) Working Group";
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
+     WG List:  <mailto:opsawg@ietf.org>
+     Editor:  Jan Lindblad
+              <mailto:jlindbla@cisco.com>
+     Editor:  Snezana Mitrovic
+              <mailto:snmitrov@cisco.com>
+    Editor:  Marisol Palmero
+              <mailto:mpalmero@cisco.com>";
+  description
+    "This YANG module describes the live interface and traffic related
+     metrics. It should be based on rfc7223,
+     https://datatracker.ietf.org/doc/rfc7223/
+
+     Copyright (c) 2021 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 Simplified 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 2023-10-12 {
+    description
+      "Initial revision to document power traffic data";
+    reference
+      "RFC XXXX: ...";
+  }
+  augment /ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:inst {
+    when "derived-from-or-self(../ietf-lmo:lmo-class, "+
+         " 'ietf-lmo-asset:asset')";
+    description
+      "Traffic attributes related to sustainability";
+    container interfaces {
+      description "Interface parameters";
+      list interface {
+        key "name";
+        leaf name {
+          type leafref {
+            path "/if:interfaces/if:interface/if:name";
+            require-instance false;
+          }
+          description
+            "The name of the interface.";
+        }
+        leaf description {
+          type string;
+          description
+            "A textual description of the interface.
+
+             A server implementation MAY map this leaf to the ifAlias
+             MIB object.  Such an implementation needs to use some
+             mechanism to handle the differences in size and characters
+             allowed between this leaf and ifAlias.  The definition of
+             such a mechanism is outside the scope of this document.
+
+             Since ifAlias is defined to be stored in non-volatile
+             storage, the MIB implementation MUST map ifAlias to the
+             value of 'description' in the persistently stored
+             configuration.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifAlias";
+        }
+        leaf if-index {
+          type int32;
+          description
+            "The ifIndex value for the ifEntry represented by this
+            interface";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifIndex";
+        }
+        leaf interface-type {
+          type string;
+          //TO_DO adjust type to identy interface-type or similar
+          description
+            "The type of the interface.
+
+             When an interface entry is created, a server MAY
+             initialize the type leaf with a valid value, e.g., if it
+             is possible to derive the type from the name of the
+             interface.
+
+             If a client tries to set the type of an interface to a
+             value that can never be used by the system, e.g., if the
+             type is not supported or if the type does not match the
+             name of the interface, the server MUST reject the request.
+             A NETCONF server MUST reply with an rpc-error with the
+             error-tag 'invalid-value' in this case.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifType";
+        }
+        leaf bandwidth {
+          type yang:gauge64;
+          units "kbits/s";
+          description
+            "It is considered to be the Max bandwidth of the interface,
+             in kbps, it could also be called capacity";
+        }
+        leaf speed {
+          type yang:gauge64;
+          units "kbits/s";
+          description
+            "It is considered to be current bandwidth of the interface,
+             in kbps, it could also be called capacity";
+        }
+        leaf data-rate-frequency {
+          type string;
+          //TO_DO normalized to do not be string, as different devices
+          //will provide different implementation
+          description
+            "The length of time for which data is used to compute load
+            statistics, load-interval command in interface
+            configuration. Default value is 5min";
+        }
+        container statistics {
+          description "A collection of interface-related statistics
+            objects.";
+          leaf input-data-rate {
+            type uint64;
+            units "kbits/s";
+            mandatory "true";
+            description
+              "Input data rate in 1000's of bps. Average number of bits
+               received per second in the last load period
+               (300 sec by default)";
+          }
+          leaf input-packet-rate {
+            type uint64;
+            units "packet/s";
+            description
+              "Input packets per second. Average number of packets
+              received per second in the last load period
+              (300 sec by default)";
+          }
+          leaf output-data-rate {
+            type uint64;
+            units "kbits/s";
+            mandatory "true";
+            description
+              "Output data rate in 1000's of bps. Average number of bits
+              sent per second in the last load period
+              (300 sec by default)";
+          }
+          leaf output-packet-rate {
+            type uint64;
+            units "packet/s";
+            description
+              "Output packets per second. Average number of packets
+              sent per second in the last load period
+              (300 sec by default)";
+          }
+        }
+        description "Interface parameters for a specific interface";
+      }
+    }
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-poweff-types@2023-10-12.yang b/experimental/ietf-extracted-YANG-modules/ietf-poweff-types@2023-10-12.yang
new file mode 100644
index 000000000..07f104079
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-poweff-types@2023-10-12.yang
@@ -0,0 +1,282 @@
+module ietf-poweff-types {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-poweff-types";
+  prefix ietf-poweff-types;
+
+  organization
+    "IETF OPSA (Operations and Management Area) Working Group";
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
+     WG List:  <mailto:opsawg@ietf.org>
+     Editor:  Jan Lindblad
+              <mailto:jlindbla@cisco.com>
+     Editor:  Snezana Mitrovic
+              <mailto:snmitrov@cisco.com>
+     Editor:  Marisol Palmero
+              <mailto:mpalmero@cisco.com>";
+  description
+    "This YANG module defines basic quantities, measurement units
+    and sensor types for the POWEFF framework.
+
+     Copyright (c) 2021 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 Simplified 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.";
+
+  revision 2023-10-12 {
+    description
+      "Initial revision of POWEFF types";
+    reference
+      "RFC XXXX: ...";
+  }
+
+  identity sensor-class {
+    description "Sensor's relation to the asset it sits on.";
+  }
+  identity sc-input {
+    base sensor-class;
+    description "Sensor reports input quantity of the asset it sits
+      on.";
+  }
+  identity sc-output {
+    base sensor-class;
+    description "Sensor reports output quantity of the asset it sits
+      on.";
+  }
+  identity sc-allocated {
+    base sensor-class;
+    description "Sensor reports (maximum) allocated quantity of the
+      asset it sits on.";
+  }
+  identity sensor-quantity {
+    description "Sensor's quantity being measured.";
+  }
+  identity sq-voltage {
+    base sensor-quantity;
+    description "Sensor reports electric tension, voltage.";
+  }
+  identity sq-current {
+    base sensor-quantity;
+    description "Sensor reports electric current.";
+  }
+  identity sq-power {
+    base sensor-quantity;
+    description "Sensor reports power draw (energy per unit of time).";
+  }
+  identity sq-power-apparent {
+    base sq-power;
+    description "Sensor reports apparent power, i.e. average electrical
+      current times voltage (in VA).";
+  }
+  identity sq-power-true {
+    base sq-power;
+    description "Sensor reports true power, i.e. integral over current
+      and voltage at each instant in time.";
+  }
+  identity sq-energy {
+    base sensor-quantity;
+    description "Sensor reports actual energy drawn by asset.";
+  }
+  identity sq-co2-emission {
+    base sensor-quantity;
+    description "Sensor reports CO2 (carbon dioxide) emission by
+      asset.";
+  }
+  identity sq-co2eq-emission {
+    base sensor-quantity;
+    description "Sensor reports CO2 (carbon dioxide) equivalent
+      emission by asset.";
+  }
+  identity sq-temperature {
+    base sensor-quantity;
+    description "Sensor reports temperature of asset.";
+  }
+  identity sensor-unit {
+    description "Sensor's unit of reporting.";
+  }
+  identity su-volt {
+    base sensor-unit;
+    base sq-voltage;
+    description "Sensor unit volt, V.";
+  }
+  identity su-ampere {
+    base sensor-unit;
+    base sq-current;
+    description "Sensor unit ampere, A.";
+  }
+  identity su-watt {
+    base sensor-unit;
+    base sq-power;
+    description "Sensor unit watt, W.";
+  }
+  identity su-voltampere {
+    base sensor-unit;
+    base sq-power;
+    description "Sensor unit Volt*Ampere, VA.";
+  }
+  identity su-kw {
+    base sensor-unit;
+    base sq-power;
+    description "Sensor unit kilowatt, kW.";
+  }
+  identity su-joule {
+    base sensor-unit;
+    base sq-energy;
+    description "Sensor unit joule, J.";
+  }
+  identity su-wh {
+    base sensor-unit;
+    base sq-energy;
+    description "Sensor unit watthour, Wh.";
+  }
+  identity su-kwh {
+    base sensor-unit;
+    base sq-energy;
+    description "Sensor unit kliowatthour, kWh.";
+  }
+  identity su-kelvin {
+    base sensor-unit;
+    base sq-temperature;
+    description "Sensor unit kelvin, K.";
+  }
+  identity su-celsius {
+    base sensor-unit;
+    base sq-temperature;
+    description "Sensor unit celsius, C.";
+  }
+  identity su-farenheit {
+    base sensor-unit;
+    base sq-temperature;
+    description "Sensor unit farenheit, F.";
+  }
+  identity su-gram {
+    base sensor-unit;
+    base sq-co2-emission;
+    description "Sensor unit gram, g.";
+  }
+  identity su-kg {
+    base sensor-unit;
+    base sq-co2-emission;
+    description "Sensor unit kliogram, kg.";
+  }
+  identity su-ton {
+    base sensor-unit;
+    base sq-co2-emission;
+    description "Sensor unit ton, t.";
+  }
+  identity sensor-type {
+    description "Sensor's type, i.e. combination of class, quantity and
+      unit.";
+  }
+  identity st-v-in {
+    base sensor-type;
+    base sc-input;
+    base sq-voltage;
+    base su-volt;
+    description "Sensor reporting Voltage In to asset.";
+  }
+  identity st-v-out {
+    base sensor-type;
+    base sc-output;
+    base sq-voltage;
+    base su-volt;
+    description "Sensor reporting Voltage Out of asset.";
+  }
+  identity st-i-in {
+    base sensor-type;
+    base sc-input;
+    base sq-current;
+    base su-ampere;
+    description "Sensor reporting Current In to asset.";
+  }
+  identity st-i-out {
+    base sensor-type;
+    base sc-output;
+    base sq-current;
+    base su-ampere;
+    description "Sensor reporting Current Out of asset.";
+  }
+  identity st-p-in-apparent-watt {
+    base sensor-type;
+    base sc-input;
+    base sq-power-apparent;
+    base su-voltampere;
+    description "Sensor reporting Power In to asset as apparent (I*U)
+      power.";
+  }
+  identity st-p-out-apparent-watt {
+    base sensor-type;
+    base sc-output;
+    base sq-power-apparent;
+    base su-voltampere;
+    description "Sensor reporting Power Out of asset as apparent (I*U)
+      power.";
+  }
+  identity st-p-in-true-watt {
+    base sensor-type;
+    base sc-input;
+    base sq-power-true;
+    base su-watt;
+    description "Sensor reporting Power In to asset as true power.";
+  }
+  identity st-p-out-true-watt {
+    base sensor-type;
+    base sc-output;
+    base sq-power-true;
+    base su-watt;
+    description "Sensor reporting Power Out of asset as true power.";
+  }
+  identity st-p-allocated-watt {
+    base sensor-type;
+    base sc-allocated;
+    base sq-power;
+    base su-watt;
+    description "Sensor reporting Allocated Power for asset.";
+  }
+  identity st-w-j {
+    base sensor-type;
+    base sq-energy;
+    base su-joule;
+    description "Sensor reporting energy draw of asset in J.";
+  }
+  identity st-w-wh {
+    base sensor-type;
+    base sq-energy;
+    base su-wh;
+    description "Sensor reporting energy draw of asset in Wh.";
+  }
+  identity st-w-kwh {
+    base sensor-type;
+    base sq-energy;
+    base su-kwh;
+    description "Sensor reporting energy draw of asset in kWh.";
+  }
+  identity st-t-k {
+    base sensor-type;
+    base sq-temperature;
+    base su-kelvin;
+    description "Sensor reporting Temperature of asset in K.";
+  }
+  identity st-t-c {
+    base sensor-type;
+    base sq-temperature;
+    base su-celsius;
+    description "Sensor reporting Temperature of asset in °C.";
+  }
+  identity st-t-f {
+    base sensor-type;
+    base sq-temperature;
+    base su-farenheit;
+    description "Sensor reporting Temperature of asset in °F.";
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-srv6-topology@2023-10-16.yang b/experimental/ietf-extracted-YANG-modules/ietf-srv6-topology@2023-10-16.yang
new file mode 100644
index 000000000..347b4670d
--- /dev/null
+++ b/experimental/ietf-extracted-YANG-modules/ietf-srv6-topology@2023-10-16.yang
@@ -0,0 +1,259 @@
+module ietf-srv6-topology {
+  yang-version "1.1";
+  namespace "urn:ietf:params:xml:ns:yang:ietf-srv6-topology";
+  prefix "srv6-topo";
+
+  import ietf-inet-types {
+    prefix "inet";
+    reference
+      "RFC 6991: Common YANG Data Types";
+  }
+  import ietf-network {
+    prefix "nw";
+    reference "RFC 8345: A YANG Data Model for Network Topologies";
+  }
+  import ietf-network-topology {
+    prefix "nt";
+    reference "RFC 8345: A YANG Data Model for Network Topologies";
+  }
+  import ietf-l3-unicast-topology {
+    prefix "l3t";
+    reference "RFC 8346: A YANG Data Model for Layer 3 Topologies";
+  }
+  import ietf-srv6-types {
+    prefix "srv6-types";
+    reference "RFC XXXX: YANG Data Model for SRv6 Base and Static";
+  }
+  import ietf-srv6-base {
+    prefix "srv6-base";
+    reference "RFC XXXX: YANG Data Model for SRv6 Base and Static";
+  }
+  import ietf-sr-mpls-topology {
+    prefix "sr-mpls-topo";
+    reference
+      "RFC XXXX: YANG Data Model for SR and SR TE Topologies on
+       MPLS Data Plane";
+  }
+
+  organization
+    "IETF TEAS Working Group";
+  contact
+    "TBD";
+
+  description
+    "This module describes a YANG model for representing and
+     manipulating Segment Routing Topologies on IPv6 Data Plane.";
+
+  revision 2023-10-16 {
+    description
+      "Initial Version";
+    reference
+      "RFC XXXX, YANG Data Model for SR and SR TE Topologies on
+       IPv6 Data Plane";
+  }
+
+  grouping srv6-topology-type {
+    description
+      "Identifies the SRv6 topology type. This type of network
+       topologies use Segment Routing (SR) technology over the IPv6
+       data plane";
+    container srv6 {
+      presence "Indicates SRv6 topology";
+      description
+        "Its presence identifies the SRv6 topology type.";
+    }
+  }
+
+  grouping srv6-node-attributes {
+    description "SRv6 node scope attributes.";
+    container srv6 {
+      presence "Presence indicates SRv6 is enabled.";
+      description
+        "Containing SRv6 attributes.";
+      container node-capabilities {
+        config false;
+        description
+          "SRv6 capabilities of the node.";
+        uses srv6-base:srv6-msd-signaled;
+      }
+      list supported-algorithms {
+        key "algorithm";
+        description
+          "Supported algorithms of the node.";
+        leaf algorithm {
+          type uint8 {
+            range "128..255";
+          }
+          mandatory true;
+          description
+            "Algorithm Id (for Flex-Algo).";
+        }
+      }
+      container locators {
+        description "SRv6 locators of the node.";
+        list locator {
+          key "prefix-addr prefix-len";
+          description
+            "An SRv6 locator";
+          leaf prefix-addr {
+            type inet:ipv6-address;
+            mandatory true;
+            description
+              "IPv6 address";
+          }
+          leaf prefix-len {
+            type srv6-types:srv6-locator-len;
+            mandatory true;
+            description
+              "Locator (prefix) length";
+          }
+          leaf algorithm {
+            type uint8 {
+              range "128..255";
+            }
+            description
+              "Algorithm Id (for Flex-Algo).";
+          }
+          leaf anycast {
+            type boolean;
+            default false;
+            description
+              "Set to true if the locator is anycast.";
+          }
+          leaf is-readvertisment {
+            type boolean;
+            config false;
+            description
+              "Set to true if the locator has been
+               readvertising from another topology.";
+          }
+          container sids {
+            description
+              "SRv6 SIDs covered by the locator";
+            list sid {
+              key "sid-value";
+              description
+                "An SRv6 SID";
+              leaf sid-value {
+                type srv6-types:srv6-sid;
+                description
+                  "The SID value";
+              }
+              leaf end-behavior-type {
+                type identityref {
+                  base srv6-types:srv6-endpoint-type;
+                }
+                description "Type of SRv6 end behavior.";
+              }
+            }
+          }
+        }
+      }
+      uses sr-mpls-topo:information-source-attributes;
+    }
+  }
+
+  grouping srv6-link-attributes {
+    description "SRv6 link scope attributes";
+    container srv6 {
+      presence "Presence indicates SRv6 is enabled.";
+      description
+        "Containing SRv6 attributes.";
+      container link-capabilities {
+        config false;
+        description
+          "SRv6 capabilities of the link.";
+        uses srv6-base:srv6-msd-signaled;
+      }
+      container sids {
+        description
+          "SRv6 SIDs covered by the locator";
+        list sid {
+          key "sid-value";
+          description
+            "An SRv6 SID";
+          leaf sid-value {
+            type srv6-types:srv6-sid;
+            description
+              "The SID value";
+          }
+          leaf end-behavior-type {
+            type identityref {
+              base srv6-types:srv6-endpoint-type;
+            }
+            description "Type of SRv6 end behavior.";
+          }
+          leaf algorithm {
+            type uint8 {
+              range "128..255";
+            }
+            config false;
+            description
+              "Algorithm Id (for Flex-Algo).";
+          }
+          leaf is-eligible-for-protection {
+            type boolean;
+            default false;
+            description
+              "Set to true if the SID is eligible for protection.";
+            reference
+              "RFC 8402: Segment Routing Architecture. Sec. 3.4.";
+          }
+          leaf is-part-of-set {
+            type boolean;
+            default false;
+            description
+              "Set to true if the SID is part of a set.";
+          }
+          leaf is-persistent {
+            type boolean;
+            default true;
+            description
+              "Set to true if the SID is persistently allocated.";
+          }
+          leaf is-on-lan {
+            type boolean;
+            default false;
+            description
+              "Set to true if on a LAN.";
+          }
+          leaf weight {
+            type uint8;
+            description
+              "The value represents the weight of the SID for the
+               purpose of load balancing.  The use of the weight
+               is defined in RFC 8402.";
+            reference
+              "RFC 8402: Segment Routing Architecture. Sec. 3.4.";
+          }
+        }
+      }
+      uses sr-mpls-topo:information-source-attributes;
+    }
+  }
+
+  augment "/nw:networks/nw:network/nw:network-types/"
+    + "l3t:l3-unicast-topology" {
+    description
+      "Defines the SRv6 topology type.";
+    uses srv6-topology-type;
+  }
+
+  augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" {
+    when "../../nw:network-types/l3t:l3-unicast-topology/"
+      + "srv6-topo:srv6" {
+      description "Augment only for SRv6 topology.";
+    }
+    description "Augment node configuration.";
+    uses srv6-node-attributes;
+  }
+
+  augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" {
+    when "../../nw:network-types/l3t:l3-unicast-topology/"
+      + "srv6-topo:srv6" {
+      description "Augment only for SRv6 topology.";
+    }
+    description "Augment link configuration";
+    uses srv6-link-attributes;
+  }
+}
diff --git a/experimental/ietf-extracted-YANG-modules/ietf-yang-push-revision@2023-09-17.yang b/experimental/ietf-extracted-YANG-modules/ietf-yang-push-revision@2023-10-17.yang
similarity index 91%
rename from experimental/ietf-extracted-YANG-modules/ietf-yang-push-revision@2023-09-17.yang
rename to experimental/ietf-extracted-YANG-modules/ietf-yang-push-revision@2023-10-17.yang
index f961aab47..3f0212f81 100644
--- a/experimental/ietf-extracted-YANG-modules/ietf-yang-push-revision@2023-09-17.yang
+++ b/experimental/ietf-extracted-YANG-modules/ietf-yang-push-revision@2023-10-17.yang
@@ -62,7 +62,7 @@ module ietf-yang-push-revision {
     This version of this YANG module is part of RFC XXXX; see the RFC
     itself for full legal notices.";
 
-  revision 2023-09-17 {
+  revision 2023-10-17 {
     description
       "First revision";
     reference
@@ -94,10 +94,21 @@ module ietf-yang-push-revision {
        to a specific revision-label not supported by the publisher.";
   }
 
+  identity incompatible-revision-and-revision-label {
+    base sn:establish-subscription-error;
+    base sn:modify-subscription-error;
+    description
+    "The combination of revision and the revision-label are incompatible.
+    This failure happens when the revision and the revision-label are both specified
+    in the RPC and the YANG module supported by the publisher does not support one of
+    the revision or the revision-label.";
+  }
+
   grouping yang-push-module-version-config {
     description
       "This grouping combines the module name, the revision and
-      revision-label leaves, with the revision being configurable.";
+      revision-label leaves. This grouping is to be used for configuration and the
+      leaves are not mandatory.";
     leaf module-name {
       type yang:yang-identifier;
       description
@@ -120,8 +131,9 @@ module ietf-yang-push-revision {
   grouping yang-push-module-version {
     description
       "This grouping combines the module name, the revision and
-      revision-label leaves, with the revision being non
-      configurable.";
+      revision-label leaves. This grouping is to be used for read-only cases such
+      as the content of YANG push Notifications. The module-name and revision are
+      mandatory and MUST be present in the data.";
     leaf module-name {
       type yang:yang-identifier;
       config false;
@@ -253,7 +265,6 @@ module ietf-yang-push-revision {
       yang-push-module-version-list grouping.";
     uses ypr:yang-push-module-version-list;
   }
-
   // Subscription container
   augment "/sn:subscriptions/sn:subscription/sn:target/sn:stream"
         + "/sn:stream-filter/sn:within-subscription" {