Standard OpenConfig YANG Tree

module: openconfig-network-instance
  +--rw network-instances
     +--rw network-instance* [name]
        +--rw name          -> ../config/name
        +--rw config
        |  +--rw name?                       string
        |  +--rw type?                       identityref
        |  +--rw enabled?                    boolean
        |  +--rw description?                string
        |  +--rw router-id?                  yang:dotted-quad
        |  +--rw route-distinguisher?        oc-ni-types:route-distinguisher
        |  +--rw enabled-address-families*   identityref
        |  +--rw mtu?                        uint16
        +--ro state
        |  +--ro name?                       string
        |  +--ro type?                       identityref
        |  +--ro enabled?                    boolean
        |  +--ro description?                string
        |  +--ro router-id?                  yang:dotted-quad
        |  +--ro route-distinguisher?        oc-ni-types:route-distinguisher
        |  +--ro enabled-address-families*   identityref
        |  +--ro mtu?                        uint16
        +--rw interfaces
        |  +--rw interface* [id]
        |     +--rw id        -> ../config/id
        |     +--rw config
        |     |  +--rw id?                            string
        |     |  +--rw interface?                     -> /oc-if:interfaces/interface/name
        |     |  +--rw subinterface?                  -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
        |     |  +--rw associated-address-families*   identityref
        |     |  +--rw mac-pinning?                   boolean
        |     |  +--rw irb-anycast-gateway?           enumeration
        |     +--ro state
        |        +--ro id?                            string
        |        +--ro interface?                     -> /oc-if:interfaces/interface/name
        |        +--ro subinterface?                  -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
        |        +--ro associated-address-families*   identityref
        |        +--ro mac-pinning?                   boolean
        |        +--ro irb-anycast-gateway?           enumeration
        +--rw protocols
           +--rw protocol* [identifier name]
              +--rw identifier       -> ../config/identifier
              +--rw name             -> ../config/name
              +--rw config
              |  +--rw identifier?       identityref
              |  +--rw name?             string
              |  +--rw enabled?          boolean
              |  +--rw default-metric?   uint32
              +--ro state
              |  +--ro identifier?       identityref
              |  +--ro name?             string
              |  +--ro enabled?          boolean
              |  +--ro default-metric?   uint32
              +--rw static-routes
                 +--rw static* [prefix]
                    +--rw prefix       -> ../config/prefix
                    +--rw config
                    |  +--rw prefix?        inet:ip-prefix
                    |  +--rw set-tag?       oc-pt:tag-type
                    |  +--rw description?   string
                    +--ro state
                    |  +--ro prefix?        inet:ip-prefix
                    |  +--ro set-tag?       oc-pt:tag-type
                    |  +--ro description?   string
                    +--rw next-hops
                       +--rw next-hop* [index]
                          +--rw index            -> ../config/index
                          +--rw config
                          |  +--rw index?      string
                          |  +--rw next-hop?   union
                          |  +--rw metric?     uint32
                          |  +--rw recurse?    boolean
                          +--ro state
                          |  +--ro index?      string
                          |  +--ro next-hop?   union
                          |  +--ro metric?     uint32
                          |  +--ro recurse?    boolean
                          +--rw enable-bfd
                          |  +--rw config
                          |  |  +--rw enabled?   boolean
                          |  +--ro state
                          |     +--ro enabled?   boolean
                          +--rw interface-ref
                             +--rw config
                             |  +--rw interface?      -> /oc-if:interfaces/interface/name
                             |  +--rw subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
                             +--ro state
                                +--ro interface?      -> /oc-if:interfaces/interface/name
                                +--ro subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index

