module: ietf-routing

 

  +--rw routing

 

  |  +--rw router-id?                 yang:dotted-quad

 

  |  +--ro interfaces

 

  |  |  +--ro interface*   if:interface-ref

 

  |  +--rw control-plane-protocols

 

  |  |  +--rw control-plane-protocol* [type name]

 

  |  |     +--rw type             identityref

 

  |  |     +--rw name             string

 

  |  |     +--rw description?     string

 

  |  |     +--rw static-routes

 

  |  |        +--rw v6ur:ipv6

 

  |  |           +--rw v6ur:route* [destination-prefix]

 

  |  |              +--rw v6ur:destination-prefix    inet:ipv6-prefix

 

  |  |              +--rw v6ur:description?          string

 

  |  |              +--rw v6ur:next-hop

 

  |  |                 +--rw (v6ur:next-hop-options)

 

  |  |                    +--:(v6ur:simple-next-hop)

 

  |  |                    |  +--rw v6ur:outgoing-interface?   if:interface-ref

 

  |  |                    |  +--rw v6ur:next-hop-address?     inet:ipv6-address

 

  |  |                    +--:(v6ur:special-next-hop)

 

  |  |                    |  +--rw v6ur:special-next-hop?   enumeration

 

  |  |                    +--:(v6ur:next-hop-list)

 

  |  |                       +--rw v6ur:next-hop-list

 

  |  |                          +--rw v6ur:next-hop* [index]

 

  |  |                             +--rw v6ur:index                 string

 

  |  |                             +--rw v6ur:outgoing-interface?   if:interface-ref

 

  |  |                             +--rw v6ur:next-hop-address?     inet:ipv6-address

 

  |  +--rw ribs

 

  |     +--rw rib* [name]

 

  |        +--rw name              string

 

  |        +--rw address-family    identityref

 

  |        +--ro default-rib?      boolean {multiple-ribs}?

 

  |        +--ro routes

 

  |        |  +--ro route*

 

  |        |     +--ro route-preference?          route-preference

 

  |        |     +--ro next-hop

 

  |        |     |  +--ro (next-hop-options)

 

  |        |     |     +--:(simple-next-hop)

 

  |        |     |     |  +--ro outgoing-interface?      if:interface-ref

 

  |        |     |     |  +--ro v6ur:next-hop-address?   inet:ipv6-address

 

  |        |     |     +--:(special-next-hop)

 

  |        |     |     |  +--ro special-next-hop?   enumeration

 

  |        |     |     +--:(next-hop-list)

 

  |        |     |        +--ro next-hop-list

 

  |        |     |           +--ro next-hop*

 

  |        |     |              +--ro outgoing-interface?   if:interface-ref

 

  |        |     |              +--ro v6ur:address?         inet:ipv6-address

 

  |        |     +--ro source-protocol            identityref

 

  |        |     +--ro active?                    empty

 

  |        |     +--ro last-updated?              yang:date-and-time

 

  |        |     +--ro v6ur:destination-prefix?   inet:ipv6-prefix

 

  |        +--rw description?      string

 

  |        +---x active-route

 

  |           +---w input

 

  |           |  +---w v6ur:destination-address?   inet:ipv6-address

 

  |           +--ro output

 

  |              +--ro route

 

  |                 +--ro next-hop

 

  |                 |  +--ro (next-hop-options)

 

  |                 |     +--:(simple-next-hop)

 

  |                 |     |  +--ro outgoing-interface?      if:interface-ref

 

  |                 |     |  +--ro v6ur:next-hop-address?   inet:ipv6-address

 

  |                 |     +--:(special-next-hop)

 

  |                 |     |  +--ro special-next-hop?   enumeration

 

  |                 |     +--:(next-hop-list)

 

  |                 |        +--ro next-hop-list

 

  |                 |           +--ro next-hop*

 

  |                 |              +--ro outgoing-interface?      if:interface-ref

 

  |                 |              +--ro v6ur:next-hop-address?   inet:ipv6-address

 

  |                 +--ro source-protocol            identityref

 

  |                 +--ro active?                    empty

 

  |                 +--ro last-updated?              yang:date-and-time

 

  |                 +--ro v6ur:destination-prefix?   inet:ipv6-prefix

 

  o--ro routing-state

 

     o--ro router-id?                 yang:dotted-quad

 

     o--ro interfaces

 

     |  o--ro interface*   if:interface-state-ref

 

     o--ro control-plane-protocols

 

     |  o--ro control-plane-protocol* [type name]

 

     |     o--ro type    identityref

 

     |     o--ro name    string

 

     o--ro ribs

 

        o--ro rib* [name]

 

           o--ro name              string

 

           o--ro address-family    identityref

 

           o--ro default-rib?      boolean {multiple-ribs}?

 

           o--ro routes

 

           |  o--ro route*

 

           |     o--ro route-preference?          route-preference

 

           |     o--ro next-hop

 

           |     |  o--ro (next-hop-options)

 

           |     |     o--:(simple-next-hop)

 

           |     |     |  o--ro outgoing-interface?      if:interface-ref

 

           |     |     |  o--ro v6ur:next-hop-address?   inet:ipv6-address

 

           |     |     o--:(special-next-hop)

 

           |     |     |  o--ro special-next-hop?   enumeration

 

           |     |     o--:(next-hop-list)

 

           |     |        o--ro next-hop-list

 

           |     |           o--ro next-hop*

 

           |     |              o--ro outgoing-interface?   if:interface-ref

 

           |     |              o--ro v6ur:address?         inet:ipv6-address

 

           |     o--ro source-protocol            identityref

 

           |     o--ro active?                    empty

 

           |     o--ro last-updated?              yang:date-and-time

 

           |     o--ro v6ur:destination-prefix?   inet:ipv6-prefix

 

           o---x active-route

 

              o---w input

 

              |  o---w v6ur:destination-address?   inet:ipv6-address

 

              o--ro output

 

                 o--ro route

 

                    o--ro next-hop

 

                    |  o--ro (next-hop-options)

 

                    |     o--:(simple-next-hop)

 

                    |     |  o--ro outgoing-interface?      if:interface-ref

 

                    |     |  o--ro v6ur:next-hop-address?   inet:ipv6-address

 

                    |     o--:(special-next-hop)

 

                    |     |  o--ro special-next-hop?   enumeration

 

                    |     o--:(next-hop-list)

 

                    |        o--ro next-hop-list

 

                    |           o--ro next-hop*

 

                    |              o--ro outgoing-interface?      if:interface-ref

 

                    |              o--ro v6ur:next-hop-address?   inet:ipv6-address

 

                    o--ro source-protocol            identityref

 

                    o--ro active?                    empty

 

                    o--ro last-updated?              yang:date-and-time

 

                    o--ro v6ur:destination-prefix?   inet:ipv6-prefix

 
  

