Standard OpenConfig YANG Tree

Extreme Networks has extended some of the OpenConfig YANG files. The corresponding leaf tokens are listed in this tree with the following tag: extr-<module-name>.

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 frame-error-in?     yang:counter64
     |  |  +--ro frame-discard?      yang:counter64
     |  |  +--ro tlv-discard?        yang:counter64
     |  |  +--ro tlv-unknown?        yang:counter64
     |  |  +--ro last-clear?         yang:date-and-time
     |  |  +--ro tlv-accepted?       yang:counter64
     |  |  +--ro entries-aged-out?   yang:counter64
     |  +--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 frame-error-in?    yang:counter64
           |  |  +--ro frame-discard?     yang:counter64
           |  |  +--ro tlv-discard?       yang:counter64
           |  |  +--ro tlv-unknown?       yang:counter64
           |  |  +--ro last-clear?        yang:date-and-time
           |  |  +--ro frame-error-out?   yang:counter64
           |  +--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 custom-tlvs
                 |  +--ro tlv* [type oui oui-subtype]
                 |     +--ro type           -> ../state/type
                 |     +--ro oui            -> ../state/oui
                 |     +--ro oui-subtype    -> ../state/oui-subtype
                 |     +--ro config
                 |     +--ro state
                 |        +--ro type?          int32
                 |        +--ro oui?           string
                 |        +--ro oui-subtype?   string
                 |        +--ro value?         binary
                 +--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

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

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 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 input
     |     |  +--rw config
     |     |  +--ro state
     |     |  +--rw classifiers
     |     |  |  +--rw classifier* [type]
     |     |  |     +--rw type      -> ../config/type
     |     |  |     +--rw config
     |     |  |     |  +--rw name?   -> ../../../../../../../classifiers/classifier/config/name
     |     |  |     |  +--rw type?   enumeration
     |     |  |     +--ro state
     |     |  |     |  +--ro name?   -> ../../../../../../../classifiers/classifier/config/name
     |     |  |     |  +--ro type?   enumeration
     |     |  |     +--rw terms
     |     |  |        +--rw term* [id]
     |     |  |           +--rw id        -> ../config/id
     |     |  |           +--rw config
     |     |  |           |  +--rw id?   -> ../../../../../../../../../classifiers/classifier[name=current()/../../../../config/name]/terms/term/config/id
     |     |  |           +--ro state
     |     |  |              +--ro id?                -> ../../../../../../../../../classifiers/classifier[name=current()/../../../../config/name]/terms/term/config/id
     |     |  |              +--ro matched-packets?   oc-yang:counter64
     |     |  |              +--ro matched-octets?    oc-yang:counter64
     |     |  +--rw queues
     |     |  |  +--rw queue* [name]
     |     |  |     +--rw name      -> ../config/name
     |     |  |     +--rw config
     |     |  |     |  +--rw name?   string
     |     |  |     +--ro state
     |     |  |        +--ro name?              string
     |     |  |        +--ro max-queue-len?     oc-yang:counter64
     |     |  |        +--ro avg-queue-len?     oc-yang:counter64
     |     |  |        +--ro transmit-pkts?     oc-yang:counter64
     |     |  |        +--ro transmit-octets?   oc-yang:counter64
     |     |  |        +--ro dropped-pkts?      oc-yang:counter64
     |     |  +--rw scheduler-policy
     |     |  |  +--rw config
     |     |  |  |  +--rw name?   -> ../../../../../../scheduler-policies/scheduler-policy/config/name
     |     |  |  +--ro state
     |     |  |  |  +--ro name?   -> ../../../../../../scheduler-policies/scheduler-policy/config/name
     |     |  |  +--ro schedulers
     |     |  |     +--ro scheduler* [sequence]
     |     |  |        +--ro sequence    -> ../state/sequence
     |     |  |        +--ro state
     |     |  |           +--ro sequence?            -> ../../../../../../../../scheduler-policies/scheduler-policy[name=current()/../../../../config/name]/schedulers/scheduler/config/sequence
     |     |  |           +--ro conforming-pkts?     oc-yang:counter64
     |     |  |           +--ro conforming-octets?   oc-yang:counter64
     |     |  |           +--ro exceeding-pkts?      oc-yang:counter64
     |     |  |           +--ro exceeding-octets?    oc-yang:counter64
     |     |  |           +--ro violating-pkts?      oc-yang:counter64
     |     |  |           +--ro violating-octets?    oc-yang:counter64
     |     |  +--rw virtual-output-queues
     |     |     +--rw voq-interface* [name]
     |     |        +--rw name      -> ../config/name
     |     |        +--rw config
     |     |        |  +--rw name?   string
     |     |        +--ro state
     |     |        |  +--ro name?   string
     |     |        +--rw queues
     |     |           +--rw queue* [name]
     |     |              +--rw name      -> ../config/name
     |     |              +--rw config
     |     |              |  +--rw name?   string
     |     |              +--ro state
     |     |                 +--ro name?              string
     |     |                 +--ro max-queue-len?     oc-yang:counter64
     |     |                 +--ro avg-queue-len?     oc-yang:counter64
     |     |                 +--ro transmit-pkts?     oc-yang:counter64
     |     |                 +--ro transmit-octets?   oc-yang:counter64
     |     |                 +--ro dropped-pkts?      oc-yang:counter64
     |     +--rw output
     |        +--rw config
     |        +--ro state
     |        +--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 classifiers
     |        |  +--rw classifier* [type]
     |        |     +--rw type      -> ../config/type
     |        |     +--rw config
     |        |     |  +--rw name?   -> ../../../../../../../classifiers/classifier/config/name
     |        |     |  +--rw type?   enumeration
     |        |     +--ro state
     |        |     |  +--ro name?   -> ../../../../../../../classifiers/classifier/config/name
     |        |     |  +--ro type?   enumeration
     |        |     +--rw terms
     |        |        +--rw term* [id]
     |        |           +--rw id        -> ../config/id
     |        |           +--rw config
     |        |           |  +--rw id?   -> ../../../../../../../../../classifiers/classifier[name=current()/../../../../config/name]/terms/term/config/id
     |        |           +--ro state
     |        |              +--ro id?                -> ../../../../../../../../../classifiers/classifier[name=current()/../../../../config/name]/terms/term/config/id
     |        |              +--ro matched-packets?   oc-yang:counter64
     |        |              +--ro matched-octets?    oc-yang:counter64
     |        +--rw queues
     |        |  +--rw queue* [name]
     |        |     +--rw name      -> ../config/name
     |        |     +--rw config
     |        |     |  +--rw name?   string
     |        |     +--ro state
     |        |        +--ro name?              string
     |        |        +--ro max-queue-len?     oc-yang:counter64
     |        |        +--ro avg-queue-len?     oc-yang:counter64
     |        |        +--ro transmit-pkts?     oc-yang:counter64
     |        |        +--ro transmit-octets?   oc-yang:counter64
     |        |        +--ro dropped-pkts?      oc-yang:counter64
     |        +--rw scheduler-policy
     |           +--rw config
     |           |  +--rw name?   -> ../../../../../../scheduler-policies/scheduler-policy/config/name
     |           +--ro state
     |           |  +--ro name?   -> ../../../../../../scheduler-policies/scheduler-policy/config/name
     |           +--ro schedulers
     |              +--ro scheduler* [sequence]
     |                 +--ro sequence    -> ../state/sequence
     |                 +--ro state
     |                    +--ro sequence?            -> ../../../../../../../../scheduler-policies/scheduler-policy[name=current()/../../../../config/name]/schedulers/scheduler/config/sequence
     |                    +--ro conforming-pkts?     oc-yang:counter64
     |                    +--ro conforming-octets?   oc-yang:counter64
     |                    +--ro exceeding-pkts?      oc-yang:counter64
     |                    +--ro exceeding-octets?    oc-yang:counter64
     |                    +--ro violating-pkts?      oc-yang:counter64
     |                    +--ro violating-octets?    oc-yang:counter64
     +--rw classifiers
     |  +--rw classifier* [name]
     |     +--rw name      -> ../config/name
     |     +--rw config
     |     |  +--rw name?   string
     |     |  +--rw type?   enumeration
     |     +--ro state
     |     |  +--ro name?   string
     |     |  +--ro type?   enumeration
     |     +--rw terms
     |        +--rw term* [id]
     |           +--rw id            -> ../config/id
     |           +--rw config
     |           |  +--rw id?   string
     |           +--ro state
     |           |  +--ro id?   string
     |           +--rw conditions
     |           |  +--rw l2
     |           |  |  +--rw config
     |           |  |  |  +--rw source-mac?             oc-yang:mac-address
     |           |  |  |  +--rw source-mac-mask?        oc-yang:mac-address
     |           |  |  |  +--rw destination-mac?        oc-yang:mac-address
     |           |  |  |  +--rw destination-mac-mask?   oc-yang:mac-address
     |           |  |  |  +--rw ethertype?              oc-pkt-match-types:ethertype-type
     |           |  |  +--ro state
     |           |  |     +--ro source-mac?             oc-yang:mac-address
     |           |  |     +--ro source-mac-mask?        oc-yang:mac-address
     |           |  |     +--ro destination-mac?        oc-yang:mac-address
     |           |  |     +--ro destination-mac-mask?   oc-yang:mac-address
     |           |  |     +--ro ethertype?              oc-pkt-match-types:ethertype-type
     |           |  +--rw ipv4
     |           |  |  +--rw config
     |           |  |  |  +--rw source-address?        oc-inet:ipv4-prefix
     |           |  |  |  +--rw destination-address?   oc-inet:ipv4-prefix
     |           |  |  |  +--rw dscp?                  oc-inet:dscp
     |           |  |  |  +--rw dscp-set*              oc-inet:dscp
     |           |  |  |  +--rw protocol?              oc-pkt-match-types:ip-protocol-type
     |           |  |  |  +--rw hop-limit?             uint8
     |           |  |  +--ro state
     |           |  |     +--ro source-address?        oc-inet:ipv4-prefix
     |           |  |     +--ro destination-address?   oc-inet:ipv4-prefix
     |           |  |     +--ro dscp?                  oc-inet:dscp
     |           |  |     +--ro dscp-set*              oc-inet:dscp
     |           |  |     +--ro protocol?              oc-pkt-match-types:ip-protocol-type
     |           |  |     +--ro hop-limit?             uint8
     |           |  +--rw ipv6
     |           |  |  +--rw config
     |           |  |  |  +--rw source-address?           oc-inet:ipv6-prefix
     |           |  |  |  +--rw source-flow-label?        oc-inet:ipv6-flow-label
     |           |  |  |  +--rw destination-address?      oc-inet:ipv6-prefix
     |           |  |  |  +--rw destination-flow-label?   oc-inet:ipv6-flow-label
     |           |  |  |  +--rw dscp?                     oc-inet:dscp
     |           |  |  |  +--rw dscp-set*                 oc-inet:dscp
     |           |  |  |  +--rw protocol?                 oc-pkt-match-types:ip-protocol-type
     |           |  |  |  +--rw hop-limit?                uint8
     |           |  |  +--ro state
     |           |  |     +--ro source-address?           oc-inet:ipv6-prefix
     |           |  |     +--ro source-flow-label?        oc-inet:ipv6-flow-label
     |           |  |     +--ro destination-address?      oc-inet:ipv6-prefix
     |           |  |     +--ro destination-flow-label?   oc-inet:ipv6-flow-label
     |           |  |     +--ro dscp?                     oc-inet:dscp
     |           |  |     +--ro dscp-set*                 oc-inet:dscp
     |           |  |     +--ro protocol?                 oc-pkt-match-types:ip-protocol-type
     |           |  |     +--ro hop-limit?                uint8
     |           |  +--rw transport
     |           |  |  +--rw config
     |           |  |  |  +--rw source-port?        oc-pkt-match-types:port-num-range
     |           |  |  |  +--rw destination-port?   oc-pkt-match-types:port-num-range
     |           |  |  |  +--rw tcp-flags*          identityref
     |           |  |  +--ro state
     |           |  |     +--ro source-port?        oc-pkt-match-types:port-num-range
     |           |  |     +--ro destination-port?   oc-pkt-match-types:port-num-range
     |           |  |     +--ro tcp-flags*          identityref
     |           |  +--rw mpls
     |           |     +--rw config
     |           |     |  +--rw traffic-class?       oc-mpls:mpls-tc
     |           |     |  +--rw start-label-value?   oc-mpls:mpls-label
     |           |     |  +--rw end-label-value?     oc-mpls:mpls-label
     |           |     |  +--rw ttl-value?           uint8
     |           |     +--ro state
     |           |        +--ro traffic-class?       oc-mpls:mpls-tc
     |           |        +--ro start-label-value?   oc-mpls:mpls-label
     |           |        +--ro end-label-value?     oc-mpls:mpls-label
     |           |        +--ro ttl-value?           uint8
     |           +--rw actions
     |              +--rw config
     |              |  +--rw target-group?   -> ../../../../../../../forwarding-groups/forwarding-group/config/name
     |              +--ro state
     |              |  +--ro target-group?   -> ../../../../../../../forwarding-groups/forwarding-group/config/name
     |              +--rw remark
     |                 +--rw config
     |                 |  +--rw set-dscp?      uint8
     |                 |  +--rw set-dot1p?     uint8
     |                 |  +--rw set-mpls-tc?   uint8
     |                 +--ro state
     |                    +--ro set-dscp?      uint8
     |                    +--ro set-dot1p?     uint8
     |                    +--ro set-mpls-tc?   uint8
     +--rw forwarding-groups
     |  +--rw forwarding-group* [name]
     |     +--rw name      -> ../config/name
     |     +--rw config
     |     |  +--rw name?              string
     |     |  +--rw fabric-priority?   uint8
     |     |  +--rw output-queue?      -> ../../../../queues/queue/config/name
     |     +--ro state
     |        +--ro name?              string
     |        +--ro fabric-priority?   uint8
     |        +--ro output-queue?      -> ../../../../queues/queue/config/name
     +--rw queues
     |  +--rw queue* [name]
     |     +--rw name      -> ../config/name
     |     +--rw config
     |     |  +--rw name?         string
     |     |  +--rw queue-type?   identityref
     |     +--ro state
     |     |  +--ro name?         string
     |     |  +--ro queue-type?   identityref
     |     +--rw red
     |     |  +--rw config
     |     |  |  +--rw minth?   uint64
     |     |  |  +--rw maxth?   uint64
     |     |  +--ro state
     |     |     +--ro minth?   uint64
     |     |     +--ro maxth?   uint64
     |     +--rw wred
     |        +--rw config
     |        +--ro state
     +--rw scheduler-policies
        +--rw scheduler-policy* [name]
           +--rw name          -> ../config/name
           +--rw config
           |  +--rw name?   string
           +--ro state
           |  +--ro name?   string
           +--rw schedulers
              +--rw scheduler* [sequence]
                 +--rw sequence                -> ../config/sequence
                 +--rw config
                 |  +--rw sequence?   uint32
                 |  +--rw type?       identityref
                 |  +--rw priority?   enumeration
                 +--ro state
                 |  +--ro sequence?   uint32
                 |  +--ro type?       identityref
                 |  +--ro priority?   enumeration
                 +--rw inputs
                 |  +--rw input* [id]
                 |     +--rw id        -> ../config/id
                 |     +--rw config
                 |     |  +--rw id?           string
                 |     |  +--rw input-type?   enumeration
                 |     |  +--rw queue?        -> ../../../../../../../../queues/queue/name
                 |     |  +--rw weight?       uint64
                 |     +--ro state
                 |        +--ro id?           string
                 |        +--ro input-type?   enumeration
                 |        +--ro queue?        -> ../../../../../../../../queues/queue/name
                 |        +--ro weight?       uint64
                 +--rw output
                 |  +--rw config
                 |  |  +--rw output-type?        enumeration
                 |  |  +--rw child-scheduler?    -> ../../../../../../../scheduler-policies/scheduler-policy/config/name
                 |  |  +--rw output-fwd-group?   -> ../../../../../../../forwarding-groups/forwarding-group/config/name
                 |  +--ro state
                 |     +--ro output-type?        enumeration
                 |     +--ro child-scheduler?    -> ../../../../../../../scheduler-policies/scheduler-policy/config/name
                 |     +--ro output-fwd-group?   -> ../../../../../../../forwarding-groups/forwarding-group/config/name
                 +--rw one-rate-two-color
                 |  +--rw config
                 |  |  +--rw cir?                       uint64
                 |  |  +--rw cir-pct?                   oc-types:percentage
                 |  |  +--rw cir-pct-remaining?         oc-types:percentage
                 |  |  +--rw bc?                        uint32
                 |  |  +--rw queuing-behavior?          oc-qos-types:queue-behavior
                 |  |  +--rw max-queue-depth-bytes?     uint32
                 |  |  +--rw max-queue-depth-packets?   uint32
                 |  |  +--rw max-queue-depth-percent?   oc-types:percentage
                 |  +--ro state
                 |  |  +--ro cir?                       uint64
                 |  |  +--ro cir-pct?                   oc-types:percentage
                 |  |  +--ro cir-pct-remaining?         oc-types:percentage
                 |  |  +--ro bc?                        uint32
                 |  |  +--ro queuing-behavior?          oc-qos-types:queue-behavior
                 |  |  +--ro max-queue-depth-bytes?     uint32
                 |  |  +--ro max-queue-depth-packets?   uint32
                 |  |  +--ro max-queue-depth-percent?   oc-types:percentage
                 |  +--rw conform-action
                 |  |  +--rw config
                 |  |  |  +--rw set-dscp?      uint8
                 |  |  |  +--rw set-dot1p?     uint8
                 |  |  |  +--rw set-mpls-tc?   uint8
                 |  |  +--ro state
                 |  |     +--ro set-dscp?      uint8
                 |  |     +--ro set-dot1p?     uint8
                 |  |     +--ro set-mpls-tc?   uint8
                 |  +--rw exceed-action
                 |     +--rw config
                 |     |  +--rw set-dscp?      uint8
                 |     |  +--rw set-dot1p?     uint8
                 |     |  +--rw set-mpls-tc?   uint8
                 |     |  +--rw drop?          boolean
                 |     +--ro state
                 |        +--ro set-dscp?      uint8
                 |        +--ro set-dot1p?     uint8
                 |        +--ro set-mpls-tc?   uint8
                 |        +--ro drop?          boolean
                 +--rw two-rate-three-color
                    +--rw config
                    |  +--rw cir?                 uint64
                    |  +--rw cir-pct?             oc-types:percentage
                    |  +--rw cir-pct-remaining?   oc-types:percentage
                    |  +--rw pir?                 uint64
                    |  +--rw pir-pct?             oc-types:percentage
                    |  +--rw pir-pct-remaining?   oc-types:percentage
                    |  +--rw bc?                  uint32
                    |  +--rw be?                  uint32
                    +--ro state
                    |  +--ro cir?                 uint64
                    |  +--ro cir-pct?             oc-types:percentage
                    |  +--ro cir-pct-remaining?   oc-types:percentage
                    |  +--ro pir?                 uint64
                    |  +--ro pir-pct?             oc-types:percentage
                    |  +--ro pir-pct-remaining?   oc-types:percentage
                    |  +--ro bc?                  uint32
                    |  +--ro be?                  uint32
                    +--rw conform-action
                    |  +--rw config
                    |  |  +--rw set-dscp?      uint8
                    |  |  +--rw set-dot1p?     uint8
                    |  |  +--rw set-mpls-tc?   uint8
                    |  +--ro state
                    |     +--ro set-dscp?      uint8
                    |     +--ro set-dot1p?     uint8
                    |     +--ro set-mpls-tc?   uint8
                    +--rw exceed-action
                    |  +--rw config
                    |  |  +--rw set-dscp?      uint8
                    |  |  +--rw set-dot1p?     uint8
                    |  |  +--rw set-mpls-tc?   uint8
                    |  |  +--rw drop?          boolean
                    |  +--ro state
                    |     +--ro set-dscp?      uint8
                    |     +--ro set-dot1p?     uint8
                    |     +--ro set-mpls-tc?   uint8
                    |     +--ro drop?          boolean
                    +--rw violate-action
                       +--rw config
                       |  +--rw set-dscp?      uint8
                       |  +--rw set-dot1p?     uint8
                       |  +--rw set-mpls-tc?   uint8
                       |  +--rw drop?          boolean
                       +--ro state
                          +--ro set-dscp?      uint8
                          +--ro set-dot1p?     uint8
                          +--ro set-mpls-tc?   uint8
                          +--ro drop?          boolean

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