module: openconfig-if-ip

  augment /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface:
    +--rw ipv4
       +--rw addresses
       |  +--rw address* [ip]
       |     +--rw ip        -> ../config/ip
       |     +--rw config
       |     |  +--rw ip?              oc-inet:ipv4-address
       |     |  +--rw prefix-length?   uint8
       |     +--ro state
       |     |  +--ro ip?              oc-inet:ipv4-address
       |     |  +--ro prefix-length?   uint8
       |     |  +--ro origin?          ip-address-origin
       |     +--rw vrrp
       |        +--rw vrrp-group* [virtual-router-id]
       |           +--rw virtual-router-id     -> ../config/virtual-router-id
       |           +--rw config
       |           |  +--rw virtual-router-id?        uint8
       |           |  +--rw virtual-address*          oc-inet:ip-address
       |           |  +--rw priority?                 uint8
       |           |  +--rw preempt?                  boolean
       |           |  +--rw preempt-delay?            uint16
       |           |  +--rw accept-mode?              boolean
       |           |  +--rw advertisement-interval?   uint16
       |           +--ro state
       |           |  +--ro virtual-router-id?        uint8
       |           |  +--ro virtual-address*          oc-inet:ip-address
       |           |  +--ro priority?                 uint8
       |           |  +--ro preempt?                  boolean
       |           |  +--ro preempt-delay?            uint16
       |           |  +--ro accept-mode?              boolean
       |           |  +--ro advertisement-interval?   uint16
       |           |  +--ro current-priority?         uint8
       |           +--rw interface-tracking
       |              +--rw config
       |              |  +--rw track-interface*      -> /oc-if:interfaces/interface/name
       |              |  +--rw priority-decrement?   uint8
       |              +--ro state
       |                 +--ro track-interface*      -> /oc-if:interfaces/interface/name
       |                 +--ro priority-decrement?   uint8
       +--rw proxy-arp
       |  +--rw config
       |  |  +--rw mode?   enumeration
       |  +--ro state
       |     +--ro mode?   enumeration
       +--rw neighbors
       |  +--rw neighbor* [ip]
       |     +--rw ip        -> ../config/ip
       |     +--rw config
       |     |  +--rw ip?                   oc-inet:ipv4-address
       |     |  +--rw link-layer-address    oc-yang:phys-address
       |     +--ro state
       |        +--ro ip?                   oc-inet:ipv4-address
       |        +--ro link-layer-address    oc-yang:phys-address
       |        +--ro origin?               neighbor-origin
       +--rw unnumbered
       |  +--rw config
       |  |  +--rw enabled?   boolean
       |  +--ro state
       |  |  +--ro enabled?   boolean
       |  +--rw interface-ref
       |     +--rw config
       |     |  +--rw interface?      -> /oc-if:interfaces/interface/name
       |     |  +--rw subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
       |     +--ro state
       |        +--ro interface?      -> /oc-if:interfaces/interface/name
       |        +--ro subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
       +--rw config
       |  +--rw enabled?       boolean
       |  +--rw mtu?           uint16
       |  +--rw dhcp-client?   boolean
       +--ro state
          +--ro enabled?       boolean
          +--ro mtu?           uint16
          +--ro dhcp-client?   boolean
          +--ro counters
             +--ro in-pkts?                oc-yang:counter64
             +--ro in-octets?              oc-yang:counter64
             +--ro in-error-pkts?          oc-yang:counter64
             +--ro in-forwarded-pkts?      oc-yang:counter64
             +--ro in-forwarded-octets?    oc-yang:counter64
             +--ro in-discarded-pkts?      oc-yang:counter64
             +--ro out-pkts?               oc-yang:counter64
             +--ro out-octets?             oc-yang:counter64
             +--ro out-error-pkts?         oc-yang:counter64
             +--ro out-forwarded-pkts?     oc-yang:counter64
             +--ro out-forwarded-octets?   oc-yang:counter64
             +--ro out-discarded-pkts?     oc-yang:counter64
  augment /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface:
    +--rw ipv6
       +--rw addresses
       |  +--rw address* [ip]
       |     +--rw ip        -> ../config/ip
       |     +--rw config
       |     |  +--rw ip?              oc-inet:ipv6-address
       |     |  +--rw prefix-length    uint8
       |     +--ro state
       |     |  +--ro ip?              oc-inet:ipv6-address
       |     |  +--ro prefix-length    uint8
       |     |  +--ro origin?          ip-address-origin
       |     |  +--ro status?          enumeration
       |     +--rw vrrp
       |        +--rw vrrp-group* [virtual-router-id]
       |           +--rw virtual-router-id     -> ../config/virtual-router-id
       |           +--rw config
       |           |  +--rw virtual-router-id?        uint8
       |           |  +--rw virtual-address*          oc-inet:ip-address
       |           |  +--rw priority?                 uint8
       |           |  +--rw preempt?                  boolean
       |           |  +--rw preempt-delay?            uint16
       |           |  +--rw accept-mode?              boolean
       |           |  +--rw advertisement-interval?   uint16
       |           |  +--rw virtual-link-local?       oc-inet:ip-address
       |           +--ro state
       |           |  +--ro virtual-router-id?        uint8
       |           |  +--ro virtual-address*          oc-inet:ip-address
       |           |  +--ro priority?                 uint8
       |           |  +--ro preempt?                  boolean
       |           |  +--ro preempt-delay?            uint16
       |           |  +--ro accept-mode?              boolean
       |           |  +--ro advertisement-interval?   uint16
       |           |  +--ro current-priority?         uint8
       |           |  +--ro virtual-link-local?       oc-inet:ip-address
       |           +--rw interface-tracking
       |              +--rw config
       |              |  +--rw track-interface*      -> /oc-if:interfaces/interface/name
       |              |  +--rw priority-decrement?   uint8
       |              +--ro state
       |                 +--ro track-interface*      -> /oc-if:interfaces/interface/name
       |                 +--ro priority-decrement?   uint8
       +--rw router-advertisement
       |  +--rw config
       |  |  +--rw interval?   uint32
       |  |  +--rw lifetime?   uint32
       |  |  +--rw suppress?   boolean
       |  +--ro state
       |     +--ro interval?   uint32
       |     +--ro lifetime?   uint32
       |     +--ro suppress?   boolean
       +--rw neighbors
       |  +--rw neighbor* [ip]
       |     +--rw ip        -> ../config/ip
       |     +--rw config
       |     |  +--rw ip?                   oc-inet:ipv6-address
       |     |  +--rw link-layer-address    oc-yang:phys-address
       |     +--ro state
       |        +--ro ip?                   oc-inet:ipv6-address
       |        +--ro link-layer-address    oc-yang:phys-address
       |        +--ro origin?               neighbor-origin
       |        +--ro is-router?            boolean
       |        +--ro neighbor-state?       enumeration
       +--rw unnumbered
       |  +--rw config
       |  |  +--rw enabled?   boolean
       |  +--ro state
       |  |  +--ro enabled?   boolean
       |  +--rw interface-ref
       |     +--rw config
       |     |  +--rw interface?      -> /oc-if:interfaces/interface/name
       |     |  +--rw subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
       |     +--ro state
       |        +--ro interface?      -> /oc-if:interfaces/interface/name
       |        +--ro subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
       +--rw config
       |  +--rw enabled?                     boolean
       |  +--rw mtu?                         uint32
       |  +--rw dup-addr-detect-transmits?   uint32
       |  +--rw dhcp-client?                 boolean
       +--ro state
       |  +--ro enabled?                     boolean
       |  +--ro mtu?                         uint32
       |  +--ro dup-addr-detect-transmits?   uint32
       |  +--ro dhcp-client?                 boolean
       |  +--ro counters
       |     +--ro in-pkts?                oc-yang:counter64
       |     +--ro in-octets?              oc-yang:counter64
       |     +--ro in-error-pkts?          oc-yang:counter64
       |     +--ro in-forwarded-pkts?      oc-yang:counter64
       |     +--ro in-forwarded-octets?    oc-yang:counter64
       |     +--ro in-discarded-pkts?      oc-yang:counter64
       |     +--ro out-pkts?               oc-yang:counter64
       |     +--ro out-octets?             oc-yang:counter64
       |     +--ro out-error-pkts?         oc-yang:counter64
       |     +--ro out-forwarded-pkts?     oc-yang:counter64
       |     +--ro out-forwarded-octets?   oc-yang:counter64
       |     +--ro out-discarded-pkts?     oc-yang:counter64
       +--rw oc-ip-ext:autoconf
          +--rw oc-ip-ext:config
          |  +--rw oc-ip-ext:create-global-addresses?        boolean
          |  +--rw oc-ip-ext:create-temporary-addresses?     boolean
          |  +--rw oc-ip-ext:temporary-valid-lifetime?       uint32
          |  +--rw oc-ip-ext:temporary-preferred-lifetime?   uint32
          +--ro oc-ip-ext:state
             +--ro oc-ip-ext:create-global-addresses?        boolean
             +--ro oc-ip-ext:create-temporary-addresses?     boolean
             +--ro oc-ip-ext:temporary-valid-lifetime?       uint32
             +--ro oc-ip-ext:temporary-preferred-lifetime?   uint32

module: openconfig-lldp
  +--rw lldp
     +--rw config
     |  +--rw enabled?                      boolean
     |  +--rw hello-timer?                  uint64
     |  +--rw suppress-tlv-advertisement*   identityref
     |  +--rw system-name?                  string
     |  +--rw system-description?           string
     |  +--rw chassis-id?                   string
     |  +--rw chassis-id-type?              oc-lldp-types:chassis-id-type
     |  +--rw extr-lldp-ext:holdtime?       uint16
     |  +--rw extr-lldp-ext:transmit?       boolean
     |  +--rw extr-lldp-ext:receive?        boolean
     +--ro state
     |  +--ro enabled?                      boolean
     |  +--ro hello-timer?                  uint64
     |  +--ro suppress-tlv-advertisement*   identityref
     |  +--ro system-name?                  string
     |  +--ro system-description?           string
     |  +--ro chassis-id?                   string
     |  +--ro chassis-id-type?              oc-lldp-types:chassis-id-type
     |  +--ro counters
     |  |  +--ro frame-in?     yang:counter64
     |  |  +--ro frame-out?    yang:counter64
     |  |  +--ro last-clear?   yang:date-and-time
     |  +--ro extr-lldp-ext:holdtime?       uint16
     |  +--ro extr-lldp-ext:transmit?       boolean
     |  +--ro extr-lldp-ext:receive?        boolean
     +--rw interfaces
        +--rw interface* [name]
           +--rw name         -> ../config/name
           +--rw config
           |  +--rw name?                     oc-if:base-interface-ref
           |  +--rw enabled?                  boolean
           |  +--rw extr-lldp-ext:transmit?   boolean
           |  +--rw extr-lldp-ext:receive?    boolean
           +--ro state
           |  +--ro name?                     oc-if:base-interface-ref
           |  +--ro enabled?                  boolean
           |  +--ro counters
           |  |  +--ro frame-in?     yang:counter64
           |  |  +--ro frame-out?    yang:counter64
           |  |  +--ro last-clear?   yang:date-and-time
           |  +--ro extr-lldp-ext:transmit?   boolean
           |  +--ro extr-lldp-ext:receive?    boolean
           +--ro neighbors
              +--ro neighbor* [id]
                 +--ro id              -> ../state/id
                 +--ro config
                 +--ro state
                 |  +--ro system-name?               string
                 |  +--ro system-description?        string
                 |  +--ro chassis-id?                string
                 |  +--ro chassis-id-type?           oc-lldp-types:chassis-id-type
                 |  +--ro id?                        string
                 |  +--ro age?                       uint64
                 |  +--ro last-update?               int64
                 |  +--ro ttl?                       uint16
                 |  +--ro port-id?                   string
                 |  +--ro port-id-type?              oc-lldp-types:port-id-type
                 |  +--ro port-description?          string
                 |  +--ro management-address?        string
                 |  +--ro management-address-type?   string
                 +--ro capabilities
                    +--ro capability* [name]
                       +--ro name      -> ../state/name
                       +--ro config
                       +--ro state
                          +--ro name?      identityref
                          +--ro enabled?   boolean