module: ietf-interfaces

 

  +--rw interfaces

 

  |  +--rw interface* [name]

 

  |     +--rw name                        string

 

  |     +--rw description?                string

 

  |     +--rw type                        identityref

 

  |     +--rw enabled?                    boolean

 

  |     +--rw link-up-down-trap-enable?   enumeration {if-mib}?

 

  |     +--ro admin-status                enumeration {if-mib}?

 

  |     +--ro oper-status                 enumeration

 

  |     +--ro last-change?                yang:date-and-time

 

  |     +--ro if-index                    int32 {if-mib}?

 

  |     +--ro phys-address?               yang:phys-address

 

  |     +--ro higher-layer-if*            interface-ref

 

  |     +--ro lower-layer-if*             interface-ref

 

  |     +--ro speed?                      yang:gauge64

 

  |     +--ro statistics

 

  |     |  +--ro discontinuity-time    yang:date-and-time

 

  |     |  +--ro in-octets?            yang:counter64

 

  |     |  +--ro in-unicast-pkts?      yang:counter64

 

  |     |  +--ro in-broadcast-pkts?    yang:counter64

 

  |     |  +--ro in-multicast-pkts?    yang:counter64

 

  |     |  +--ro in-discards?          yang:counter32

 

  |     |  +--ro in-errors?            yang:counter32

 

  |     |  +--ro in-unknown-protos?    yang:counter32

 

  |     |  +--ro out-octets?           yang:counter64

 

  |     |  +--ro out-unicast-pkts?     yang:counter64

 

  |     |  +--ro out-broadcast-pkts?   yang:counter64

 

  |     |  +--ro out-multicast-pkts?   yang:counter64

 

  |     |  +--ro out-discards?         yang:counter32

 

  |     |  +--ro out-errors?           yang:counter32

 

  |     +--rw ip:ipv4!

 

  |     |  +--rw ip:enabled?      boolean

 

  |     |  +--rw ip:forwarding?   boolean

 

  |     |  +--rw ip:mtu?          uint16

 

  |     |  +--rw ip:address* [ip]

 

  |     |  |  +--rw ip:ip          inet:ipv4-address-no-zone

 

  |     |  |  +--rw (ip:subnet)

 

  |     |  |  |  +--:(ip:prefix-length)

 

  |     |  |  |  |  +--rw ip:prefix-length?   uint8

 

  |     |  |  |  +--:(ip:netmask)

 

  |     |  |  |     +--rw ip:netmask?   yang:dotted-quad {ipv4-non-contiguous-netmasks}?

 

  |     |  |  +--ro ip:origin?     ip-address-origin

 

  |     |  +--rw ip:neighbor* [ip]

 

  |     |     +--rw ip:ip                    inet:ipv4-address-no-zone

 

  |     |     +--rw ip:link-layer-address    yang:phys-address

 

  |     |     +--ro ip:origin?               neighbor-origin

 

  |     +--rw ip:ipv6!

 

  |        +--rw ip:enabled?                        boolean

 

  |        +--rw ip:forwarding?                     boolean

 

  |        +--rw ip:mtu?                            uint32

 

  |        +--rw ip:address* [ip]

 

  |        |  +--rw ip:ip               inet:ipv6-address-no-zone

 

  |        |  +--rw ip:prefix-length    uint8

 

  |        |  +--ro ip:origin?          ip-address-origin

 

  |        |  +--ro ip:status?          enumeration

 

  |        +--rw ip:neighbor* [ip]

 

  |        |  +--rw ip:ip                    inet:ipv6-address-no-zone

 

  |        |  +--rw ip:link-layer-address    yang:phys-address

 

  |        |  +--ro ip:origin?               neighbor-origin

 

  |        |  +--ro ip:is-router?            empty

 

  |        |  +--ro ip:state?                enumeration

 

  |        +--rw ip:dup-addr-detect-transmits?      uint32

 

  |        +--rw ip:autoconf

 

  |        |  +--rw ip:create-global-addresses?        boolean

 

  |        |  +--rw ip:create-temporary-addresses?     boolean {ipv6-privacy-autoconf}?

 

  |        |  +--rw ip:temporary-valid-lifetime?       uint32 {ipv6-privacy-autoconf}?

 

  |        |  +--rw ip:temporary-preferred-lifetime?   uint32 {ipv6-privacy-autoconf}?

 

  |        +--rw v6ur:ipv6-router-advertisements

 

  |           +--rw v6ur:send-advertisements?    boolean

 

  |           +--rw v6ur:max-rtr-adv-interval?   uint16

 

  |           +--rw v6ur:min-rtr-adv-interval?   uint16

 

  |           +--rw v6ur:managed-flag?           boolean

 

  |           +--rw v6ur:other-config-flag?      boolean

 

  |           +--rw v6ur:link-mtu?               uint32

 

  |           +--rw v6ur:reachable-time?         uint32

 

  |           +--rw v6ur:retrans-timer?          uint32

 

  |           +--rw v6ur:cur-hop-limit?          uint8

 

  |           +--rw v6ur:default-lifetime?       uint16

 

  |           +--rw v6ur:prefix-list

 

  |              +--rw v6ur:prefix* [prefix-spec]

 

  |                 +--rw v6ur:prefix-spec               inet:ipv6-prefix

 

  |                 +--rw (v6ur:control-adv-prefixes)?

 

  |                    +--:(v6ur:no-advertise)

 

  |                    |  +--rw v6ur:no-advertise?   empty

 

  |                    +--:(v6ur:advertise)

 

  |                       +--rw v6ur:valid-lifetime?       uint32

 

  |                       +--rw v6ur:on-link-flag?         boolean

 

  |                       +--rw v6ur:preferred-lifetime?   uint32

 

  |                       +--rw v6ur:autonomous-flag?      boolean

 

  x--ro interfaces-state

 

     x--ro interface* [name]

 

        x--ro name               string

 

        x--ro type               identityref

 

        x--ro admin-status       enumeration {if-mib}?

 

        x--ro oper-status        enumeration

 

        x--ro last-change?       yang:date-and-time

 

        x--ro if-index           int32 {if-mib}?

 

        x--ro phys-address?      yang:phys-address

 

        x--ro higher-layer-if*   interface-state-ref

 

        x--ro lower-layer-if*    interface-state-ref

 

        x--ro speed?             yang:gauge64

 

        x--ro statistics

 

        |  x--ro discontinuity-time    yang:date-and-time

 

        |  x--ro in-octets?            yang:counter64

 

        |  x--ro in-unicast-pkts?      yang:counter64

 

        |  x--ro in-broadcast-pkts?    yang:counter64

 

        |  x--ro in-multicast-pkts?    yang:counter64

 

        |  x--ro in-discards?          yang:counter32

 

        |  x--ro in-errors?            yang:counter32

 

        |  x--ro in-unknown-protos?    yang:counter32

 

        |  x--ro out-octets?           yang:counter64

 

        |  x--ro out-unicast-pkts?     yang:counter64

 

        |  x--ro out-broadcast-pkts?   yang:counter64

 

        |  x--ro out-multicast-pkts?   yang:counter64

 

        |  x--ro out-discards?         yang:counter32

 

        |  x--ro out-errors?           yang:counter32

 

        x--ro ip:ipv4!

 

        |  x--ro ip:forwarding?   boolean

 

        |  x--ro ip:mtu?          uint16

 

        |  x--ro ip:address* [ip]

 

        |  |  x--ro ip:ip          inet:ipv4-address-no-zone

 

        |  |  x--ro (ip:subnet)?

 

        |  |  |  x--:(ip:prefix-length)

 

        |  |  |  |  x--ro ip:prefix-length?   uint8

 

        |  |  |  x--:(ip:netmask)

 

        |  |  |     x--ro ip:netmask?   yang:dotted-quad {ipv4-non-contiguous-netmasks}?

 

        |  |  x--ro ip:origin?     ip-address-origin

 

        |  x--ro ip:neighbor* [ip]

 

        |     x--ro ip:ip                    inet:ipv4-address-no-zone

 

        |     x--ro ip:link-layer-address?   yang:phys-address

 

        |     x--ro ip:origin?               neighbor-origin

 

        x--ro ip:ipv6!

 

           x--ro ip:forwarding?                     boolean

 

           x--ro ip:mtu?                            uint32

 

           x--ro ip:address* [ip]

 

           |  x--ro ip:ip               inet:ipv6-address-no-zone

 

           |  x--ro ip:prefix-length    uint8

 

           |  x--ro ip:origin?          ip-address-origin

 

           |  x--ro ip:status?          enumeration

 

           x--ro ip:neighbor* [ip]

 

           |  x--ro ip:ip                    inet:ipv6-address-no-zone

 

           |  x--ro ip:link-layer-address?   yang:phys-address

 

           |  x--ro ip:origin?               neighbor-origin

 

           |  x--ro ip:is-router?            empty

 

           |  x--ro ip:state?                enumeration

 

           o--ro v6ur:ipv6-router-advertisements

 

              o--ro v6ur:send-advertisements?    boolean

 

              o--ro v6ur:max-rtr-adv-interval?   uint16

 

              o--ro v6ur:min-rtr-adv-interval?   uint16

 

              o--ro v6ur:managed-flag?           boolean

 

              o--ro v6ur:other-config-flag?      boolean

 

              o--ro v6ur:link-mtu?               uint32

 

              o--ro v6ur:reachable-time?         uint32

 

              o--ro v6ur:retrans-timer?          uint32

 

              o--ro v6ur:cur-hop-limit?          uint8

 

              o--ro v6ur:default-lifetime?       uint16

 

              o--ro v6ur:prefix-list

 

                 o--ro v6ur:prefix* [prefix-spec]

 

                    o--ro v6ur:prefix-spec           inet:ipv6-prefix

 

                    o--ro v6ur:valid-lifetime?       uint32

 

                    o--ro v6ur:on-link-flag?         boolean

 

                    o--ro v6ur:preferred-lifetime?   uint32

 

                    o--ro v6ur:autonomous-flag?      boolean

 
  

