[Rtg-yang-coord] routing-cfg-18 schema

Ladislav Lhotka <lhotka@nic.cz> Wed, 15 April 2015 08:08 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83B8E1B32BE for <rtg-yang-coord@ietfa.amsl.com>; Wed, 15 Apr 2015 01:08:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.939
X-Spam-Level: **
X-Spam-Status: No, score=2.939 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, J_CHICKENPOX_210=0.6, J_CHICKENPOX_22=0.6, J_CHICKENPOX_25=0.6, J_CHICKENPOX_26=0.6, J_CHICKENPOX_27=0.6, J_CHICKENPOX_28=0.6, T_RP_MATCHES_RCVD=-0.01] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tdMFO35zi5Qw for <rtg-yang-coord@ietfa.amsl.com>; Wed, 15 Apr 2015 01:08:57 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E51B61B32C2 for <Rtg-yang-coord@ietf.org>; Wed, 15 Apr 2015 01:08:56 -0700 (PDT)
Received: from [IPv6:2001:718:1a02:1:fce5:2058:fa00:32d4] (unknown [IPv6:2001:718:1a02:1:fce5:2058:fa00:32d4]) by mail.nic.cz (Postfix) with ESMTPSA id 0F79413F9DD for <Rtg-yang-coord@ietf.org>; Wed, 15 Apr 2015 10:08:55 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1429085335; bh=Zu+WGhFuJVqTkb40ox7io1QkCoM5KIZZywv/oQn6pZs=; h=From:Content-Type:Content-Transfer-Encoding:Subject:Message-Id: Date:To:Mime-Version; b=qX+Z4YsJCvvtLXEknI5frhCpUCwShqfBENgGL2sdk/vLiUaK3qpZYVlJDmCCT40ut OWade4LoLp7rDPl441Q4A8lfuhVvXwDzDial2SSDKNGsbUoiXQEW8OwPOrijsMl8ue /K017H2nTxuoLBfqPUWYrO2lvGXfZH+6J+Sfyrv8=
From: Ladislav Lhotka <lhotka@nic.cz>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Message-Id: <77138CBB-4868-48EE-B0AF-FC37810011BB@nic.cz>
Date: Wed, 15 Apr 2015 10:08:55 +0200
To: Rtg-yang-coord@ietf.org
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
X-Mailer: Apple Mail (2.2098)
X-Virus-Scanned: clamav-milter 0.98.6 at mail
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/LASvny_XBUbnh8v9cDbCP5y--vE>
Subject: [Rtg-yang-coord] routing-cfg-18 schema
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Apr 2015 08:08:59 -0000

Hi,

the editors of draft-ietf-netmod-routing-cfg implemented all changes to the data model that were agreed upon in Dallas. The resulting schema of the trees affected by the changes (interface, interface-state, routing and routing-state) is shown below. Unless somebody has objections, we will submit it in this form as revision -18 on Friday.

Thanks,

Acee and Lada

============================

module: ietf-interfaces
   +--rw interfaces
   |  +--rw interface* [name]
   |     +--rw name           string
   |     +--rw description?   string
   |     +--rw type           identityref
   |     +--rw enabled?       boolean
   |     +--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 (subnet)
   |     |  |     +--:(prefix-length)
   |     |  |        +--rw ip:prefix-length?   uint8
   |     |  +--rw ip:neighbor* [ip]
   |     |     +--rw ip:ip                    inet:ipv4-address-no-zone
   |     |     +--rw ip:link-layer-address    yang:phys-address
   |     +--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
   |        +--rw ip:neighbor* [ip]
   |        |  +--rw ip:ip                    inet:ipv6-address-no-zone
   |        |  +--rw ip:link-layer-address    yang:phys-address
   |        +--rw ip:dup-addr-detect-transmits?      uint32
   |        +--rw ip:autoconf
   |        |  +--rw ip:create-global-addresses?   boolean
   |        +--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 (control-adv-prefixes)?
   |                    +--:(no-advertise)
   |                    |  +--rw v6ur:no-advertise?         empty
   |                    +--:(advertise)
   |                       +--rw v6ur:valid-lifetime?       uint32
   |                       +--rw v6ur:on-link-flag?         boolean
   |                       +--rw v6ur:preferred-lifetime?   uint32
   |                       +--rw v6ur:autonomous-flag?      boolean
   +--ro interfaces-state
      +--ro interface* [name]
         +--ro name                   string
         +--ro type                   identityref
         +--ro oper-status            enumeration
         +--ro last-change?           yang:date-and-time
         +--ro phys-address?          yang:phys-address
         +--ro higher-layer-if*       interface-state-ref
         +--ro lower-layer-if*        interface-state-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
         +--ro ip:ipv4!
         |  +--ro ip:forwarding?   boolean
         |  +--ro ip:mtu?          uint16
         |  +--ro ip:address* [ip]
         |  |  +--ro ip:ip               inet:ipv4-address-no-zone
         |  |  +--ro (subnet)?
         |  |  |  +--:(prefix-length)
         |  |  |     +--ro ip:prefix-length?   uint8
         |  |  +--ro ip:origin?          ip-address-origin
         |  +--ro ip:neighbor* [ip]
         |     +--ro ip:ip                    inet:ipv4-address-no-zone
         |     +--ro ip:link-layer-address?   yang:phys-address
         |     +--ro ip:origin?               neighbor-origin
         +--ro ip:ipv6!
         |  +--ro ip:forwarding?                     boolean
         |  +--ro ip:mtu?                            uint32
         |  +--ro ip:address* [ip]
         |  |  +--ro ip:ip               inet:ipv6-address-no-zone
         |  |  +--ro ip:prefix-length    uint8
         |  |  +--ro ip:origin?          ip-address-origin
         |  |  +--ro ip:status?          enumeration
         |  +--ro ip:neighbor* [ip]
         |  |  +--ro ip:ip                    inet:ipv6-address-no-zone
         |  |  +--ro ip:link-layer-address?   yang:phys-address
         |  |  +--ro ip:origin?               neighbor-origin
         |  |  +--ro ip:is-router?            empty
         |  |  +--ro ip:state?                enumeration
         |  +--ro v6ur:ipv6-router-advertisements
         |     +--ro v6ur:send-advertisements?    boolean
         |     +--ro v6ur:max-rtr-adv-interval?   uint16
         |     +--ro v6ur:min-rtr-adv-interval?   uint16
         |     +--ro v6ur:managed-flag?           boolean
         |     +--ro v6ur:other-config-flag?      boolean
         |     +--ro v6ur:link-mtu?               uint32
         |     +--ro v6ur:reachable-time?         uint32
         |     +--ro v6ur:retrans-timer?          uint32
         |     +--ro v6ur:cur-hop-limit?          uint8
         |     +--ro v6ur:default-lifetime?       uint16
         |     +--ro v6ur:prefix-list
         |        +--ro v6ur:prefix* [prefix-spec]
         |           +--ro v6ur:prefix-spec           inet:ipv6-prefix
         |           +--ro v6ur:valid-lifetime?       uint32
         |           +--ro v6ur:on-link-flag?         boolean
         |           +--ro v6ur:preferred-lifetime?   uint32
         |           +--ro v6ur:autonomous-flag?      boolean
         +--ro rt:routing-instance?   routing-instance-state-ref