module: openconfig-lacp
  +--rw lacp
     +--rw config
     |  +--rw system-priority?         uint16
     |  +--rw extr-lacp-ext:enabled?   boolean
     +--ro state
     |  +--ro system-priority?         uint16
     |  +--ro extr-lacp-ext:enabled?   boolean
     +--rw interfaces
        +--rw interface* [name]
           +--rw name       -> ../config/name
           +--rw config
           |  +--rw name?              oc-if:base-interface-ref
           |  +--rw interval?          lacp-period-type
           |  +--rw lacp-mode?         lacp-activity-type
           |  +--rw system-id-mac?     oc-yang:mac-address
           |  +--rw system-priority?   uint16
           +--ro state
           |  +--ro name?              oc-if:base-interface-ref
           |  +--ro interval?          lacp-period-type
           |  +--ro lacp-mode?         lacp-activity-type
           |  +--ro system-id-mac?     oc-yang:mac-address
           |  +--ro system-priority?   uint16
           +--ro members
              +--ro member* [interface]
                 +--ro interface    -> ../state/interface
                 +--ro state
                    +--ro interface?                                     oc-if:base-interface-ref
                    +--ro activity?                                      lacp-activity-type
                    +--ro timeout?                                       lacp-timeout-type
                    +--ro synchronization?                               lacp-synchronization-type
                    +--ro aggregatable?                                  boolean
                    +--ro collecting?                                    boolean
                    +--ro distributing?                                  boolean
                    +--ro system-id?                                     oc-yang:mac-address
                    +--ro oper-key?                                      uint16
                    +--ro partner-id?                                    oc-yang:mac-address
                    +--ro partner-key?                                   uint16
                    +--ro port-num?                                      uint16
                    +--ro partner-port-num?                              uint16
                    +--ro counters
                    |  +--ro lacp-in-pkts?          oc-yang:counter64
                    |  +--ro lacp-out-pkts?         oc-yang:counter64
                    |  +--ro lacp-rx-errors?        oc-yang:counter64
                    |  +--ro lacp-tx-errors?        oc-yang:counter64
                    |  +--ro lacp-unknown-errors?   oc-yang:counter64
                    |  +--ro lacp-errors?           oc-yang:counter64
                    +--ro extr-lacp-ext:rx-machine?                      rx-machine-state
                    +--ro extr-lacp-ext:rx-time?                         uint32
                    +--ro extr-lacp-ext:tx-machine?                      tx-machine-state
                    +--ro extr-lacp-ext:mux-machine?                     mux-machine-state
                    +--ro extr-lacp-ext:mux-reason?                      string
                    +--ro extr-lacp-ext:actor-churn-machine?             churn-machine-state
                    +--ro extr-lacp-ext:partner-churn-machine?           churn-machine-state
                    +--ro extr-lacp-ext:actor-churn-count?               oc-yang:counter64
                    +--ro extr-lacp-ext:partner-churn-count?             oc-yang:counter64
                    +--ro extr-lacp-ext:actor-sync-transition-count?     oc-yang:counter64
                    +--ro extr-lacp-ext:partner-sync-transition-count?   oc-yang:counter64
                    +--ro extr-lacp-ext:actor-change-count?              oc-yang:counter64
                    +--ro extr-lacp-ext:partner-change-count?            oc-yang:counter64
                    +--ro extr-lacp-ext:actor-cds-churn-machine?         churn-machine-state
                    +--ro extr-lacp-ext:partner-cds-churn-machine?       churn-machine-state
                    +--ro extr-lacp-ext:actor-cds-churn-count?           oc-yang:counter64
                    +--ro extr-lacp-ext:partner-cds-churn-count?         oc-yang:counter64