module: ietf-ip

 
  

  augment /if:interfaces/if:interface:

 

    +--rw ipv4!

 

    |  +--rw enabled?      boolean

 

    |  +--rw forwarding?   boolean

 

    |  +--rw mtu?          uint16

 

    |  +--rw address* [ip]

 

    |  |  +--rw ip          inet:ipv4-address-no-zone

 

    |  |  +--rw (subnet)

 

    |  |  |  +--:(prefix-length)?

 

    |  |  |  |  +--rw prefix-length?   uint8

 

    |  |  |  +--:(netmask)?

 

    |  |  |     +--rw netmask?         yang:dotted-quad {ipv4-non-contiguous-netmasks}?

 

    |  |  +--ro origin?     ip-address-origin

 

    |  +--rw neighbor* [ip]

 

    |     +--rw ip                    inet:ipv4-address-no-zone

 

    |     +--rw link-layer-address    yang:phys-address

 

    |     +--ro origin?               neighbor-origin

 

    +--rw ipv6!

 

       +--rw enabled?                     boolean

 

       +--rw forwarding?                  boolean

 

       +--rw mtu?                         uint32

 

       +--rw address* [ip]

 

       |  +--rw ip               inet:ipv6-address-no-zone

 

       |  +--rw prefix-length    uint8

 

       |  +--ro origin?          ip-address-origin

 

       |  +--ro status?          enumeration

 

       +--rw neighbor* [ip]

 

       |  +--rw ip                    inet:ipv6-address-no-zone

 

       |  +--rw link-layer-address    yang:phys-address

 

       |  +--ro origin?               neighbor-origin

 

       |  +--ro is-router?            empty

 

       |  +--ro state?                enumeration

 

       +--rw dup-addr-detect-transmits?   uint32

 

       +--rw autoconf

 

          +--rw create-global-addresses?        boolean

 

          +--rw create-temporary-addresses?     boolean {ipv6-privacy-autoconf}?

 

          +--rw temporary-valid-lifetime?       uint32 {ipv6-privacy-autoconf}?

 

          +--rw temporary-preferred-lifetime?   uint32 {ipv6-privacy-autoconf}?

 

  augment /if:interfaces-state/if:interface:

 

    x--ro ipv4!

 

    |  x--ro forwarding?   boolean

 

    |  x--ro mtu?          uint16

 

    |  x--ro address* [ip]

 

    |  |  x--ro ip          inet:ipv4-address-no-zone

 

    |  |  x--ro (subnet)?

 

    |  |  |  x--:(prefix-length)?

 

    |  |  |  |  x--ro prefix-length?   uint8

 

    |  |  |  x--:(netmask)?

 

    |  |  |     x--ro netmask?         yang:dotted-quad {ipv4-non-contiguous-netmasks}?

 

    |  |  x--ro origin?     ip-address-origin

 

    |  x--ro neighbor* [ip]

 

    |     x--ro ip                    inet:ipv4-address-no-zone

 

    |     x--ro link-layer-address?   yang:phys-address

 

    |     x--ro origin?               neighbor-origin

 

    x--ro ipv6!

 

       x--ro forwarding?   boolean

 

       x--ro mtu?          uint32

 

       x--ro address* [ip]

 

       |  x--ro ip               inet:ipv6-address-no-zone

 

       |  x--ro prefix-length    uint8

 

       |  x--ro origin?          ip-address-origin

 

       |  x--ro status?          enumeration

 

       x--ro neighbor* [ip]

 

          x--ro ip                    inet:ipv6-address-no-zone

 

          x--ro link-layer-address?   yang:phys-address

 

          x--ro origin?               neighbor-origin

 

          x--ro is-router?            empty

 

          x--ro state?                enumeration

 
  