module: ietf-routing
   +--ro routing-state
   |  +--ro routing-instance* [name]
   |     +--ro name                 string
   |     +--ro type?                identityref
   |     +--ro interfaces
   |     |  +--ro interface*   if:interface-state-ref
   |     +--ro routing-protocols
   |     |  +--ro routing-protocol* [type name]
   |     |     +--ro type                identityref
   |     |     +--ro name                string
   |     |     +--ro route-preference    route-preference
   |     +--ro ribs
   |        +--ro rib* [name]
   |           +--ro name              string
   |           +--ro 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?      -> /routing-state/routing-instance/interfaces/interface
   |                 |     |  +--ro v6ur:next-hop-address?   inet:ipv6-address
   |                 |     |  +--ro v4ur:next-hop-address?   inet:ipv4-address
   |                 |     +--:(special-next-hop)
   |                 |        +--ro special-next-hop?        enumeration
   |                 +--ro source-protocol            identityref
   |                 +--ro active?                    empty
   |                 +--ro last-updated?              yang:date-and-time
   |                 +--ro v6ur:destination-prefix?   inet:ipv6-prefix
   |                 +--ro v4ur:destination-prefix?   inet:ipv4-prefix
   +--rw routing
      +--rw routing-instance* [name]
         +--rw name                 string
         +--rw type?                identityref
         +--rw enabled?             boolean
         +--rw router-id?           yang:dotted-quad
         +--rw description?         string
         +--rw interfaces
         |  +--rw interface*   if:interface-ref
         +--rw routing-protocols
         |  +--rw routing-protocol* [type name]
         |     +--rw type                identityref
         |     +--rw name                string
         |     +--rw description?        string
         |     +--rw enabled?            boolean
         |     +--rw route-preference?   route-preference
         |     +--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 (next-hop-options)
         |        |           +--:(simple-next-hop)
         |        |           |  +--rw v6ur:outgoing-interface?   -> /rt:routing/routing-instance/interfaces/interface
         |        |           +--:(special-next-hop)
         |        |           |  +--rw v6ur:special-next-hop?     enumeration
         |        |           +--:(next-hop-address)
         |        |              +--rw v6ur:next-hop-address?     inet:ipv6-address
         |        +--rw v4ur:ipv4
         |           +--rw v4ur:route* [destination-prefix]
         |              +--rw v4ur:destination-prefix    inet:ipv4-prefix
         |              +--rw v4ur:description?          string
         |              +--rw v4ur:next-hop
         |                 +--rw (next-hop-options)
         |                    +--:(simple-next-hop)
         |                    |  +--rw v4ur:outgoing-interface?   -> /rt:routing/routing-instance/interfaces/interface
         |                    +--:(special-next-hop)
         |                    |  +--rw v4ur:special-next-hop?     enumeration
         |                    +--:(next-hop-address)
         |                       +--rw v4ur:next-hop-address?     inet:ipv4-address
         +--rw ribs
            +--rw rib* [name]
               +--rw name              string
               +--rw address-family    identityref
               +--rw description?      string
               +--rw default-rib?      boolean {multiple-ribs}?
rpcs:
   +---x fib-route    
      +---w input     
      |  +---w routing-instance-name    routing-instance-state-ref
      |  +---w destination-address
      |     +---w address-family    identityref
      |     +---w v6ur:address?     inet:ipv6-address
      |     +---w v4ur:address?     inet:ipv4-address
      +--ro output    
         +--ro route
            +--ro address-family             identityref
            +--ro next-hop
            |  +--ro (next-hop-options)
            |     +--:(simple-next-hop)
            |     |  +--ro outgoing-interface?      -> /routing-state/routing-instance/interfaces/interface
            |     |  +--ro v6ur:next-hop-address?   inet:ipv6-address
            |     |  +--ro v4ur:next-hop-address?   inet:ipv4-address
            |     +--:(special-next-hop)
            |        +--ro special-next-hop?        enumeration
            +--ro source-protocol            identityref
            +--ro active?                    empty
            +--ro last-updated?              yang:date-and-time
            +--ro v6ur:destination-prefix?   inet:ipv6-prefix
            +--ro v4ur:destination-prefix?   inet:ipv4-prefix


--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C