module: openconfig-platform
  +--rw components
     +--rw component* [name]
        +--rw name                          -> ../config/name
        +--rw config
        |  +--rw name?   string
        +--ro state
        |  +--ro name?                           string
        |  +--ro type?                           union
        |  +--ro id?                             string
        |  +--ro location?                       string
        |  +--ro description?                    string
        |  +--ro mfg-name?                       string
        |  +--ro mfg-date?                       oc-yang:date
        |  +--ro hardware-version?               string
        |  +--ro firmware-version?               string
        |  +--ro software-version?               string
        |  +--ro serial-no?                      string
        |  +--ro part-no?                        string
        |  +--ro removable?                      boolean
        |  +--ro oper-status?                    identityref
        |  +--ro empty?                          boolean
        |  +--ro parent?                         -> ../../../component/config/name
        |  +--ro temperature
        |  |  +--ro instant?           decimal64
        |  |  +--ro avg?               decimal64
        |  |  +--ro min?               decimal64
        |  |  +--ro max?               decimal64
        |  |  +--ro interval?          oc-types:stat-interval
        |  |  +--ro min-time?          oc-types:timeticks64
        |  |  +--ro max-time?          oc-types:timeticks64
        |  |  +--ro alarm-status?      boolean
        |  |  +--ro alarm-threshold?   uint32
        |  |  +--ro alarm-severity?    identityref
        |  +--ro memory
        |  |  +--ro available?   uint64
        |  |  +--ro utilized?    uint64
        |  +--ro allocated-power?                uint32
        |  +--ro used-power?                     uint32
        |  +--ro oc-alarms:equipment-failure?    boolean
        |  +--ro oc-alarms:equipment-mismatch?   boolean
        +--rw properties
        |  +--rw property* [name]
        |     +--rw name      -> ../config/name
        |     +--rw config
        |     |  +--rw name?    string
        |     |  +--rw value?   union
        |     +--ro state
        |        +--ro name?           string
        |        +--ro value?          union
        |        +--ro configurable?   boolean
        +--rw subcomponents
        |  +--rw subcomponent* [name]
        |     +--rw name      -> ../config/name
        |     +--rw config
        |     |  +--rw name?   -> ../../../../../component/config/name
        |     +--ro state
        |        +--ro name?   -> ../../../../../component/config/name
        +--rw chassis
        |  +--rw config
        |  +--ro state
        +--rw port
        |  +--rw config
        |  +--ro state
        |  +--rw oc-port:breakout-mode
        |     +--rw oc-port:groups
        |        +--rw oc-port:group* [index]
        |           +--rw oc-port:index     -> ../config/index
        |           +--rw oc-port:config
        |           |  +--rw oc-port:index?                   uint8
        |           |  +--rw oc-port:num-breakouts?           uint8
        |           |  +--rw oc-port:breakout-speed?          identityref
        |           |  +--rw oc-port:num-physical-channels?   uint8
        |           +--ro oc-port:state
        |              +--ro oc-port:index?                   uint8
        |              +--ro oc-port:num-breakouts?           uint8
        |              +--ro oc-port:breakout-speed?          identityref
        |              +--ro oc-port:num-physical-channels?   uint8
        +--rw power-supply
        |  +--rw config
        |  |  +--rw oc-platform-psu:enabled?   boolean
        |  +--ro state
        |     +--ro oc-platform-psu:enabled?          boolean
        |     +--ro oc-platform-psu:capacity?         oc-types:ieeefloat32
        |     +--ro oc-platform-psu:input-current?    oc-types:ieeefloat32
        |     +--ro oc-platform-psu:input-voltage?    oc-types:ieeefloat32
        |     +--ro oc-platform-psu:output-current?   oc-types:ieeefloat32
        |     +--ro oc-platform-psu:output-voltage?   oc-types:ieeefloat32
        |     +--ro oc-platform-psu:output-power?     oc-types:ieeefloat32
        +--rw fan
        |  +--rw config
        |  +--ro state
        |     +--ro oc-fan:speed?   uint32
        +--rw fabric
        |  +--rw config
        |  +--ro state
        +--rw storage
        |  +--rw config
        |  +--ro state
        +--rw cpu
        |  +--rw config
        |  +--ro state
        |  +--rw oc-cpu:utilization
        |     +--ro oc-cpu:state
        |        +--ro oc-cpu:instant?    oc-types:percentage
        |        +--ro oc-cpu:avg?        oc-types:percentage
        |        +--ro oc-cpu:min?        oc-types:percentage
        |        +--ro oc-cpu:max?        oc-types:percentage
        |        +--ro oc-cpu:interval?   oc-types:stat-interval
        |        +--ro oc-cpu:min-time?   oc-types:timeticks64
        |        +--ro oc-cpu:max-time?   oc-types:timeticks64
        +--rw integrated-circuit
        |  +--rw config
        |  +--ro state
        +--rw backplane
        |  +--rw config
        |  +--ro state
        +--rw software-module
        |  +--rw config
        |  +--ro state
        +--rw oc-transceiver:transceiver
        |  +--rw oc-transceiver:config
        |  |  +--rw oc-transceiver:enabled?                  boolean
        |  |  +--rw oc-transceiver:form-factor-preconf?      identityref
        |  |  +--rw oc-transceiver:ethernet-pmd-preconf?     identityref
        |  |  +--rw oc-transceiver:fec-mode?                 identityref
        |  |  +--rw oc-transceiver:module-functional-type?   identityref
        |  +--ro oc-transceiver:state
        |  |  +--ro oc-transceiver:enabled?                     boolean
        |  |  +--ro oc-transceiver:form-factor-preconf?         identityref
        |  |  +--ro oc-transceiver:ethernet-pmd-preconf?        identityref
        |  |  +--ro oc-transceiver:fec-mode?                    identityref
        |  |  +--ro oc-transceiver:module-functional-type?      identityref
        |  |  +--ro oc-transceiver:present?                     enumeration
        |  |  +--ro oc-transceiver:form-factor?                 identityref
        |  |  +--ro oc-transceiver:connector-type?              identityref
        |  |  +--ro oc-transceiver:vendor?                      string
        |  |  +--ro oc-transceiver:vendor-part?                 string
        |  |  +--ro oc-transceiver:vendor-rev?                  string
        |  |  +--ro oc-transceiver:ethernet-pmd?                identityref
        |  |  +--ro oc-transceiver:sonet-sdh-compliance-code?   identityref
        |  |  +--ro oc-transceiver:otn-compliance-code?         identityref
        |  |  +--ro oc-transceiver:serial-no?                   string
        |  |  +--ro oc-transceiver:date-code?                   oc-yang:date-and-time
        |  |  +--ro oc-transceiver:fault-condition?             boolean
        |  |  +--ro oc-transceiver:fec-status?                  identityref
        |  |  +--ro oc-transceiver:fec-uncorrectable-blocks?    yang:counter64
        |  |  +--ro oc-transceiver:fec-uncorrectable-words?     yang:counter64
        |  |  +--ro oc-transceiver:fec-corrected-bytes?         yang:counter64
        |  |  +--ro oc-transceiver:fec-corrected-bits?          yang:counter64
        |  |  +--ro oc-transceiver:pre-fec-ber
        |  |  |  +--ro oc-transceiver:instant?    decimal64
        |  |  |  +--ro oc-transceiver:avg?        decimal64
        |  |  |  +--ro oc-transceiver:min?        decimal64
        |  |  |  +--ro oc-transceiver:max?        decimal64
        |  |  |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |  |  |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |  |  |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |  |  +--ro oc-transceiver:post-fec-ber
        |  |  |  +--ro oc-transceiver:instant?    decimal64
        |  |  |  +--ro oc-transceiver:avg?        decimal64
        |  |  |  +--ro oc-transceiver:min?        decimal64
        |  |  |  +--ro oc-transceiver:max?        decimal64
        |  |  |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |  |  |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |  |  |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |  |  +--ro oc-transceiver:output-power
        |  |  |  +--ro oc-transceiver:instant?    decimal64
        |  |  |  +--ro oc-transceiver:avg?        decimal64
        |  |  |  +--ro oc-transceiver:min?        decimal64
        |  |  |  +--ro oc-transceiver:max?        decimal64
        |  |  |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |  |  |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |  |  |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |  |  +--ro oc-transceiver:input-power
        |  |  |  +--ro oc-transceiver:instant?    decimal64
        |  |  |  +--ro oc-transceiver:avg?        decimal64
        |  |  |  +--ro oc-transceiver:min?        decimal64
        |  |  |  +--ro oc-transceiver:max?        decimal64
        |  |  |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |  |  |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |  |  |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |  |  +--ro oc-transceiver:laser-bias-current
        |  |  |  +--ro oc-transceiver:instant?    decimal64
        |  |  |  +--ro oc-transceiver:avg?        decimal64
        |  |  |  +--ro oc-transceiver:min?        decimal64
        |  |  |  +--ro oc-transceiver:max?        decimal64
        |  |  |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |  |  |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |  |  |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |  |  +--ro extr-transceiver-ext:temperature
        |  |  |  +--ro extr-transceiver-ext:avg?        decimal64
        |  |  |  +--ro extr-transceiver-ext:min?        decimal64
        |  |  |  +--ro extr-transceiver-ext:max?        decimal64
        |  |  |  +--ro extr-transceiver-ext:interval?   oc-types:stat-interval
        |  |  |  +--ro extr-transceiver-ext:min-time?   oc-types:timeticks64
        |  |  |  +--ro extr-transceiver-ext:max-time?   oc-types:timeticks64
        |  |  +--ro extr-transceiver-ext:voltage
        |  |     +--ro extr-transceiver-ext:avg?        decimal64
        |  |     +--ro extr-transceiver-ext:min?        decimal64
        |  |     +--ro extr-transceiver-ext:max?        decimal64
        |  |     +--ro extr-transceiver-ext:interval?   oc-types:stat-interval
        |  |     +--ro extr-transceiver-ext:min-time?   oc-types:timeticks64
        |  |     +--ro extr-transceiver-ext:max-time?   oc-types:timeticks64
        |  +--rw oc-transceiver:physical-channels
        |     +--rw oc-transceiver:channel* [index]
        |        +--rw oc-transceiver:index     -> ../config/index
        |        +--rw oc-transceiver:config
        |        |  +--rw oc-transceiver:index?                        uint16
        |        |  +--rw oc-transceiver:associated-optical-channel?   -> /oc-platform:components/component/name
        |        |  +--rw oc-transceiver:description?                  string
        |        |  +--rw oc-transceiver:tx-laser?                     boolean
        |        |  +--rw oc-transceiver:target-output-power?          decimal64
        |        +--ro oc-transceiver:state
        |           +--ro oc-transceiver:index?                        uint16
        |           +--ro oc-transceiver:associated-optical-channel?   -> /oc-platform:components/component/name
        |           +--ro oc-transceiver:description?                  string
        |           +--ro oc-transceiver:tx-laser?                     boolean
        |           +--ro oc-transceiver:target-output-power?          decimal64
        |           +--ro oc-transceiver:output-frequency?             oc-opt-types:frequency-type
        |           +--ro oc-transceiver:output-power
        |           |  +--ro oc-transceiver:instant?    decimal64
        |           |  +--ro oc-transceiver:avg?        decimal64
        |           |  +--ro oc-transceiver:min?        decimal64
        |           |  +--ro oc-transceiver:max?        decimal64
        |           |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |           |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |           |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |           +--ro oc-transceiver:input-power
        |           |  +--ro oc-transceiver:instant?    decimal64
        |           |  +--ro oc-transceiver:avg?        decimal64
        |           |  +--ro oc-transceiver:min?        decimal64
        |           |  +--ro oc-transceiver:max?        decimal64
        |           |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |           |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |           |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |           +--ro oc-transceiver:laser-bias-current
        |           |  +--ro oc-transceiver:instant?    decimal64
        |           |  +--ro oc-transceiver:avg?        decimal64
        |           |  +--ro oc-transceiver:min?        decimal64
        |           |  +--ro oc-transceiver:max?        decimal64
        |           |  +--ro oc-transceiver:interval?   oc-types:stat-interval
        |           |  +--ro oc-transceiver:min-time?   oc-types:timeticks64
        |           |  +--ro oc-transceiver:max-time?   oc-types:timeticks64
        |           +--ro extr-transceiver-ext:temperature
        |           |  +--ro extr-transceiver-ext:avg?        decimal64
        |           |  +--ro extr-transceiver-ext:min?        decimal64
        |           |  +--ro extr-transceiver-ext:max?        decimal64
        |           |  +--ro extr-transceiver-ext:interval?   oc-types:stat-interval
        |           |  +--ro extr-transceiver-ext:min-time?   oc-types:timeticks64
        |           |  +--ro extr-transceiver-ext:max-time?   oc-types:timeticks64
        |           +--ro extr-transceiver-ext:voltage
        |              +--ro extr-transceiver-ext:avg?        decimal64
        |              +--ro extr-transceiver-ext:min?        decimal64
        |              +--ro extr-transceiver-ext:max?        decimal64
        |              +--ro extr-transceiver-ext:interval?   oc-types:stat-interval
        |              +--ro extr-transceiver-ext:min-time?   oc-types:timeticks64
        |              +--ro extr-transceiver-ext:max-time?   oc-types:timeticks64
        +--rw oc-linecard:linecard
           +--rw oc-linecard:config
           |  +--rw oc-linecard:power-admin-state?     oc-platform-types:component-power-type
           |  +--rw extr-linecard-ext:linecard-type?   linecard
           +--ro oc-linecard:state
              +--ro oc-linecard:power-admin-state?     oc-platform-types:component-power-type
              +--ro oc-linecard:slot-id?               string
              +--ro extr-linecard-ext:linecard-type?   linecard