module: ietf-ipv6-unicast-routing

 
  

  augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route:

 

    +--rw destination-prefix?   inet:ipv6-prefix

 

  augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/rt:next-hop-options/rt:simple-next-hop:

 

    +--rw next-hop-address?   inet:ipv6-address

 

  augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/rt:next-hop:

 

    +--rw address?   inet:ipv6-address

 

  augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:input:

 

    +--rw destination-address?   inet:ipv6-address

 

  augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route:

 

    +--rw destination-prefix?   inet:ipv6-prefix

 

  augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route/rt:next-hop/rt:next-hop-options/rt:simple-next-hop:

 

    +--rw next-hop-address?   inet:ipv6-address

 

  augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route/rt:next-hop/rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/rt:next-hop:

 

    +--rw next-hop-address?   inet:ipv6-address

 

  augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/rt:static-routes:

 

    +--rw ipv6

 

       +--rw route* [destination-prefix]

 

          +--rw destination-prefix    inet:ipv6-prefix

 

          +--rw description?          string

 

          +--rw next-hop

 

             +---u rt:next-hop-content

 

  augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route:

 

    o--rw destination-prefix?   inet:ipv6-prefix

 

  augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/rt:next-hop-options/rt:simple-next-hop:

 

    o--rw next-hop-address?   inet:ipv6-address

 

  augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/rt:next-hop:

 

    o--rw address?   inet:ipv6-address

 

  augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:input:

 

    o--rw destination-address?   inet:ipv6-address

 

  augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route:

 

    o--rw destination-prefix?   inet:ipv6-prefix

 

  augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route/rt:next-hop/rt:next-hop-options/rt:simple-next-hop:

 

    o--rw next-hop-address?   inet:ipv6-address

 

  augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route/rt:next-hop/rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/rt:next-hop:

 

    o--rw next-hop-address?   inet:ipv6-address