Cisco-IOS-XE-switch

YANG Data Model Tree Structure

View YANG Source on GitHub →

📚 API Documentation & Navigation

📄 Swagger API Spec 📂 Browse Native Config APIs 🌳 All Trees

📋 Module Metadata

Namespace: http://cisco.com/ns/yang/Cisco-IOS-XE-switch

Prefix: switch

Related Modules:
Cisco-IOS-XE-switch-cp-svl-oper
Cisco-IOS-XE-switch-dp-mac-learning-oper
Cisco-IOS-XE-switch-dp-punt-inject-oper
Cisco-IOS-XE-switch-dp-resources-oper
Cisco-IOS-XE-switch-ptp-dp-oper

💡 Example Usage

# GET module data
curl -X GET \
  -H "Accept: application/yang-data+json" \
  -u admin:password \
  --insecure \
  https://device-ip/restconf/data/Cisco-IOS-XE-switch

📚 External Documentation

💻 YANG Source📖 YANG Catalog🌐 DevNet Guide
module: Cisco-IOS-XE-switch

  augment /ios:native:
    +--rw network-policy
       +--rw profile?   uint32
  augment /ios:native/ios:system:
    +--rw debug
    |  +--rw shell
    |     +--rw switch
    |        +--rw switch-number?   uint8
    |        +--rw all?             empty
    +--rw disable
    |  +--rw password
    |     +--rw recovery
    |        +--rw switch
    |           +--rw number?   uint8
    |           +--rw all?      empty
    +--rw environment
    |  +--rw fan-fail-action
    |  |  +--rw shut?   empty
    |  +--rw temperature
    |     +--rw threshold
    |        +--rw yellow
    |           +--rw delta-value?   uint8
    |           +--rw detail?        empty
    +--rw fnf
    |  +--rw bytes-count
    |     +--rw layer2?   empty
    +--rw ignore
    |  +--rw startupconfig
    |     +--rw switch
    |        +--rw number?   uint8
    |        +--rw all?      empty
    +--rw mode-button
    |  +--rw reset?   empty
    +--rw mtu
       +--rw size?      uint16
       +--rw jumbo?     uint16
       +--rw routing?   uint16
  augment /ios:native/ios:interface/ios:FastEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:GigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:TwoGigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:FiveGigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:AppGigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:TenGigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:TwentyFiveGigE/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:FortyGigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:FiftyGigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:HundredGigE/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:Port-channel/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:ucse/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:Ethernet-Internal/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:switchport-config/ios:switchport:
    +--rw access
    |  +--rw vlan
    |     +--rw vlan?   union
    +--rw block
    |  +--rw multicast?   empty
    |  +--rw unicast?     empty
    +--rw mode
    |  +--rw (mode-choice)?
    |     +--:(access)
    |     |  +--rw access!
    |     +--:(dot1q-tunnel)
    |     |  +--rw dot1q-tunnel!
    |     +--:(dynamic)
    |     |  +--rw dynamic?        enumeration
    |     +--:(private-vlan)
    |     |  +--rw private-vlan
    |     |     +--rw trunk!
    |     |     |  +--rw trunk-config?   enumeration
    |     |     +--rw host?          empty
    |     |     +--rw promiscuous?   empty
    |     +--:(trunk)
    |        +--rw trunk!
    +--rw nonegotiate?            empty
    +--rw port-security-conf?     empty
    +--rw port-security-config
    |  +--rw port-security
    |     +--rw aging
    |     |  +--rw static?   empty
    |     |  +--rw time?     uint16
    |     |  +--rw type?     enumeration
    |     +--rw allowlist-on
    |     |  +--rw allowlist?   empty
    |     +--rw allowlist-config
    |     |  +--rw allowlist
    |     |     +--rw mac-address
    |     |        +--rw mac-address-conf* [hw-address]
    |     |           +--rw hw-address    ios-types:cisco-mac-address-type
    |     +--rw mac-address-sticky-on
    |     |  +--rw mac-address
    |     |     +--rw sticky?   empty
    |     +--rw mac-address-config
    |     |  +--rw mac-address
    |     |     +--rw hw-address-voice* [hw-address vlan voice]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw vlan          enumeration
    |     |     |  +--rw voice         enumeration
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-access* [hw-address]
    |     |     |  +--rw hw-address    ios-types:cisco-mac-address-type
    |     |     |  +--rw sticky?       enumeration
    |     |     +--rw hw-address-trunk* [hw-address vlan]
    |     |        +--rw hw-address    ios-types:cisco-mac-address-type
    |     |        +--rw vlan          uint16
    |     |        +--rw sticky?       enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     +--rw maximum-address-config
    |     |  +--rw maximum
    |     |  |  +--rw maximum?   uint16
    |     |  +--rw maximum-vlan
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-access
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-voice
    |     |  |  +--rw maximum?   uint16
    |     |  |  +--rw vlan?      enumeration
    |     |  +--rw maximum-vlan-trunk* [maximum]
    |     |     +--rw maximum    uint16
    |     |     +--rw vlan*      uint16
    |     x--rw maxcount* [max-addresses]
    |     |  x--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     +--rw violation
    |        +--rw (violation-choice)?
    |           +--:(protect)
    |           |  +--rw protect?    empty
    |           +--:(report)
    |           |  +--rw report?     empty
    |           +--:(restrict)
    |           |  +--rw restrict?   empty
    |           +--:(shutdown)
    |              +--rw shutdown
    |                 +--rw vlan?   empty
    +--rw trunk
    |  +--rw allowed
    |  |  +--rw vlan-v2
    |  |  |  +--rw vlan-choices
    |  |  |  |  +--rw (vlan-choice)?
    |  |  |  |     +--:(vlans-case)
    |  |  |  |     |  +--rw vlans?   string
    |  |  |  |     +--:(none-case)
    |  |  |  |     |  +--rw none?    empty
    |  |  |  |     +--:(all-case)
    |  |  |  |        +--rw all?     boolean
    |  |  |  +--rw add-vlans
    |  |  |  |  +--rw add* [vlans]
    |  |  |  |     +--rw vlans    string
    |  |  |  +--rw except?         string
    |  |  |  +--rw remove?         string
    |  |  x--rw vlan
    |  |     x--rw (vlan-choice)?
    |  |        x--:(vlans)
    |  |        |  x--rw vlans?    union
    |  |        x--:(none)
    |  |        |  x--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  +--rw encapsulation?   enumeration
    |  +--rw native
    |  |  +--rw vlan
    |  |     +--rw tag?       boolean
    |  |     +--rw vlan-id?   uint16
    |  +--rw pruning
    |     +--rw vlan
    |        +--rw (vlan-choice)?
    |           +--:(vlans)
    |           |  +--rw vlans*    union
    |           +--:(add)
    |           |  +--rw add?      union
    |           +--:(except)
    |           |  +--rw except*   union
    |           +--:(none)
    |           |  +--rw none?     empty
    |           +--:(remove)
    |              +--rw remove?   union
    +--rw voice
    |  +--rw vlan
    |  |  +--rw vlan?   union
    |  |  +--rw name?   string
    |  +--rw detect
    |     +--rw cisco-phone!
    |        +--rw full-duplex?   empty
    +--rw priority
    |  +--rw extend
    |     +--rw (trust-choice)?
    |        +--:(trust)
    |        |  +--rw trust?   empty
    |        +--:(cos)
    |           +--rw cos?     uint8
    +--rw autostate
    |  +--rw exclude?   empty
    +--rw protected?              empty
    +--rw host?                   empty
    +--rw private-vlan
    |  +--rw association
    |  |  +--rw host
    |  |  |  +--rw primary-range?     uint16
    |  |  |  +--rw secondary-range?   uint16
    |  |  +--rw mapping
    |  |     +--rw primary-range?     uint16
    |  |     +--rw secondary-range?   string
    |  |     +--rw add?               string
    |  |     +--rw remove?            string
    |  +--rw host-association
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   uint16
    |  +--rw mapping
    |  |  +--rw trunk?             empty
    |  |  +--rw primary-range?     uint16
    |  |  +--rw secondary-range?   string
    |  +--rw trunk
    |     +--rw allowed
    |     |  +--rw vlan
    |     |     +--rw vlans?   union
    |     +--rw native
    |        +--rw vlan
    |           +--rw vlans?   uint16
    |           +--rw tag?     empty
    +--rw vepa
    |  +--rw enabled?   empty
    +--rw app-interface?          empty
  augment /ios:native/ios:interface/ios:FastEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
    o--rw device-tracking!
       o--rw attach-policy?   string
  augment /ios:native/ios:interface/ios:GigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
    o--rw device-tracking!
       o--rw attach-policy?   string
  augment /ios:native/ios:interface/ios:TwoGigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
    o--rw device-tracking!
       o--rw attach-policy?   string
  augment /ios:native/ios:interface/ios:FiveGigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
    o--rw device-tracking!
       o--rw attach-policy?   string
  augment /ios:native/ios:interface/ios:AppGigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
    o--rw device-tracking!
       o--rw attach-policy?   string
  augment /ios:native/ios:interface/ios:TenGigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
    o--rw device-tracking!
       o--rw attach-policy?   string
  augment /ios:native/ios:interface/ios:TwentyFiveGigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:TwentyFiveGigE/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:FortyGigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:FiftyGigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:HundredGigE/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:Port-channel/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
    o--rw device-tracking!
       o--rw attach-policy?   string
  augment /ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:FastEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:GigabitEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:TwoGigabitEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:FiveGigabitEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:AppGigabitEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:TenGigabitEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:TwentyFiveGigabitEthernet:
    o--rw auto
    |  o--rw qos
    |     o--rw classify!
    |     |  o--rw police?   empty
    |     o--rw trust!
    |     |  o--rw cos?    empty
    |     |  o--rw dscp?   empty
    |     o--rw video
    |     |  o--rw cts?            empty
    |     |  o--rw ip-camera?      empty
    |     |  o--rw media-player?   empty
    |     o--rw voip!
    |        o--rw cisco-phone?       empty
    |        o--rw cisco-softphone?   empty
    |        o--rw trust?             empty
    o--rw datalink
    |  o--rw flow
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    o--rw energywise!
    |  o--rw activitycheck?   empty
    |  o--rw level* [range]
    |     o--rw range         uint8
    |     o--rw recurrence
    |        o--rw importance* [range]
    |           o--rw range    uint16
    |           o--rw at
    |              o--rw minute?    union
    |              o--rw hour?      union
    |              o--rw day?       union
    |              o--rw month?     union
    |              o--rw weekday?   union
    o--rw location
    |  o--rw civic-location-id
    |     o--rw location-identifier?   string
    |     o--rw host!
    |     |  o--rw port-location?   string
    |     o--rw none!
    |        o--rw port-location?   string
    o--rw mac
    |  o--rw access-group* [direction]
    |     o--rw direction    enumeration
    |     o--rw acl-name?    string
    o--rw macro
    |  o--rw description?   string
    |  o--rw auto
    |     o--rw processing?   boolean
    |     o--rw port
    |     |  o--rw sticky?   empty
    |     o--rw control
    |        o--rw device
    |           o--rw phone?   empty
    o--rw dual-active
    |  o--rw fast-hello?   empty
    o--rw load-balancing
    |  o--rw flow?   empty
    |  o--rw vlan?   empty
    o--rw vlan-range* [id]
    |  o--rw id                union
    |  o--rw service-policy
    |     o--rw input?    string
    |     o--rw output?   string
    o--rw switch
    |  o--rw virtual
    |     o--rw link?   uint8
    o--rw srr-queue
    |  o--rw bandwidth
    |     o--rw shape
    |     |  o--rw weight1?   uint16
    |     |  o--rw weight2?   uint16
    |     |  o--rw weight3?   uint16
    |     |  o--rw weight4?   uint16
    |     o--rw share
    |        o--rw weight1?   uint8
    |        o--rw weight2?   uint8
    |        o--rw weight3?   uint8
    |        o--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  o--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     o--rw network-link?        empty
    o--rw l2protocol-tunnel
       o--rw drop-threshold
       |  o--rw cdp
       |  |  o--rw pps_num?   uint16
       |  o--rw stp
       |  |  o--rw pps_num?   uint16
       |  o--rw vtp
       |  |  o--rw pps_num?   uint16
       |  o--rw lldp
       |  |  o--rw pps_num?   uint16
       |  o--rw point-to-point
       |     o--rw lacp
       |     |  o--rw pps_num?   uint16
       |     o--rw pagp
       |     |  o--rw pps_num?   uint16
       |     o--rw udld
       |        o--rw pps_num?   uint16
       o--rw shutdown-threshold
       |  o--rw cdp
       |  |  o--rw pps_num?   uint16
       |  o--rw stp
       |  |  o--rw pps_num?   uint16
       |  o--rw vtp
       |  |  o--rw pps_num?   uint16
       |  o--rw lldp
       |  |  o--rw pps_num?   uint16
       |  o--rw point-to-point
       |     o--rw lacp
       |     |  o--rw pps_num?   uint16
       |     o--rw pagp
       |     |  o--rw pps_num?   uint16
       |     o--rw udld
       |        o--rw pps_num?   uint16
       o--rw cdp?                  empty
       o--rw stp?                  empty
       o--rw vtp?                  empty
       o--rw lldp?                 empty
       o--rw point-to-point
          o--rw lacp?   empty
          o--rw pagp?   empty
          o--rw udld?   empty
  augment /ios:native/ios:interface/ios:TwentyFiveGigE:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:FortyGigabitEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:FiftyGigabitEthernet:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:HundredGigE:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:Port-channel:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
    |  +--rw drop-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw shutdown-threshold
    |  |  +--rw cdp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw stp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw vtp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw lldp
    |  |  |  +--rw pps_num?   uint16
    |  |  +--rw point-to-point
    |  |     +--rw lacp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw pagp
    |  |     |  +--rw pps_num?   uint16
    |  |     +--rw udld
    |  |        +--rw pps_num?   uint16
    |  +--rw cdp?                  empty
    |  +--rw stp?                  empty
    |  +--rw vtp?                  empty
    |  +--rw lldp?                 empty
    |  +--rw point-to-point
    |     +--rw lacp?   empty
    |     +--rw pagp?   empty
    |     +--rw udld?   empty
    +--rw device-tracking! {ios-features:switching-platform}?
       +--rw attached-policies* [attach-policy]
       |  +--rw attach-policy    string
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       +--rw default-policy
       |  +--rw vlan
       |     +--rw vlan-name?   string
       |     +--rw add?         string
       |     +--rw all?         empty
       |     +--rw except?      string
       |     +--rw none?        empty
       |     +--rw remove?      string
       o--rw attach-policy?       string
  augment /ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
       +--rw drop-threshold
       |  +--rw cdp
       |  |  +--rw pps_num?   uint16
       |  +--rw stp
       |  |  +--rw pps_num?   uint16
       |  +--rw vtp
       |  |  +--rw pps_num?   uint16
       |  +--rw lldp
       |  |  +--rw pps_num?   uint16
       |  +--rw point-to-point
       |     +--rw lacp
       |     |  +--rw pps_num?   uint16
       |     +--rw pagp
       |     |  +--rw pps_num?   uint16
       |     +--rw udld
       |        +--rw pps_num?   uint16
       +--rw shutdown-threshold
       |  +--rw cdp
       |  |  +--rw pps_num?   uint16
       |  +--rw stp
       |  |  +--rw pps_num?   uint16
       |  +--rw vtp
       |  |  +--rw pps_num?   uint16
       |  +--rw lldp
       |  |  +--rw pps_num?   uint16
       |  +--rw point-to-point
       |     +--rw lacp
       |     |  +--rw pps_num?   uint16
       |     +--rw pagp
       |     |  +--rw pps_num?   uint16
       |     +--rw udld
       |        +--rw pps_num?   uint16
       +--rw cdp?                  empty
       +--rw stp?                  empty
       +--rw vtp?                  empty
       +--rw lldp?                 empty
       +--rw point-to-point
          +--rw lacp?   empty
          +--rw pagp?   empty
          +--rw udld?   empty
  augment /ios:native/ios:interface/ios:Vlan:
    +--rw auto
    |  +--rw qos
    |     +--rw classify!
    |     |  +--rw police?   empty
    |     +--rw trust!
    |     |  +--rw cos?    empty
    |     |  +--rw dscp?   empty
    |     +--rw video
    |     |  +--rw cts?            empty
    |     |  +--rw ip-camera?      empty
    |     |  +--rw media-player?   empty
    |     +--rw voip!
    |        +--rw cisco-phone?       empty
    |        +--rw cisco-softphone?   empty
    |        +--rw trust?             empty
    +--rw datalink
    |  +--rw flow
    |     +--rw monitor-new* [name direction]
    |     |  +--rw name          -> /ios:native/flow/ios-flow:monitor/name
    |     |  +--rw direction     enumeration
    |     |  +--rw sampler?      string
    |     |  +--rw subtraffic?   enumeration
    |     o--rw monitor!
    |        o--rw User-defined-flow?   string
    |        o--rw input-output?        enumeration
    +--rw energywise!
    |  +--rw activitycheck?   empty
    |  +--rw level* [range]
    |     +--rw range         uint8
    |     +--rw recurrence
    |        +--rw importance* [range]
    |           +--rw range    uint16
    |           +--rw at
    |              +--rw minute?    union
    |              +--rw hour?      union
    |              +--rw day?       union
    |              +--rw month?     union
    |              +--rw weekday?   union
    +--rw location
    |  +--rw civic-location-id
    |     +--rw location-identifier?   string
    |     +--rw host!
    |     |  +--rw port-location?   string
    |     +--rw none!
    |        +--rw port-location?   string
    +--rw mac
    |  +--rw access-group* [direction]
    |     +--rw direction    enumeration
    |     +--rw acl-name?    string
    +--rw macro
    |  +--rw description?   string
    |  +--rw auto
    |     +--rw processing?   boolean
    |     +--rw port
    |     |  +--rw sticky?   empty
    |     +--rw control
    |        +--rw device
    |           +--rw phone?   empty
    +--rw dual-active
    |  +--rw fast-hello?   empty
    +--rw load-balancing
    |  +--rw flow?   empty
    |  +--rw vlan?   empty
    +--rw vlan-range* [id]
    |  +--rw id                union
    |  +--rw service-policy
    |     +--rw input?    string
    |     +--rw output?   string
    +--rw switch
    |  +--rw virtual
    |     +--rw link?   uint8
    +--rw srr-queue
    |  +--rw bandwidth
    |     +--rw shape
    |     |  +--rw weight1?   uint16
    |     |  +--rw weight2?   uint16
    |     |  +--rw weight3?   uint16
    |     |  +--rw weight4?   uint16
    |     +--rw share
    |        +--rw weight1?   uint8
    |        +--rw weight2?   uint8
    |        +--rw weight3?   uint8
    |        +--rw weight4?   uint8
    o--rw macsec?              empty {ios-features:macsec-switch}?
    o--rw macsec-option {ios-features:macsec-switch}?
    |  +--rw macsec
    |     o--rw replay-protection
    |     |  o--rw window-size?   uint32
    |     +--rw network-link?        empty
    |     +--rw strict?              empty
    +--rw l2protocol-tunnel
       +--rw drop-threshold
       |  +--rw cdp
       |  |  +--rw pps_num?   uint16
       |  +--rw stp
       |  |  +--rw pps_num?   uint16
       |  +--rw vtp
       |  |  +--rw pps_num?   uint16
       |  +--rw lldp
       |  |  +--rw pps_num?   uint16
       |  +--rw point-to-point
       |     +--rw lacp
       |     |  +--rw pps_num?   uint16
       |     +--rw pagp
       |     |  +--rw pps_num?   uint16
       |     +--rw udld
       |        +--rw pps_num?   uint16
       +--rw shutdown-threshold
       |  +--rw cdp
       |  |  +--rw pps_num?   uint16
       |  +--rw stp
       |  |  +--rw pps_num?   uint16
       |  +--rw vtp
       |  |  +--rw pps_num?   uint16
       |  +--rw lldp
       |  |  +--rw pps_num?   uint16
       |  +--rw point-to-point
       |     +--rw lacp
       |     |  +--rw pps_num?   uint16
       |     +--rw pagp
       |     |  +--rw pps_num?   uint16
       |     +--rw udld
       |        +--rw pps_num?   uint16
       +--rw cdp?                  empty
       +--rw stp?                  empty
       +--rw vtp?                  empty
       +--rw lldp?                 empty
       +--rw point-to-point
          +--rw lacp?   empty
          +--rw pagp?   empty
          +--rw udld?   empty
  augment /ios:native/ios:interface/ios:ucse/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:Ethernet-Internal/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:switchport:
    o--rw access
    |  o--rw vlan
    |     o--rw vlan?   union
    |     o--rw name?   string
    o--rw block
    |  o--rw multicast?   empty
    |  o--rw unicast?     empty
    o--rw mode
    |  o--rw (mode-choice)?
    |     o--:(access)
    |     |  o--rw access!
    |     o--:(dot1q-tunnel)
    |     |  o--rw dot1q-tunnel!
    |     o--:(dynamic)
    |     |  o--rw dynamic?        enumeration
    |     o--:(private-vlan)
    |     |  o--rw private-vlan
    |     |     o--rw trunk!
    |     |     |  o--rw trunk-config?   enumeration
    |     |     o--rw host?          empty
    |     |     o--rw promiscuous?   empty
    |     o--:(trunk)
    |        o--rw trunk!
    o--rw nonegotiate?          empty
    o--rw port-security-cfg?    empty
    o--rw port-security-conf
    |  o--rw port-security
    |     o--rw aging
    |     |  o--rw static?   empty
    |     |  o--rw time?     uint16
    |     |  o--rw type?     enumeration
    |     o--rw mac-address
    |     |  o--rw sticky?       empty
    |     |  o--rw hw-address?   yang:mac-address
    |     |  o--rw vlan?         uint16
    |     o--rw maxcount* [max-addresses]
    |     |  o--rw max-addresses    uint16
    |     |  o--rw vlan?            string
    |     o--rw maximum
    |     |  o--rw max-addresses?   uint16
    |     |  o--rw vlan?            string
    |     o--rw violation
    |        o--rw (violation-choice)?
    |           o--:(protect)
    |           |  o--rw protect?    empty
    |           o--:(restrict)
    |           |  o--rw restrict?   empty
    |           o--:(shutdown)
    |              o--rw shutdown
    |                 o--rw vlan?   empty
    o--rw port-security!
    |  o--rw aging
    |  |  o--rw static?   empty
    |  |  o--rw time?     uint16
    |  |  o--rw type?     enumeration
    |  o--rw mac-address
    |  |  o--rw sticky?       empty
    |  |  o--rw hw-address?   yang:mac-address
    |  |  o--rw vlan?         uint16
    |  o--rw maximum
    |  |  o--rw max-addresses?   uint16
    |  |  o--rw vlan?            string
    |  o--rw violation?     enumeration
    o--rw trunk
    |  o--rw allowed
    |  |  o--rw vlan
    |  |     o--rw (vlan-choice)?
    |  |        o--:(vlans)
    |  |        |  o--rw vlans?    union
    |  |        o--:(all)
    |  |        |  o--rw all?      empty
    |  |        o--:(none)
    |  |        |  o--rw none?     empty
    |  |        o--:(add)
    |  |        |  o--rw add?      union
    |  |        o--:(except)
    |  |        |  o--rw except?   union
    |  |        o--:(remove)
    |  |           o--rw remove?   union
    |  o--rw encapsulation?   enumeration
    |  o--rw native
    |  |  o--rw vlan-config
    |  |  |  o--rw tag?       boolean
    |  |  |  o--rw vlan-id?   uint16
    |  |  o--rw vlan?          union
    |  o--rw pruning
    |     o--rw vlan
    |        o--rw (vlan-choice)?
    |           o--:(vlans)
    |           |  o--rw vlans*    union
    |           o--:(add)
    |           |  o--rw add?      union
    |           o--:(except)
    |           |  o--rw except*   union
    |           o--:(none)
    |           |  o--rw none?     empty
    |           o--:(remove)
    |              o--rw remove?   union
    o--rw voice
    |  o--rw vlan
    |  |  o--rw vlan?   union
    |  |  o--rw name?   string
    |  o--rw detect
    |     o--rw cisco-phone!
    |        o--rw full-duplex?   empty
    o--rw priority
    |  o--rw extend
    |     o--rw (trust-choice)?
    |        o--:(trust)
    |        |  o--rw trust?   empty
    |        o--:(cos)
    |           o--rw cos?     uint8
    o--rw autostate
    |  o--rw exclude?   empty
    o--rw protected?            empty
    o--rw host?                 empty
    o--rw private-vlan
    |  o--rw association
    |  |  o--rw host
    |  |  |  o--rw primary-range?     uint16
    |  |  |  o--rw secondary-range?   uint16
    |  |  o--rw mapping
    |  |     o--rw primary-range?     uint16
    |  |     o--rw secondary-range?   string
    |  |     o--rw add?               string
    |  |     o--rw remove?            string
    |  o--rw host-association
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   uint16
    |  o--rw mapping
    |  |  o--rw trunk?             empty
    |  |  o--rw primary-range?     uint16
    |  |  o--rw secondary-range?   string
    |  |  o--rw add?               string
    |  |  o--rw remove?            string
    |  o--rw trunk
    |     o--rw allowed
    |     |  o--rw vlan
    |     |     o--rw vlans?   union
    |     o--rw native
    |        o--rw vlan
    |           o--rw vlans?   uint16
    |           o--rw tag?     empty
    o--rw vepa
    |  o--rw enabled?   empty
    o--rw app-interface?        empty
  augment /ios:native/ios:macro/ios:auto:
    +--rw execute* [trigger-event]
    |  +--rw trigger-event    string
    |  +--rw builtin
    |     +--rw smart-port-configuration?   enumeration
    |     +--rw parameters?                 string
    +--rw device
    |  +--rw media-player?   string
    |  +--rw ip-camera?      string
    +--rw global
       +--rw processing?   empty
  augment /ios:native/ios:boot/ios:system:
    +--rw switch
       +--rw switch-number* [range]
       |  +--rw range             uint8
       |  +--rw boot-container
       |  |  +--rw boot-filename* [filename]
       |  |     +--rw filename    string
       |  o--rw flash-1-path?     string
       |  x--rw flash-path?       string
       |  x--rw tftp-path?        string
       +--rw all
          +--rw boot-container
          |  +--rw boot-filename* [filename]
          |     +--rw filename    string
          o--rw flash-1?          string
          o--rw flash?            string
          x--rw tftp?             string
  augment /ios:native/ios:boot:
    +--rw enable-break-per-switch
    |  +--rw enable-break* [switch]
    |     +--rw switch    uint8
    x--rw enable-break!
    |  x--rw switch?   uint8
    +--rw manual!
       +--rw switch?   uint8
  augment /ios:native/ios:module:
    +--rw provision {ios-features:module}?
       +--rw switch* [number]
          +--rw number     uint8
          +--rw chassis
          |  +--rw chassis-type?   uint32
          |  +--rw base-mac?       string
          +--rw slot* [number]
             +--rw number       uint8
             +--rw slot-type?   uint32
             +--rw base-mac?    string
  augment /ios:native/ios:sdm:
    +--rw prefer!
       +--rw (sdm-prefer-choice)?
          +--:(default)
          |  +--rw default?   empty
          +--:(qos)
             +--rw qos?       empty
  augment /ios:native/ios:setup:
    +--rw express?   boolean {ios-features:setup}?
  augment /ios:native:
    +--rw energywise
       +--rw domain* [word]
          +--rw word        string
          +--rw security
             +--rw shared-secret
                +--rw zero* [word]
                   +--rw word        string
                   +--rw protocol
                      +--rw udp
                         +--rw port?   uint16
                         +--rw ip?     inet:ipv4-address
  augment /ios:native:
    +--rw service-template* [word]
       +--rw word                   string
       +--rw access-group-config* [name]
       |  +--rw name    string
       o--rw access-group?          string
       +--rw inactivity-timer
       |  +--rw value?   uint16
       |  +--rw probe?   empty
       +--rw vlan?                  uint16
       +--rw linksec
       |  +--rw policy?   enumeration
       +--rw mdns-service-policy?   string
       +--rw voice
       |  +--rw vlan?   empty
       +--rw sgt?                   uint16
       +--rw absolute-timer?        uint32
       +--rw description?           string
       +--rw interface-template* [name]
       |  +--rw name    string
       +--rw tunnel
       |  +--rw type
       |     +--rw capwap
       |        +--rw name?   string
       +--rw vnid?                  string
       +--rw redirect
       |  +--rw append
       |  |  +--rw client-mac?   string
       |  |  +--rw switch-mac?   string
       |  +--rw url
       |     +--rw url_name?   string
       |     +--rw match
       |        +--rw acl_name?   string
       |        +--rw action?     enumeration
       +--rw dns-acl
       |  +--rw preauth?   string
       +--rw service-policy
       |  +--rw qos
       |     +--rw input?    string
       |     +--rw output?   string
       +--rw tag-config* [name]
       |  +--rw name    string
       o--rw tag?                   string
  augment /ios:native/ios-arp:arp:
    +--rw access-list* [name]
       +--rw name       string
       +--rw permit
       |  +--rw ip
       |  |  +--rw sender-ip-address* [ip-address]
       |  |  |  +--rw ip-address         string
       |  |  |  +--rw ip-address-mask?   string
       |  |  |  +--rw mac
       |  |  |     +--rw sender-mac-address* [mac-address]
       |  |  |     |  +--rw mac-address         string
       |  |  |     |  +--rw mac-address-mask?   string
       |  |  |     |  +--rw log?                empty
       |  |  |     +--rw any!
       |  |  |     |  +--rw log?   empty
       |  |  |     +--rw host
       |  |  |        +--rw sender-mac-address* [mac-address]
       |  |  |           +--rw mac-address    string
       |  |  |           +--rw log?           empty
       |  |  +--rw any
       |  |  |  +--rw mac
       |  |  |     +--rw sender-mac-address* [mac-address]
       |  |  |     |  +--rw mac-address         string
       |  |  |     |  +--rw mac-address-mask?   string
       |  |  |     |  +--rw log?                empty
       |  |  |     +--rw any!
       |  |  |     |  +--rw log?   empty
       |  |  |     +--rw host
       |  |  |        +--rw sender-mac-address* [mac-address]
       |  |  |           +--rw mac-address    string
       |  |  |           +--rw log?           empty
       |  |  +--rw host
       |  |     +--rw ip-address* [ip-address]
       |  |        +--rw ip-address    string
       |  |        +--rw mac
       |  |           +--rw sender-mac-address* [mac-address]
       |  |           |  +--rw mac-address         string
       |  |           |  +--rw mac-address-mask?   string
       |  |           |  +--rw log?                empty
       |  |           +--rw any!
       |  |           |  +--rw log?   empty
       |  |           +--rw host
       |  |              +--rw sender-mac-address* [mac-address]
       |  |                 +--rw mac-address    string
       |  |                 +--rw log?           empty
       |  +--rw request
       |  |  +--rw ip
       |  |     +--rw sender-ip-address* [ip-address]
       |  |     |  +--rw ip-address         string
       |  |     |  +--rw ip-address-mask?   string
       |  |     |  +--rw mac
       |  |     |     +--rw sender-mac-address* [mac-address]
       |  |     |     |  +--rw mac-address         string
       |  |     |     |  +--rw mac-address-mask?   string
       |  |     |     |  +--rw log?                empty
       |  |     |     +--rw any!
       |  |     |     |  +--rw log?   empty
       |  |     |     +--rw host
       |  |     |        +--rw sender-mac-address* [mac-address]
       |  |     |           +--rw mac-address    string
       |  |     |           +--rw log?           empty
       |  |     +--rw any
       |  |     |  +--rw mac
       |  |     |     +--rw sender-mac-address* [mac-address]
       |  |     |     |  +--rw mac-address         string
       |  |     |     |  +--rw mac-address-mask?   string
       |  |     |     |  +--rw log?                empty
       |  |     |     +--rw any!
       |  |     |     |  +--rw log?   empty
       |  |     |     +--rw host
       |  |     |        +--rw sender-mac-address* [mac-address]
       |  |     |           +--rw mac-address    string
       |  |     |           +--rw log?           empty
       |  |     +--rw host
       |  |        +--rw ip-address* [ip-address]
       |  |           +--rw ip-address    string
       |  |           +--rw mac
       |  |              +--rw sender-mac-address* [mac-address]
       |  |              |  +--rw mac-address         string
       |  |              |  +--rw mac-address-mask?   string
       |  |              |  +--rw log?                empty
       |  |              +--rw any!
       |  |              |  +--rw log?   empty
       |  |              +--rw host
       |  |                 +--rw sender-mac-address* [mac-address]
       |  |                    +--rw mac-address    string
       |  |                    +--rw log?           empty
       |  +--rw response
       |     +--rw ip
       |        +--rw sender-ip-address* [ip-address]
       |        |  +--rw ip-address         string
       |        |  +--rw ip-address-mask?   string
       |        |  +--rw mac
       |        |     +--rw sender-mac-address* [mac-address]
       |        |     |  +--rw mac-address         string
       |        |     |  +--rw mac-address-mask?   string
       |        |     |  +--rw log?                empty
       |        |     +--rw any!
       |        |     |  +--rw log?   empty
       |        |     +--rw host
       |        |        +--rw sender-mac-address* [mac-address]
       |        |           +--rw mac-address    string
       |        |           +--rw log?           empty
       |        +--rw any
       |        |  +--rw mac
       |        |     +--rw sender-mac-address* [mac-address]
       |        |     |  +--rw mac-address         string
       |        |     |  +--rw mac-address-mask?   string
       |        |     |  +--rw log?                empty
       |        |     +--rw any!
       |        |     |  +--rw log?   empty
       |        |     +--rw host
       |        |        +--rw sender-mac-address* [mac-address]
       |        |           +--rw mac-address    string
       |        |           +--rw log?           empty
       |        +--rw host
       |           +--rw ip-address* [ip-address]
       |              +--rw ip-address    string
       |              +--rw mac
       |                 +--rw sender-mac-address* [mac-address]
       |                 |  +--rw mac-address         string
       |                 |  +--rw mac-address-mask?   string
       |                 |  +--rw log?                empty
       |                 +--rw any!
       |                 |  +--rw log?   empty
       |                 +--rw host
       |                    +--rw sender-mac-address* [mac-address]
       |                       +--rw mac-address    string
       |                       +--rw log?           empty
       +--rw deny
       |  +--rw ip
       |  |  +--rw sender-ip-address* [ip-address]
       |  |  |  +--rw ip-address         string
       |  |  |  +--rw ip-address-mask?   string
       |  |  |  +--rw mac
       |  |  |     +--rw sender-mac-address* [mac-address]
       |  |  |     |  +--rw mac-address         string
       |  |  |     |  +--rw mac-address-mask?   string
       |  |  |     |  +--rw log?                empty
       |  |  |     +--rw any!
       |  |  |     |  +--rw log?   empty
       |  |  |     +--rw host
       |  |  |        +--rw sender-mac-address* [mac-address]
       |  |  |           +--rw mac-address    string
       |  |  |           +--rw log?           empty
       |  |  +--rw any
       |  |  |  +--rw mac
       |  |  |     +--rw sender-mac-address* [mac-address]
       |  |  |     |  +--rw mac-address         string
       |  |  |     |  +--rw mac-address-mask?   string
       |  |  |     |  +--rw log?                empty
       |  |  |     +--rw any!
       |  |  |     |  +--rw log?   empty
       |  |  |     +--rw host
       |  |  |        +--rw sender-mac-address* [mac-address]
       |  |  |           +--rw mac-address    string
       |  |  |           +--rw log?           empty
       |  |  +--rw host
       |  |     +--rw ip-address* [ip-address]
       |  |        +--rw ip-address    string
       |  |        +--rw mac
       |  |           +--rw sender-mac-address* [mac-address]
       |  |           |  +--rw mac-address         string
       |  |           |  +--rw mac-address-mask?   string
       |  |           |  +--rw log?                empty
       |  |           +--rw any!
       |  |           |  +--rw log?   empty
       |  |           +--rw host
       |  |              +--rw sender-mac-address* [mac-address]
       |  |                 +--rw mac-address    string
       |  |                 +--rw log?           empty
       |  +--rw request
       |  |  +--rw ip
       |  |     +--rw sender-ip-address* [ip-address]
       |  |     |  +--rw ip-address         string
       |  |     |  +--rw ip-address-mask?   string
       |  |     |  +--rw mac
       |  |     |     +--rw sender-mac-address* [mac-address]
       |  |     |     |  +--rw mac-address         string
       |  |     |     |  +--rw mac-address-mask?   string
       |  |     |     |  +--rw log?                empty
       |  |     |     +--rw any!
       |  |     |     |  +--rw log?   empty
       |  |     |     +--rw host
       |  |     |        +--rw sender-mac-address* [mac-address]
       |  |     |           +--rw mac-address    string
       |  |     |           +--rw log?           empty
       |  |     +--rw any
       |  |     |  +--rw mac
       |  |     |     +--rw sender-mac-address* [mac-address]
       |  |     |     |  +--rw mac-address         string
       |  |     |     |  +--rw mac-address-mask?   string
       |  |     |     |  +--rw log?                empty
       |  |     |     +--rw any!
       |  |     |     |  +--rw log?   empty
       |  |     |     +--rw host
       |  |     |        +--rw sender-mac-address* [mac-address]
       |  |     |           +--rw mac-address    string
       |  |     |           +--rw log?           empty
       |  |     +--rw host
       |  |        +--rw ip-address* [ip-address]
       |  |           +--rw ip-address    string
       |  |           +--rw mac
       |  |              +--rw sender-mac-address* [mac-address]
       |  |              |  +--rw mac-address         string
       |  |              |  +--rw mac-address-mask?   string
       |  |              |  +--rw log?                empty
       |  |              +--rw any!
       |  |              |  +--rw log?   empty
       |  |              +--rw host
       |  |                 +--rw sender-mac-address* [mac-address]
       |  |                    +--rw mac-address    string
       |  |                    +--rw log?           empty
       |  +--rw response
       |     +--rw ip
       |        +--rw sender-ip-address* [ip-address]
       |        |  +--rw ip-address         string
       |        |  +--rw ip-address-mask?   string
       |        |  +--rw mac
       |        |     +--rw sender-mac-address* [mac-address]
       |        |     |  +--rw mac-address         string
       |        |     |  +--rw mac-address-mask?   string
       |        |     |  +--rw log?                empty
       |        |     +--rw any!
       |        |     |  +--rw log?   empty
       |        |     +--rw host
       |        |        +--rw sender-mac-address* [mac-address]
       |        |           +--rw mac-address    string
       |        |           +--rw log?           empty
       |        +--rw any
       |        |  +--rw mac
       |        |     +--rw sender-mac-address* [mac-address]
       |        |     |  +--rw mac-address         string
       |        |     |  +--rw mac-address-mask?   string
       |        |     |  +--rw log?                empty
       |        |     +--rw any!
       |        |     |  +--rw log?   empty
       |        |     +--rw host
       |        |        +--rw sender-mac-address* [mac-address]
       |        |           +--rw mac-address    string
       |        |           +--rw log?           empty
       |        +--rw host
       |           +--rw ip-address* [ip-address]
       |              +--rw ip-address    string
       |              +--rw mac
       |                 +--rw sender-mac-address* [mac-address]
       |                 |  +--rw mac-address         string
       |                 |  +--rw mac-address-mask?   string
       |                 |  +--rw log?                empty
       |                 +--rw any!
       |                 |  +--rw log?   empty
       |                 +--rw host
       |                    +--rw sender-mac-address* [mac-address]
       |                       +--rw mac-address    string
       |                       +--rw log?           empty
       +--rw default
       |  +--rw permit
       |  |  +--rw ip
       |  |  |  +--rw sender-ip-address* [ip-address]
       |  |  |  |  +--rw ip-address         string
       |  |  |  |  +--rw ip-address-mask?   string
       |  |  |  |  +--rw mac
       |  |  |  |     +--rw sender-mac-address* [mac-address]
       |  |  |  |     |  +--rw mac-address         string
       |  |  |  |     |  +--rw mac-address-mask?   string
       |  |  |  |     |  +--rw log?                empty
       |  |  |  |     +--rw any!
       |  |  |  |     |  +--rw log?   empty
       |  |  |  |     +--rw host
       |  |  |  |        +--rw sender-mac-address* [mac-address]
       |  |  |  |           +--rw mac-address    string
       |  |  |  |           +--rw log?           empty
       |  |  |  +--rw any
       |  |  |  |  +--rw mac
       |  |  |  |     +--rw sender-mac-address* [mac-address]
       |  |  |  |     |  +--rw mac-address         string
       |  |  |  |     |  +--rw mac-address-mask?   string
       |  |  |  |     |  +--rw log?                empty
       |  |  |  |     +--rw any!
       |  |  |  |     |  +--rw log?   empty
       |  |  |  |     +--rw host
       |  |  |  |        +--rw sender-mac-address* [mac-address]
       |  |  |  |           +--rw mac-address    string
       |  |  |  |           +--rw log?           empty
       |  |  |  +--rw host
       |  |  |     +--rw ip-address* [ip-address]
       |  |  |        +--rw ip-address    string
       |  |  |        +--rw mac
       |  |  |           +--rw sender-mac-address* [mac-address]
       |  |  |           |  +--rw mac-address         string
       |  |  |           |  +--rw mac-address-mask?   string
       |  |  |           |  +--rw log?                empty
       |  |  |           +--rw any!
       |  |  |           |  +--rw log?   empty
       |  |  |           +--rw host
       |  |  |              +--rw sender-mac-address* [mac-address]
       |  |  |                 +--rw mac-address    string
       |  |  |                 +--rw log?           empty
       |  |  +--rw request
       |  |  |  +--rw ip
       |  |  |     +--rw sender-ip-address* [ip-address]
       |  |  |     |  +--rw ip-address         string
       |  |  |     |  +--rw ip-address-mask?   string
       |  |  |     |  +--rw mac
       |  |  |     |     +--rw sender-mac-address* [mac-address]
       |  |  |     |     |  +--rw mac-address         string
       |  |  |     |     |  +--rw mac-address-mask?   string
       |  |  |     |     |  +--rw log?                empty
       |  |  |     |     +--rw any!
       |  |  |     |     |  +--rw log?   empty
       |  |  |     |     +--rw host
       |  |  |     |        +--rw sender-mac-address* [mac-address]
       |  |  |     |           +--rw mac-address    string
       |  |  |     |           +--rw log?           empty
       |  |  |     +--rw any
       |  |  |     |  +--rw mac
       |  |  |     |     +--rw sender-mac-address* [mac-address]
       |  |  |     |     |  +--rw mac-address         string
       |  |  |     |     |  +--rw mac-address-mask?   string
       |  |  |     |     |  +--rw log?                empty
       |  |  |     |     +--rw any!
       |  |  |     |     |  +--rw log?   empty
       |  |  |     |     +--rw host
       |  |  |     |        +--rw sender-mac-address* [mac-address]
       |  |  |     |           +--rw mac-address    string
       |  |  |     |           +--rw log?           empty
       |  |  |     +--rw host
       |  |  |        +--rw ip-address* [ip-address]
       |  |  |           +--rw ip-address    string
       |  |  |           +--rw mac
       |  |  |              +--rw sender-mac-address* [mac-address]
       |  |  |              |  +--rw mac-address         string
       |  |  |              |  +--rw mac-address-mask?   string
       |  |  |              |  +--rw log?                empty
       |  |  |              +--rw any!
       |  |  |              |  +--rw log?   empty
       |  |  |              +--rw host
       |  |  |                 +--rw sender-mac-address* [mac-address]
       |  |  |                    +--rw mac-address    string
       |  |  |                    +--rw log?           empty
       |  |  +--rw response
       |  |     +--rw ip
       |  |        +--rw sender-ip-address* [ip-address]
       |  |        |  +--rw ip-address         string
       |  |        |  +--rw ip-address-mask?   string
       |  |        |  +--rw mac
       |  |        |     +--rw sender-mac-address* [mac-address]
       |  |        |     |  +--rw mac-address         string
       |  |        |     |  +--rw mac-address-mask?   string
       |  |        |     |  +--rw log?                empty
       |  |        |     +--rw any!
       |  |        |     |  +--rw log?   empty
       |  |        |     +--rw host
       |  |        |        +--rw sender-mac-address* [mac-address]
       |  |        |           +--rw mac-address    string
       |  |        |           +--rw log?           empty
       |  |        +--rw any
       |  |        |  +--rw mac
       |  |        |     +--rw sender-mac-address* [mac-address]
       |  |        |     |  +--rw mac-address         string
       |  |        |     |  +--rw mac-address-mask?   string
       |  |        |     |  +--rw log?                empty
       |  |        |     +--rw any!
       |  |        |     |  +--rw log?   empty
       |  |        |     +--rw host
       |  |        |        +--rw sender-mac-address* [mac-address]
       |  |        |           +--rw mac-address    string
       |  |        |           +--rw log?           empty
       |  |        +--rw host
       |  |           +--rw ip-address* [ip-address]
       |  |              +--rw ip-address    string
       |  |              +--rw mac
       |  |                 +--rw sender-mac-address* [mac-address]
       |  |                 |  +--rw mac-address         string
       |  |                 |  +--rw mac-address-mask?   string
       |  |                 |  +--rw log?                empty
       |  |                 +--rw any!
       |  |                 |  +--rw log?   empty
       |  |                 +--rw host
       |  |                    +--rw sender-mac-address* [mac-address]
       |  |                       +--rw mac-address    string
       |  |                       +--rw log?           empty
       |  +--rw deny
       |     +--rw ip
       |     |  +--rw sender-ip-address* [ip-address]
       |     |  |  +--rw ip-address         string
       |     |  |  +--rw ip-address-mask?   string
       |     |  |  +--rw mac
       |     |  |     +--rw sender-mac-address* [mac-address]
       |     |  |     |  +--rw mac-address         string
       |     |  |     |  +--rw mac-address-mask?   string
       |     |  |     |  +--rw log?                empty
       |     |  |     +--rw any!
       |     |  |     |  +--rw log?   empty
       |     |  |     +--rw host
       |     |  |        +--rw sender-mac-address* [mac-address]
       |     |  |           +--rw mac-address    string
       |     |  |           +--rw log?           empty
       |     |  +--rw any
       |     |  |  +--rw mac
       |     |  |     +--rw sender-mac-address* [mac-address]
       |     |  |     |  +--rw mac-address         string
       |     |  |     |  +--rw mac-address-mask?   string
       |     |  |     |  +--rw log?                empty
       |     |  |     +--rw any!
       |     |  |     |  +--rw log?   empty
       |     |  |     +--rw host
       |     |  |        +--rw sender-mac-address* [mac-address]
       |     |  |           +--rw mac-address    string
       |     |  |           +--rw log?           empty
       |     |  +--rw host
       |     |     +--rw ip-address* [ip-address]
       |     |        +--rw ip-address    string
       |     |        +--rw mac
       |     |           +--rw sender-mac-address* [mac-address]
       |     |           |  +--rw mac-address         string
       |     |           |  +--rw mac-address-mask?   string
       |     |           |  +--rw log?                empty
       |     |           +--rw any!
       |     |           |  +--rw log?   empty
       |     |           +--rw host
       |     |              +--rw sender-mac-address* [mac-address]
       |     |                 +--rw mac-address    string
       |     |                 +--rw log?           empty
       |     +--rw request
       |     |  +--rw ip
       |     |     +--rw sender-ip-address* [ip-address]
       |     |     |  +--rw ip-address         string
       |     |     |  +--rw ip-address-mask?   string
       |     |     |  +--rw mac
       |     |     |     +--rw sender-mac-address* [mac-address]
       |     |     |     |  +--rw mac-address         string
       |     |     |     |  +--rw mac-address-mask?   string
       |     |     |     |  +--rw log?                empty
       |     |     |     +--rw any!
       |     |     |     |  +--rw log?   empty
       |     |     |     +--rw host
       |     |     |        +--rw sender-mac-address* [mac-address]
       |     |     |           +--rw mac-address    string
       |     |     |           +--rw log?           empty
       |     |     +--rw any
       |     |     |  +--rw mac
       |     |     |     +--rw sender-mac-address* [mac-address]
       |     |     |     |  +--rw mac-address         string
       |     |     |     |  +--rw mac-address-mask?   string
       |     |     |     |  +--rw log?                empty
       |     |     |     +--rw any!
       |     |     |     |  +--rw log?   empty
       |     |     |     +--rw host
       |     |     |        +--rw sender-mac-address* [mac-address]
       |     |     |           +--rw mac-address    string
       |     |     |           +--rw log?           empty
       |     |     +--rw host
       |     |        +--rw ip-address* [ip-address]
       |     |           +--rw ip-address    string
       |     |           +--rw mac
       |     |              +--rw sender-mac-address* [mac-address]
       |     |              |  +--rw mac-address         string
       |     |              |  +--rw mac-address-mask?   string
       |     |              |  +--rw log?                empty
       |     |              +--rw any!
       |     |              |  +--rw log?   empty
       |     |              +--rw host
       |     |                 +--rw sender-mac-address* [mac-address]
       |     |                    +--rw mac-address    string
       |     |                    +--rw log?           empty
       |     +--rw response
       |        +--rw ip
       |           +--rw sender-ip-address* [ip-address]
       |           |  +--rw ip-address         string
       |           |  +--rw ip-address-mask?   string
       |           |  +--rw mac
       |           |     +--rw sender-mac-address* [mac-address]
       |           |     |  +--rw mac-address         string
       |           |     |  +--rw mac-address-mask?   string
       |           |     |  +--rw log?                empty
       |           |     +--rw any!
       |           |     |  +--rw log?   empty
       |           |     +--rw host
       |           |        +--rw sender-mac-address* [mac-address]
       |           |           +--rw mac-address    string
       |           |           +--rw log?           empty
       |           +--rw any
       |           |  +--rw mac
       |           |     +--rw sender-mac-address* [mac-address]
       |           |     |  +--rw mac-address         string
       |           |     |  +--rw mac-address-mask?   string
       |           |     |  +--rw log?                empty
       |           |     +--rw any!
       |           |     |  +--rw log?   empty
       |           |     +--rw host
       |           |        +--rw sender-mac-address* [mac-address]
       |           |           +--rw mac-address    string
       |           |           +--rw log?           empty
       |           +--rw host
       |              +--rw ip-address* [ip-address]
       |                 +--rw ip-address    string
       |                 +--rw mac
       |                    +--rw sender-mac-address* [mac-address]
       |                    |  +--rw mac-address         string
       |                    |  +--rw mac-address-mask?   string
       |                    |  +--rw log?                empty
       |                    +--rw any!
       |                    |  +--rw log?   empty
       |                    +--rw host
       |                       +--rw sender-mac-address* [mac-address]
       |                          +--rw mac-address    string
       |                          +--rw log?           empty
       +--rw no
          +--rw permit
          |  +--rw ip
          |  |  +--rw sender-ip-address* [ip-address]
          |  |  |  +--rw ip-address         string
          |  |  |  +--rw ip-address-mask?   string
          |  |  |  +--rw mac
          |  |  |     +--rw sender-mac-address* [mac-address]
          |  |  |     |  +--rw mac-address         string
          |  |  |     |  +--rw mac-address-mask?   string
          |  |  |     |  +--rw log?                empty
          |  |  |     +--rw any!
          |  |  |     |  +--rw log?   empty
          |  |  |     +--rw host
          |  |  |        +--rw sender-mac-address* [mac-address]
          |  |  |           +--rw mac-address    string
          |  |  |           +--rw log?           empty
          |  |  +--rw any
          |  |  |  +--rw mac
          |  |  |     +--rw sender-mac-address* [mac-address]
          |  |  |     |  +--rw mac-address         string
          |  |  |     |  +--rw mac-address-mask?   string
          |  |  |     |  +--rw log?                empty
          |  |  |     +--rw any!
          |  |  |     |  +--rw log?   empty
          |  |  |     +--rw host
          |  |  |        +--rw sender-mac-address* [mac-address]
          |  |  |           +--rw mac-address    string
          |  |  |           +--rw log?           empty
          |  |  +--rw host
          |  |     +--rw ip-address* [ip-address]
          |  |        +--rw ip-address    string
          |  |        +--rw mac
          |  |           +--rw sender-mac-address* [mac-address]
          |  |           |  +--rw mac-address         string
          |  |           |  +--rw mac-address-mask?   string
          |  |           |  +--rw log?                empty
          |  |           +--rw any!
          |  |           |  +--rw log?   empty
          |  |           +--rw host
          |  |              +--rw sender-mac-address* [mac-address]
          |  |                 +--rw mac-address    string
          |  |                 +--rw log?           empty
          |  +--rw request
          |  |  +--rw ip
          |  |     +--rw sender-ip-address* [ip-address]
          |  |     |  +--rw ip-address         string
          |  |     |  +--rw ip-address-mask?   string
          |  |     |  +--rw mac
          |  |     |     +--rw sender-mac-address* [mac-address]
          |  |     |     |  +--rw mac-address         string
          |  |     |     |  +--rw mac-address-mask?   string
          |  |     |     |  +--rw log?                empty
          |  |     |     +--rw any!
          |  |     |     |  +--rw log?   empty
          |  |     |     +--rw host
          |  |     |        +--rw sender-mac-address* [mac-address]
          |  |     |           +--rw mac-address    string
          |  |     |           +--rw log?           empty
          |  |     +--rw any
          |  |     |  +--rw mac
          |  |     |     +--rw sender-mac-address* [mac-address]
          |  |     |     |  +--rw mac-address         string
          |  |     |     |  +--rw mac-address-mask?   string
          |  |     |     |  +--rw log?                empty
          |  |     |     +--rw any!
          |  |     |     |  +--rw log?   empty
          |  |     |     +--rw host
          |  |     |        +--rw sender-mac-address* [mac-address]
          |  |     |           +--rw mac-address    string
          |  |     |           +--rw log?           empty
          |  |     +--rw host
          |  |        +--rw ip-address* [ip-address]
          |  |           +--rw ip-address    string
          |  |           +--rw mac
          |  |              +--rw sender-mac-address* [mac-address]
          |  |              |  +--rw mac-address         string
          |  |              |  +--rw mac-address-mask?   string
          |  |              |  +--rw log?                empty
          |  |              +--rw any!
          |  |              |  +--rw log?   empty
          |  |              +--rw host
          |  |                 +--rw sender-mac-address* [mac-address]
          |  |                    +--rw mac-address    string
          |  |                    +--rw log?           empty
          |  +--rw response
          |     +--rw ip
          |        +--rw sender-ip-address* [ip-address]
          |        |  +--rw ip-address         string
          |        |  +--rw ip-address-mask?   string
          |        |  +--rw mac
          |        |     +--rw sender-mac-address* [mac-address]
          |        |     |  +--rw mac-address         string
          |        |     |  +--rw mac-address-mask?   string
          |        |     |  +--rw log?                empty
          |        |     +--rw any!
          |        |     |  +--rw log?   empty
          |        |     +--rw host
          |        |        +--rw sender-mac-address* [mac-address]
          |        |           +--rw mac-address    string
          |        |           +--rw log?           empty
          |        +--rw any
          |        |  +--rw mac
          |        |     +--rw sender-mac-address* [mac-address]
          |        |     |  +--rw mac-address         string
          |        |     |  +--rw mac-address-mask?   string
          |        |     |  +--rw log?                empty
          |        |     +--rw any!
          |        |     |  +--rw log?   empty
          |        |     +--rw host
          |        |        +--rw sender-mac-address* [mac-address]
          |        |           +--rw mac-address    string
          |        |           +--rw log?           empty
          |        +--rw host
          |           +--rw ip-address* [ip-address]
          |              +--rw ip-address    string
          |              +--rw mac
          |                 +--rw sender-mac-address* [mac-address]
          |                 |  +--rw mac-address         string
          |                 |  +--rw mac-address-mask?   string
          |                 |  +--rw log?                empty
          |                 +--rw any!
          |                 |  +--rw log?   empty
          |                 +--rw host
          |                    +--rw sender-mac-address* [mac-address]
          |                       +--rw mac-address    string
          |                       +--rw log?           empty
          +--rw deny
             +--rw ip
             |  +--rw sender-ip-address* [ip-address]
             |  |  +--rw ip-address         string
             |  |  +--rw ip-address-mask?   string
             |  |  +--rw mac
             |  |     +--rw sender-mac-address* [mac-address]
             |  |     |  +--rw mac-address         string
             |  |     |  +--rw mac-address-mask?   string
             |  |     |  +--rw log?                empty
             |  |     +--rw any!
             |  |     |  +--rw log?   empty
             |  |     +--rw host
             |  |        +--rw sender-mac-address* [mac-address]
             |  |           +--rw mac-address    string
             |  |           +--rw log?           empty
             |  +--rw any
             |  |  +--rw mac
             |  |     +--rw sender-mac-address* [mac-address]
             |  |     |  +--rw mac-address         string
             |  |     |  +--rw mac-address-mask?   string
             |  |     |  +--rw log?                empty
             |  |     +--rw any!
             |  |     |  +--rw log?   empty
             |  |     +--rw host
             |  |        +--rw sender-mac-address* [mac-address]
             |  |           +--rw mac-address    string
             |  |           +--rw log?           empty
             |  +--rw host
             |     +--rw ip-address* [ip-address]
             |        +--rw ip-address    string
             |        +--rw mac
             |           +--rw sender-mac-address* [mac-address]
             |           |  +--rw mac-address         string
             |           |  +--rw mac-address-mask?   string
             |           |  +--rw log?                empty
             |           +--rw any!
             |           |  +--rw log?   empty
             |           +--rw host
             |              +--rw sender-mac-address* [mac-address]
             |                 +--rw mac-address    string
             |                 +--rw log?           empty
             +--rw request
             |  +--rw ip
             |     +--rw sender-ip-address* [ip-address]
             |     |  +--rw ip-address         string
             |     |  +--rw ip-address-mask?   string
             |     |  +--rw mac
             |     |     +--rw sender-mac-address* [mac-address]
             |     |     |  +--rw mac-address         string
             |     |     |  +--rw mac-address-mask?   string
             |     |     |  +--rw log?                empty
             |     |     +--rw any!
             |     |     |  +--rw log?   empty
             |     |     +--rw host
             |     |        +--rw sender-mac-address* [mac-address]
             |     |           +--rw mac-address    string
             |     |           +--rw log?           empty
             |     +--rw any
             |     |  +--rw mac
             |     |     +--rw sender-mac-address* [mac-address]
             |     |     |  +--rw mac-address         string
             |     |     |  +--rw mac-address-mask?   string
             |     |     |  +--rw log?                empty
             |     |     +--rw any!
             |     |     |  +--rw log?   empty
             |     |     +--rw host
             |     |        +--rw sender-mac-address* [mac-address]
             |     |           +--rw mac-address    string
             |     |           +--rw log?           empty
             |     +--rw host
             |        +--rw ip-address* [ip-address]
             |           +--rw ip-address    string
             |           +--rw mac
             |              +--rw sender-mac-address* [mac-address]
             |              |  +--rw mac-address         string
             |              |  +--rw mac-address-mask?   string
             |              |  +--rw log?                empty
             |              +--rw any!
             |              |  +--rw log?   empty
             |              +--rw host
             |                 +--rw sender-mac-address* [mac-address]
             |                    +--rw mac-address    string
             |                    +--rw log?           empty
             +--rw response
                +--rw ip
                   +--rw sender-ip-address* [ip-address]
                   |  +--rw ip-address         string
                   |  +--rw ip-address-mask?   string
                   |  +--rw mac
                   |     +--rw sender-mac-address* [mac-address]
                   |     |  +--rw mac-address         string
                   |     |  +--rw mac-address-mask?   string
                   |     |  +--rw log?                empty
                   |     +--rw any!
                   |     |  +--rw log?   empty
                   |     +--rw host
                   |        +--rw sender-mac-address* [mac-address]
                   |           +--rw mac-address    string
                   |           +--rw log?           empty
                   +--rw any
                   |  +--rw mac
                   |     +--rw sender-mac-address* [mac-address]
                   |     |  +--rw mac-address         string
                   |     |  +--rw mac-address-mask?   string
                   |     |  +--rw log?                empty
                   |     +--rw any!
                   |     |  +--rw log?   empty
                   |     +--rw host
                   |        +--rw sender-mac-address* [mac-address]
                   |           +--rw mac-address    string
                   |           +--rw log?           empty
                   +--rw host
                      +--rw ip-address* [ip-address]
                         +--rw ip-address    string
                         +--rw mac
                            +--rw sender-mac-address* [mac-address]
                            |  +--rw mac-address         string
                            |  +--rw mac-address-mask?   string
                            |  +--rw log?                empty
                            +--rw any!
                            |  +--rw log?   empty
                            +--rw host
                               +--rw sender-mac-address* [mac-address]
                                  +--rw mac-address    string
                                  +--rw log?           empty
  augment /ios:native/ios:ip/ios-igmp:igmp/ios-igmp:snooping-entry/ios-igmp:snooping:
    +--rw vlan
       +--rw range* [range]
          +--rw range                         uint16
          +--rw immediate-leave?              empty
          +--rw last-member-query-count?      uint8
          +--rw last-member-query-interval?   uint16
          +--rw mrouter
          |  +--rw interface?   string
          |  +--rw learn
          |     +--rw cgmp?        empty
          |     +--rw pim-dvmrp?   empty
          +--rw querier!
          |  +--rw address?             inet:ipv4-address
          |  +--rw max-response-time?   uint8
          |  +--rw query-interval?      uint16
          |  +--rw tcn
          |  |  +--rw query
          |  |     +--rw count?      uint8
          |  |     +--rw interval?   uint8
          |  +--rw timer
          |  |  +--rw expiry?   uint16
          |  +--rw version?             uint8
          +--rw robustness-variable?          uint8
          +--rw static
             +--rw ipv4* [ipv4]
                +--rw ipv4         inet:ipv4-address
                +--rw interface?   string
  augment /ios:native/ios:ip/ios-igmp:igmp/ios-igmp:snooping:
    o--rw vlan
       o--rw range* [range]
          o--rw range                         uint16
          o--rw immediate-leave?              empty
          o--rw last-member-query-count?      uint8
          o--rw last-member-query-interval?   uint16
          o--rw mrouter
          |  o--rw interface?   string
          |  o--rw learn
          |     o--rw cgmp?        empty
          |     o--rw pim-dvmrp?   empty
          o--rw querier!
          |  o--rw address?             inet:ipv4-address
          |  o--rw max-response-time?   uint8
          |  o--rw query-interval?      uint16
          |  o--rw tcn
          |  |  o--rw query
          |  |     o--rw count?      uint8
          |  |     o--rw interval?   uint8
          |  o--rw timer
          |  |  o--rw expiry?   uint16
          |  o--rw version?             uint8
          o--rw robustness-variable?          uint8
          o--rw static
             o--rw ipv4* [ipv4]
                o--rw ipv4         inet:ipv4-address
                o--rw interface?   string
  augment /ios:native:
    +--rw switch-global-config
    |  +--rw switch
    |     +--rw stack-speed?   enumeration
    +--rw switch* [number]
    |  +--rw number       uint8
    |  +--rw provision?   enumeration
    o--rw switch-virtual* [domain] {ios-features:switch-virtual}?
    |  o--rw domain         uint32
    |  o--rw virtual?       empty
    |  o--rw switch
    |  |  o--rw switch-number?   uint32
    |  |  o--rw priority?        uint32
    |  |  o--rw mode?            enumeration
    |  o--rw mac-address
    |  |  o--rw use-virtual?   empty
    |  o--rw dual-active
    |     o--rw recovery
    |     |  o--rw switch?   uint8
    |     |  o--rw ip
    |     |     o--rw address?   inet:ipv4-address
    |     |     o--rw mask?      inet:ipv4-address
    |     o--rw detection
    |        o--rw pagp!
    |           o--rw trust
    |              o--rw channel-group?   uint8
    +--rw device
    |  +--rw classifier-enable
    |  |  +--rw classifier?   empty
    |  +--rw classifier-with-condition
    |  |  +--rw classifier
    |  |     +--rw condition* [name]
    |  |     |  +--rw name    string
    |  |     |  +--rw op?     enumeration
    |  |     |  +--rw CDP
    |  |     |  |  +--rw tlv-type* [tlv-type-number]
    |  |     |  |     +--rw tlv-type-number    uint32
    |  |     |  |     +--rw value
    |  |     |  |        +--rw Integer*   uint32
    |  |     |  |        +--rw String*    string
    |  |     |  |        +--rw Regex*     string
    |  |     |  |        +--rw Hexstr*    string
    |  |     |  +--rw LLDP
    |  |     |  |  +--rw tlv-type* [tlv-type-number]
    |  |     |  |     +--rw tlv-type-number    uint32
    |  |     |  |     +--rw value
    |  |     |  |        +--rw Integer*   uint32
    |  |     |  |        +--rw String*    string
    |  |     |  |        +--rw Regex*     string
    |  |     |  |        +--rw Hexstr*    string
    |  |     |  +--rw DHCP
    |  |     |     +--rw tlv-type* [tlv-type-number]
    |  |     |        +--rw tlv-type-number    uint32
    |  |     |        +--rw value
    |  |     |           +--rw Integer*   uint32
    |  |     |           +--rw String*    string
    |  |     |           +--rw Regex*     string
    |  |     |           +--rw Hexstr*    string
    |  |     +--rw device-type* [name]
    |  |        +--rw name         string
    |  |        +--rw condition?   string
    |  o--rw config-classifier-condition-devtype
    |  |  o--rw condition* [name]
    |  |  |  o--rw name    string
    |  |  |  o--rw op?     enumeration
    |  |  |  o--rw CDP
    |  |  |  |  o--rw tlv-type* [tlv-type-number]
    |  |  |  |     o--rw tlv-type-number    uint32
    |  |  |  |     o--rw value
    |  |  |  |        o--rw Integer*   uint32
    |  |  |  |        o--rw String*    string
    |  |  |  |        o--rw Regex*     string
    |  |  |  o--rw LLDP
    |  |  |  |  o--rw tlv-type* [tlv-type-number]
    |  |  |  |     o--rw tlv-type-number    uint32
    |  |  |  |     o--rw value
    |  |  |  |        o--rw Integer*   uint32
    |  |  |  |        o--rw String*    string
    |  |  |  |        o--rw Regex*     string
    |  |  |  o--rw DHCP
    |  |  |     o--rw tlv-type* [tlv-type-number]
    |  |  |        o--rw tlv-type-number    uint32
    |  |  |        o--rw value
    |  |  |           o--rw Integer*   uint32
    |  |  |           o--rw String*    string
    |  |  |           o--rw Regex*     string
    |  |  o--rw device-type* [name]
    |  |     o--rw name         string
    |  |     o--rw condition?   string
    |  o--rw classifier?                            empty
    +--rw stack-mac
    |  +--rw persistent
    |     +--rw timer?   uint8
    +--rw l2protocol-tunnel
    |  +--rw cos?      uint8
    |  +--rw global
    |     +--rw drop-threshold?   uint16
    +--rw rep
    |  +--rw admin
    |     +--rw vlan* [name]
    |        +--rw name    uint16
    +--rw hw-switch
    |  +--rw switch
    |     +--rw switch-number* [switch-number]
    |        +--rw switch-number    uint8
    |        +--rw logging
    |           +--rw onboard!
    |              +--rw counter?       empty
    |              +--rw environment?   empty
    |              +--rw message?       empty
    |              +--rw poe?           empty
    |              +--rw temperature?   empty
    |              +--rw voltage?       empty
    +--rw feature
    |  +--rw openflow?   empty
    +--rw openflow
       +--rw switch* [number]
          +--rw number               uint32
          +--rw pipeline?            uint32
          +--rw controller
          |  +--rw ipv4* [address]
          |  |  +--rw address    inet:ipv4-address
          |  |  +--rw port* [number]
          |  |     +--rw number    uint16
          |  |     +--rw vrf* [name]
          |  |        +--rw name                string
          |  |        +--rw security?           enumeration
          |  |        +--rw local-trustpoint?   string
          |  +--rw ipv6* [address]
          |     +--rw address    inet:ipv6-address
          |     +--rw port* [number]
          |        +--rw number    uint16
          |        +--rw vrf* [name]
          |           +--rw name                string
          |           +--rw security?           enumeration
          |           +--rw local-trustpoint?   string
          +--rw of-port
          |  +--rw interface* [name]
          |     +--rw name    string
          +--rw datapath-id?         string
          +--rw protocol-version?    enumeration
          +--rw backoff?             uint16
          +--rw max-backoff?         uint16
          +--rw probe-interval?      uint16
          +--rw rate-limit
          |  +--rw packet_in?   uint16
          |  +--rw burst?       uint16
          +--rw shutdown?            empty
          +--rw statistics
          |  +--rw collection-interval?   uint8
          +--rw dataplane-default?   enumeration
          +--rw default-miss?        enumeration
          +--rw logging
          |  +--rw flow-modify?   empty
          +--rw tls
             +--rw trustpoint
                +--rw local?    string
                +--rw remote?   string