module: openconfig-platform-port

  augment /oc-if:interfaces/oc-if:interface/oc-if:state:
    +--ro hardware-port?   -> /oc-platform:components/component/name

module: openconfig-platform-transceiver

  augment /oc-if:interfaces/oc-if:interface/oc-if:state:
    +--ro transceiver?   -> /oc-platform:components/component[oc-platform:name=current()/../oc-port:hardware-port]/oc-platform:subcomponents/subcomponent/name
  augment /oc-if:interfaces/oc-if:interface/oc-if:state:
    +--ro physical-channel*   -> /oc-platform:components/component[oc-platform:name=current()/../oc-transceiver:transceiver]/transceiver/physical-channels/channel/index

module: openconfig-vlan

  augment /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface:
    +--rw vlan
       +--rw config
       |  x--rw vlan-id?   union
       +--ro state
       |  x--ro vlan-id?   union
       +--rw match
       |  +--rw single-tagged
       |  |  +--rw config
       |  |  |  +--rw vlan-id?   oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro vlan-id?   oc-vlan-types:vlan-id
       |  +--rw single-tagged-list
       |  |  +--rw config
       |  |  |  +--rw vlan-ids*   oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro vlan-ids*   oc-vlan-types:vlan-id
       |  +--rw single-tagged-range
       |  |  +--rw config
       |  |  |  +--rw low-vlan-id?    oc-vlan-types:vlan-id
       |  |  |  +--rw high-vlan-id?   oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro low-vlan-id?    oc-vlan-types:vlan-id
       |  |     +--ro high-vlan-id?   oc-vlan-types:vlan-id
       |  +--rw double-tagged
       |  |  +--rw config
       |  |  |  +--rw inner-vlan-id?   oc-vlan-types:vlan-id
       |  |  |  +--rw outer-vlan-id?   oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro inner-vlan-id?   oc-vlan-types:vlan-id
       |  |     +--ro outer-vlan-id?   oc-vlan-types:vlan-id
       |  +--rw double-tagged-inner-list
       |  |  +--rw config
       |  |  |  +--rw inner-vlan-ids*   oc-vlan-types:vlan-id
       |  |  |  +--rw outer-vlan-id?    oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro inner-vlan-ids*   oc-vlan-types:vlan-id
       |  |     +--ro outer-vlan-id?    oc-vlan-types:vlan-id
       |  +--rw double-tagged-outer-list
       |  |  +--rw config
       |  |  |  +--rw inner-vlan-id?    oc-vlan-types:vlan-id
       |  |  |  +--rw outer-vlan-ids*   oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro inner-vlan-id?    oc-vlan-types:vlan-id
       |  |     +--ro outer-vlan-ids*   oc-vlan-types:vlan-id
       |  +--rw double-tagged-inner-range
       |  |  +--rw config
       |  |  |  +--rw inner-low-vlan-id?    oc-vlan-types:vlan-id
       |  |  |  +--rw inner-high-vlan-id?   oc-vlan-types:vlan-id
       |  |  |  +--rw outer-vlan-id*        oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro inner-low-vlan-id?    oc-vlan-types:vlan-id
       |  |     +--ro inner-high-vlan-id?   oc-vlan-types:vlan-id
       |  |     +--ro outer-vlan-id*        oc-vlan-types:vlan-id
       |  +--rw double-tagged-outer-range
       |  |  +--rw config
       |  |  |  +--rw inner-vlan-id?        oc-vlan-types:vlan-id
       |  |  |  +--rw outer-low-vlan-id?    oc-vlan-types:vlan-id
       |  |  |  +--rw outer-high-vlan-id?   oc-vlan-types:vlan-id
       |  |  +--ro state
       |  |     +--ro inner-vlan-id?        oc-vlan-types:vlan-id
       |  |     +--ro outer-low-vlan-id?    oc-vlan-types:vlan-id
       |  |     +--ro outer-high-vlan-id?   oc-vlan-types:vlan-id
       |  +--rw double-tagged-inner-outer-range
       |     +--rw config
       |     |  +--rw inner-low-vlan-id?    oc-vlan-types:vlan-id
       |     |  +--rw inner-high-vlan-id?   oc-vlan-types:vlan-id
       |     |  +--rw outer-low-vlan-id?    oc-vlan-types:vlan-id
       |     |  +--rw outer-high-vlan-id?   oc-vlan-types:vlan-id
       |     +--ro state
       |        +--ro inner-low-vlan-id?    oc-vlan-types:vlan-id
       |        +--ro inner-high-vlan-id?   oc-vlan-types:vlan-id
       |        +--ro outer-low-vlan-id?    oc-vlan-types:vlan-id
       |        +--ro outer-high-vlan-id?   oc-vlan-types:vlan-id
       +--rw ingress-mapping
       |  +--rw config
       |  |  +--rw vlan-stack-action?   oc-vlan-types:vlan-stack-action
       |  |  +--rw vlan-id?             oc-vlan-types:vlan-id
       |  |  +--rw tpid?                identityref
       |  +--ro state
       |     +--ro vlan-stack-action?   oc-vlan-types:vlan-stack-action
       |     +--ro vlan-id?             oc-vlan-types:vlan-id
       |     +--ro tpid?                identityref
       +--rw egress-mapping
          +--rw config
          |  +--rw vlan-stack-action?   oc-vlan-types:vlan-stack-action
          |  +--rw vlan-id?             oc-vlan-types:vlan-id
          |  +--rw tpid?                identityref
          +--ro state
             +--ro vlan-stack-action?   oc-vlan-types:vlan-stack-action
             +--ro vlan-id?             oc-vlan-types:vlan-id
             +--ro tpid?                identityref
  augment /oc-if:interfaces/oc-if:interface/oc-if:config:
    +--rw tpid?   identityref
  augment /oc-if:interfaces/oc-if:interface/oc-if:state:
    +--ro tpid?   identityref
  augment /oc-if:interfaces/oc-if:interface/oc-eth:ethernet:
    +--rw switched-vlan
       +--rw config
       |  +--rw interface-mode?   oc-vlan-types:vlan-mode-type
       |  +--rw native-vlan?      oc-vlan-types:vlan-id
       |  +--rw access-vlan?      oc-vlan-types:vlan-id
       |  +--rw trunk-vlans*      union
       +--ro state
          +--ro interface-mode?   oc-vlan-types:vlan-mode-type
          +--ro native-vlan?      oc-vlan-types:vlan-id
          +--ro access-vlan?      oc-vlan-types:vlan-id
          +--ro trunk-vlans*      union
  augment /oc-if:interfaces/oc-if:interface/oc-lag:aggregation:
    +--rw switched-vlan
       +--rw config
       |  +--rw interface-mode?   oc-vlan-types:vlan-mode-type
       |  +--rw native-vlan?      oc-vlan-types:vlan-id
       |  +--rw access-vlan?      oc-vlan-types:vlan-id
       |  +--rw trunk-vlans*      union
       +--ro state
          +--ro interface-mode?   oc-vlan-types:vlan-mode-type
          +--ro native-vlan?      oc-vlan-types:vlan-id
          +--ro access-vlan?      oc-vlan-types:vlan-id
          +--ro trunk-vlans*      union
  augment /oc-if:interfaces/oc-if:interface:
    +--rw routed-vlan
       +--rw config
       |  +--rw vlan?   union
       +--ro state
       |  +--ro vlan?   union
       +--rw oc-ip:ipv4
       |  +--rw oc-ip:addresses
       |  |  +--rw oc-ip:address* [ip]
       |  |     +--rw oc-ip:ip        -> ../config/ip
       |  |     +--rw oc-ip:config
       |  |     |  +--rw oc-ip:ip?              oc-inet:ipv4-address
       |  |     |  +--rw oc-ip:prefix-length?   uint8
       |  |     +--ro oc-ip:state
       |  |     |  +--ro oc-ip:ip?              oc-inet:ipv4-address
       |  |     |  +--ro oc-ip:prefix-length?   uint8
       |  |     |  +--ro oc-ip:origin?          ip-address-origin
       |  |     +--rw oc-ip:vrrp
       |  |        +--rw oc-ip:vrrp-group* [virtual-router-id]
       |  |           +--rw oc-ip:virtual-router-id     -> ../config/virtual-router-id
       |  |           +--rw oc-ip:config
       |  |           |  +--rw oc-ip:virtual-router-id?        uint8
       |  |           |  +--rw oc-ip:virtual-address*          oc-inet:ip-address
       |  |           |  +--rw oc-ip:priority?                 uint8
       |  |           |  +--rw oc-ip:preempt?                  boolean
       |  |           |  +--rw oc-ip:preempt-delay?            uint16
       |  |           |  +--rw oc-ip:accept-mode?              boolean
       |  |           |  +--rw oc-ip:advertisement-interval?   uint16
       |  |           +--ro oc-ip:state
       |  |           |  +--ro oc-ip:virtual-router-id?        uint8
       |  |           |  +--ro oc-ip:virtual-address*          oc-inet:ip-address
       |  |           |  +--ro oc-ip:priority?                 uint8
       |  |           |  +--ro oc-ip:preempt?                  boolean
       |  |           |  +--ro oc-ip:preempt-delay?            uint16
       |  |           |  +--ro oc-ip:accept-mode?              boolean
       |  |           |  +--ro oc-ip:advertisement-interval?   uint16
       |  |           |  +--ro oc-ip:current-priority?         uint8
       |  |           +--rw oc-ip:interface-tracking
       |  |              +--rw oc-ip:config
       |  |              |  +--rw oc-ip:track-interface*      -> /oc-if:interfaces/interface/name
       |  |              |  +--rw oc-ip:priority-decrement?   uint8
       |  |              +--ro oc-ip:state
       |  |                 +--ro oc-ip:track-interface*      -> /oc-if:interfaces/interface/name
       |  |                 +--ro oc-ip:priority-decrement?   uint8
       |  +--rw oc-ip:proxy-arp
       |  |  +--rw oc-ip:config
       |  |  |  +--rw oc-ip:mode?   enumeration
       |  |  +--ro oc-ip:state
       |  |     +--ro oc-ip:mode?   enumeration
       |  +--rw oc-ip:neighbors
       |  |  +--rw oc-ip:neighbor* [ip]
       |  |     +--rw oc-ip:ip        -> ../config/ip
       |  |     +--rw oc-ip:config
       |  |     |  +--rw oc-ip:ip?                   oc-inet:ipv4-address
       |  |     |  +--rw oc-ip:link-layer-address    oc-yang:phys-address
       |  |     +--ro oc-ip:state
       |  |        +--ro oc-ip:ip?                   oc-inet:ipv4-address
       |  |        +--ro oc-ip:link-layer-address    oc-yang:phys-address
       |  |        +--ro oc-ip:origin?               neighbor-origin
       |  +--rw oc-ip:unnumbered
       |  |  +--rw oc-ip:config
       |  |  |  +--rw oc-ip:enabled?   boolean
       |  |  +--ro oc-ip:state
       |  |  |  +--ro oc-ip:enabled?   boolean
       |  |  +--rw oc-ip:interface-ref
       |  |     +--rw oc-ip:config
       |  |     |  +--rw oc-ip:interface?      -> /oc-if:interfaces/interface/name
       |  |     |  +--rw oc-ip:subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
       |  |     +--ro oc-ip:state
       |  |        +--ro oc-ip:interface?      -> /oc-if:interfaces/interface/name
       |  |        +--ro oc-ip:subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
       |  +--rw oc-ip:config
       |  |  +--rw oc-ip:enabled?       boolean
       |  |  +--rw oc-ip:mtu?           uint16
       |  |  +--rw oc-ip:dhcp-client?   boolean
       |  +--ro oc-ip:state
       |     +--ro oc-ip:enabled?       boolean
       |     +--ro oc-ip:mtu?           uint16
       |     +--ro oc-ip:dhcp-client?   boolean
       |     +--ro oc-ip:counters
       |        +--ro oc-ip:in-pkts?                oc-yang:counter64
       |        +--ro oc-ip:in-octets?              oc-yang:counter64
       |        +--ro oc-ip:in-error-pkts?          oc-yang:counter64
       |        +--ro oc-ip:in-forwarded-pkts?      oc-yang:counter64
       |        +--ro oc-ip:in-forwarded-octets?    oc-yang:counter64
       |        +--ro oc-ip:in-discarded-pkts?      oc-yang:counter64
       |        +--ro oc-ip:out-pkts?               oc-yang:counter64
       |        +--ro oc-ip:out-octets?             oc-yang:counter64
       |        +--ro oc-ip:out-error-pkts?         oc-yang:counter64
       |        +--ro oc-ip:out-forwarded-pkts?     oc-yang:counter64
       |        +--ro oc-ip:out-forwarded-octets?   oc-yang:counter64
       |        +--ro oc-ip:out-discarded-pkts?     oc-yang:counter64
       +--rw oc-ip:ipv6
          +--rw oc-ip:addresses
          |  +--rw oc-ip:address* [ip]
          |     +--rw oc-ip:ip        -> ../config/ip
          |     +--rw oc-ip:config
          |     |  +--rw oc-ip:ip?              oc-inet:ipv6-address
          |     |  +--rw oc-ip:prefix-length    uint8
          |     +--ro oc-ip:state
          |     |  +--ro oc-ip:ip?              oc-inet:ipv6-address
          |     |  +--ro oc-ip:prefix-length    uint8
          |     |  +--ro oc-ip:origin?          ip-address-origin
          |     |  +--ro oc-ip:status?          enumeration
          |     +--rw oc-ip:vrrp
          |        +--rw oc-ip:vrrp-group* [virtual-router-id]
          |           +--rw oc-ip:virtual-router-id     -> ../config/virtual-router-id
          |           +--rw oc-ip:config
          |           |  +--rw oc-ip:virtual-router-id?        uint8
          |           |  +--rw oc-ip:virtual-address*          oc-inet:ip-address
          |           |  +--rw oc-ip:priority?                 uint8
          |           |  +--rw oc-ip:preempt?                  boolean
          |           |  +--rw oc-ip:preempt-delay?            uint16
          |           |  +--rw oc-ip:accept-mode?              boolean
          |           |  +--rw oc-ip:advertisement-interval?   uint16
          |           |  +--rw oc-ip:virtual-link-local?       oc-inet:ip-address
          |           +--ro oc-ip:state
          |           |  +--ro oc-ip:virtual-router-id?        uint8
          |           |  +--ro oc-ip:virtual-address*          oc-inet:ip-address
          |           |  +--ro oc-ip:priority?                 uint8
          |           |  +--ro oc-ip:preempt?                  boolean
          |           |  +--ro oc-ip:preempt-delay?            uint16
          |           |  +--ro oc-ip:accept-mode?              boolean
          |           |  +--ro oc-ip:advertisement-interval?   uint16
          |           |  +--ro oc-ip:current-priority?         uint8
          |           |  +--ro oc-ip:virtual-link-local?       oc-inet:ip-address
          |           +--rw oc-ip:interface-tracking
          |              +--rw oc-ip:config
          |              |  +--rw oc-ip:track-interface*      -> /oc-if:interfaces/interface/name
          |              |  +--rw oc-ip:priority-decrement?   uint8
          |              +--ro oc-ip:state
          |                 +--ro oc-ip:track-interface*      -> /oc-if:interfaces/interface/name
          |                 +--ro oc-ip:priority-decrement?   uint8
          +--rw oc-ip:router-advertisement
          |  +--rw oc-ip:config
          |  |  +--rw oc-ip:interval?   uint32
          |  |  +--rw oc-ip:lifetime?   uint32
          |  |  +--rw oc-ip:suppress?   boolean
          |  +--ro oc-ip:state
          |     +--ro oc-ip:interval?   uint32
          |     +--ro oc-ip:lifetime?   uint32
          |     +--ro oc-ip:suppress?   boolean
          +--rw oc-ip:neighbors
          |  +--rw oc-ip:neighbor* [ip]
          |     +--rw oc-ip:ip        -> ../config/ip
          |     +--rw oc-ip:config
          |     |  +--rw oc-ip:ip?                   oc-inet:ipv6-address
          |     |  +--rw oc-ip:link-layer-address    oc-yang:phys-address
          |     +--ro oc-ip:state
          |        +--ro oc-ip:ip?                   oc-inet:ipv6-address
          |        +--ro oc-ip:link-layer-address    oc-yang:phys-address
          |        +--ro oc-ip:origin?               neighbor-origin
          |        +--ro oc-ip:is-router?            boolean
          |        +--ro oc-ip:neighbor-state?       enumeration
          +--rw oc-ip:unnumbered
          |  +--rw oc-ip:config
          |  |  +--rw oc-ip:enabled?   boolean
          |  +--ro oc-ip:state
          |  |  +--ro oc-ip:enabled?   boolean
          |  +--rw oc-ip:interface-ref
          |     +--rw oc-ip:config
          |     |  +--rw oc-ip:interface?      -> /oc-if:interfaces/interface/name
          |     |  +--rw oc-ip:subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
          |     +--ro oc-ip:state
          |        +--ro oc-ip:interface?      -> /oc-if:interfaces/interface/name
          |        +--ro oc-ip:subinterface?   -> /oc-if:interfaces/interface[oc-if:name=current()/../interface]/subinterfaces/subinterface/index
          +--rw oc-ip:config
          |  +--rw oc-ip:enabled?                     boolean
          |  +--rw oc-ip:mtu?                         uint32
          |  +--rw oc-ip:dup-addr-detect-transmits?   uint32
          |  +--rw oc-ip:dhcp-client?                 boolean
          +--ro oc-ip:state
             +--ro oc-ip:enabled?                     boolean
             +--ro oc-ip:mtu?                         uint32
             +--ro oc-ip:dup-addr-detect-transmits?   uint32
             +--ro oc-ip:dhcp-client?                 boolean
             +--ro oc-ip:counters
                +--ro oc-ip:in-pkts?                oc-yang:counter64
                +--ro oc-ip:in-octets?              oc-yang:counter64
                +--ro oc-ip:in-error-pkts?          oc-yang:counter64
                +--ro oc-ip:in-forwarded-pkts?      oc-yang:counter64
                +--ro oc-ip:in-forwarded-octets?    oc-yang:counter64
                +--ro oc-ip:in-discarded-pkts?      oc-yang:counter64
                +--ro oc-ip:out-pkts?               oc-yang:counter64
                +--ro oc-ip:out-octets?             oc-yang:counter64
                +--ro oc-ip:out-error-pkts?         oc-yang:counter64
                +--ro oc-ip:out-forwarded-pkts?     oc-yang:counter64
                +--ro oc-ip:out-forwarded-octets?   oc-yang:counter64
                +--ro oc-ip:out-discarded-pkts?     oc-yang:counter64

module: openconfig-system
  +--rw system
     +--rw config
     |  +--rw hostname?       oc-inet:domain-name
     |  +--rw domain-name?    oc-inet:domain-name
     |  +--rw login-banner?   string
     |  +--rw motd-banner?    string
     +--ro state
     |  +--ro hostname?           oc-inet:domain-name
     |  +--ro domain-name?        oc-inet:domain-name
     |  +--ro login-banner?       string
     |  +--ro motd-banner?        string
     |  +--ro current-datetime?   oc-yang:date-and-time
     |  +--ro boot-time?          oc-types:timeticks64
     +--rw clock
     |  +--rw config
     |  |  +--rw timezone-name?   timezone-name-type
     |  +--ro state
     |     +--ro timezone-name?   timezone-name-type
     +--rw dns
     |  +--rw config
     |  |  +--rw search*   oc-inet:domain-name
     |  +--ro state
     |  |  +--ro search*   oc-inet:domain-name
     |  +--rw servers
     |     +--rw server* [address]
     |        +--rw address    -> ../config/address
     |        +--rw config
     |        |  +--rw address?   oc-inet:ip-address
     |        |  +--rw port?      oc-inet:port-number
     |        +--ro state
     |           +--ro address?   oc-inet:ip-address
     |           +--ro port?      oc-inet:port-number
     +--rw ntp
     |  +--rw config
     |  |  +--rw enabled?              boolean
     |  |  +--rw ntp-source-address?   oc-inet:ip-address
     |  |  +--rw enable-ntp-auth?      boolean
     |  +--ro state
     |  |  +--ro enabled?              boolean
     |  |  +--ro ntp-source-address?   oc-inet:ip-address
     |  |  +--ro enable-ntp-auth?      boolean
     |  +--rw ntp-keys
     |  |  +--rw ntp-key* [key-id]
     |  |     +--rw key-id    -> ../config/key-id
     |  |     +--rw config
     |  |     |  +--rw key-id?      uint16
     |  |     |  +--rw key-type?    identityref
     |  |     |  +--rw key-value?   string
     |  |     +--ro state
     |  |        +--ro key-id?      uint16
     |  |        +--ro key-type?    identityref
     |  |        +--ro key-value?   string
     |  +--rw servers
     |     +--rw server* [address]
     |        +--rw address    -> ../config/address
     |        +--rw config
     |        |  +--rw address?            oc-inet:host
     |        |  +--rw port?               oc-inet:port-number
     |        |  +--rw version?            uint8
     |        |  +--rw association-type?   enumeration
     |        |  +--rw iburst?             boolean
     |        |  +--rw prefer?             boolean
     |        +--ro state
     |           +--ro address?            oc-inet:host
     |           +--ro port?               oc-inet:port-number
     |           +--ro version?            uint8
     |           +--ro association-type?   enumeration
     |           +--ro iburst?             boolean
     |           +--ro prefer?             boolean
     +--rw logging
     |  +--rw remote-servers
     |  |  +--rw remote-server* [host]
     |  |  |  +--rw host      -> ../config/host
     |  |  |  +--rw config
     |  |  |  |  +--rw host?                                        oc-inet:host
     |  |  |  |  +--rw source-address?                              oc-inet:ip-address
     |  |  |  |  +--rw remote-port?                                 oc-inet:port-number
     |  |  |  |  +--rw extr-system-logging-ext:transport?           syslog-remote-server-transport
     |  |  |  |  +--rw extr-system-logging-ext:secure-forwarding?   syslog-remote-server-secure-forwarding
     |  |  |  +--ro state
     |  |  |     +--ro host?                                        oc-inet:host
     |  |  |     +--ro source-address?                              oc-inet:ip-address
     |  |  |     +--ro remote-port?                                 oc-inet:port-number
     |  |  |     +--ro extr-system-logging-ext:transport?           syslog-remote-server-transport
     |  |  |     +--ro extr-system-logging-ext:secure-forwarding?   syslog-remote-server-secure-forwarding
     |  |  +--rw extr-system-logging-ext:ca-cert?   string
     |  +--rw extr-system-logging-ext:services
     |     +--rw extr-system-logging-ext:service* [facility]
     |        +--rw extr-system-logging-ext:facility    -> ../config/facility
     |        +--rw extr-system-logging-ext:config
     |        |  +--rw extr-system-logging-ext:facility?   identityref
     |        |  +--rw extr-system-logging-ext:severity?   syslog-severity
     |        +--ro extr-system-logging-ext:state
     |           +--ro extr-system-logging-ext:facility?   identityref
     |           +--ro extr-system-logging-ext:severity?   syslog-severity
     +--rw aaa
     |  +--rw authentication
     |  |  +--rw config
     |  |  |  +--rw authentication-method*   union
     |  |  +--ro state
     |  |  |  +--ro authentication-method*   union
     |  |  +--rw users
     |  |     +--rw user* [username]
     |  |        +--rw username    -> ../config/username
     |  |        +--rw config
     |  |        |  +--rw username?          string
     |  |        |  +--rw password?          string
     |  |        |  +--rw password-hashed?   oc-aaa-types:crypt-password-type
     |  |        |  +--rw role?              union
     |  |        +--ro state
     |  |           +--ro username?          string
     |  |           +--ro password?          string
     |  |           +--ro password-hashed?   oc-aaa-types:crypt-password-type
     |  |           +--ro role?              union
     |  +--rw accounting
     |  |  +--rw config
     |  |  |  +--rw accounting-method*   union
     |  |  +--ro state
     |  |  |  +--ro accounting-method*   union
     |  |  +--rw events
     |  |     +--rw event* [event-type]
     |  |        +--rw event-type    -> ../config/event-type
     |  |        +--rw config
     |  |        |  +--rw event-type?   identityref
     |  |        |  +--rw record?       enumeration
     |  |        +--ro state
     |  |           +--ro event-type?   identityref
     |  |           +--ro record?       enumeration
     |  +--rw server-groups
     |     +--rw server-group* [name]
     |        +--rw name       -> ../config/name
     |        +--rw config
     |        |  +--rw name?   string
     |        |  +--rw type?   identityref
     |        +--ro state
     |        |  +--ro name?   string
     |        |  +--ro type?   identityref
     |        +--rw servers
     |           +--rw server* [address]
     |              +--rw address    -> ../config/address
     |              +--rw config
     |              |  +--rw name?      string
     |              |  +--rw address?   oc-inet:ip-address
     |              +--ro state
     |              |  +--ro name?      string
     |              |  +--ro address?   oc-inet:ip-address
     |              +--rw tacacs
     |                 +--rw config
     |                 |  +--rw secret-key?          oc-types:routing-password
     |                 |  +--rw secret-key-hashed?   oc-aaa-types:crypt-password-type
     |                 +--ro state
     |                    +--ro secret-key?          oc-types:routing-password
     |                    +--ro secret-key-hashed?   oc-aaa-types:crypt-password-type
     +--rw messages
     |  +--rw config
     |  |  +--rw severity?   oc-log:syslog-severity
     |  +--ro state
     |  |  +--ro severity?   oc-log:syslog-severity
     |  |  +--ro message
     |  |     +--ro msg?        string
     |  |     +--ro priority?   uint8
     |  |     +--ro app-name?   string
     |  |     +--ro procid?     string
     |  |     +--ro msgid?      string
     |  +--rw debug-entries
     |     +--rw debug-service* [service]
     |        +--rw service    -> ../config/service
     |        +--rw config
     |        |  +--rw service?   identityref
     |        |  +--rw enabled?   boolean
     |        +--ro state
     |           +--ro service?   identityref
     |           +--ro enabled?   boolean
     +--rw license
        +--rw licenses
           +--rw license* [license-id]
              +--rw license-id    -> ../config/license-id
              +--rw config
              |  +--rw license-id?     string
              |  +--rw license-data?   union
              |  +--rw active?         boolean
              +--ro state
                 +--ro license-id?        string
                 +--ro license-data?      union
                 +--ro active?            boolean
                 +--ro description?       string
                 +--ro issue-date?        uint64
                 +--ro expiration-date?   uint64
                 +--ro in-use?            boolean
                 +--ro expired?           boolean
                 +--ro valid?             boolean

module: openconfig-qos
  +--rw qos
     +--rw config
     +--ro state
     +--rw interfaces
     |  +--rw interface* [interface-id]
     |     +--rw interface-id    -> ../config/interface-id
     |     +--rw config
     |     |  +--rw interface-id?   string
     |     +--ro state
     |     |  +--ro interface-id?   string
     |     +--rw output
     |        +--rw queues
     |           +--rw queue* [name]
     |              +--rw name      -> ../config/name
     |              +--rw config
     |              |  +--rw name?   string
     |              +--ro state
     |                 +--ro name?              string
     |                 +--ro transmit-pkts?     oc-yang:counter64
     |                 +--ro transmit-octets?   oc-yang:counter64
     |                 +--ro dropped-pkts?      oc-yang:counter64
     +--rw forwarding-groups
     |  +--rw forwarding-group* [name]
     |     +--rw name      -> ../config/name
     |     +--rw config
     |     |  +--rw name?                       string
     |     |  +--rw output-queue?               -> ../../../../queues/queue/config/name
     |     |  +--rw extr-qos-ext:description?   string
     |     +--ro state
     |        +--ro name?                       string
     |        +--ro output-queue?               -> ../../../../queues/queue/config/name
     |        +--ro extr-qos-ext:description?   string
     +--rw queues
        +--rw queue* [name]
           +--rw name      -> ../config/name
           +--rw config
           |  +--rw name?   string
           +--ro state
              +--ro name?   string

module: openconfig-if-ethernet-ext

  augment /oc-if:interfaces/oc-if:interface/oc-eth:ethernet/oc-eth:state/oc-eth:counters:
    +--ro in-distribution
       +--ro in-frames-64-octets?          oc-yang:counter64
       +--ro in-frames-65-127-octets?      oc-yang:counter64
       +--ro in-frames-128-255-octets?     oc-yang:counter64
       +--ro in-frames-256-511-octets?     oc-yang:counter64
       +--ro in-frames-512-1023-octets?    oc-yang:counter64
       +--ro in-frames-1024-1518-octets?   oc-yang:counter64