Subject: [netmod] proposed change to ietf-routing

From: Ladislav Lhotka <[email-masked]>
Date: Fri, 26 Feb 2016 14:36:30 +0100

Hi,

as a part of synchronization of the routing data models that are being developed by the NETMOD and RTG working groups, the authors of draft-ietf-netmod-routing-cfg propose to remove the routing-instance level in the data hierarchy, and leave it to structural-mount/YSDL to provide a top level structure.

Schematically, the configuration and state data subtrees of ietf-routing would be reduced to something like this:

module: ietf-routing
   +--ro routing-state
   |  +--ro router-id?           yang:dotted-quad
   |  +--ro interfaces
   |  |  +--ro interface*   if:interface-state-ref
   |  +--ro routing-protocols
   |  |  +--ro routing-protocol* [type name]
   |  |     ...
   |  +--ro ribs
   |     +--ro rib* [name]
   |        ...
   +--rw routing
      +--rw router-id?           yang:dotted-quad
      +--rw description?         string
      +--rw routing-protocols
      |  +--rw routing-protocol* [type name]
      |     ...
      +--rw ribs
         +--rw rib* [name]
	    ...

Are there any objections to this change?

Thanks,

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

---

From: "Xufeng Liu" <[email-masked]>
Date: Fri, 26 Feb 2016 09:33:16 -0500

Hi Acee and Lada,

Have a question: the schema hierarchy will be different after the changes.
Is the following expected? We will have ro branch and rw branch split in the
middle of the tree after mounting?

Before:

module: ietf-routing
   +--ro routing-state
   |  +--ro routing-instance* [name]
   |     +--ro name                 string
   |     +--ro routing-protocols
   |     |  +--ro routing-protocol* [type name]
   |     |     +--ro type    identityref
   |     |     +--ro name    string
   |     +--ro ribs
   |        +--ro rib* [name]
   |           +--ro name              string
   +--rw routing
      +--rw routing-instance* [name]
         +--rw name                 string
         +--rw routing-protocols
         |  +--rw routing-protocol* [type name]
         |     +--rw type             identityref
         |     +--rw name             string
         +--rw ribs
            +--rw rib* [name]
               +--rw name              string

Now:

   +--rw networking-instances
      +--rw networking-instance* [name]
         +--rw name                          string
         +--rw type?                         identityref
         +--rw enabled?                      boolean
         +--rw description?                  string
         +--rw networking-instance-policy
         +--rw root?                         structural-mount
            +--ro routing-state
            |  +--ro router-id?           yang:dotted-quad
            |  +--ro interfaces
            |  |  +--ro interface*   if:interface-state-ref
            |  +--ro routing-protocols
            |  |  +--ro routing-protocol* [type name]
            |  |     ...
            |  +--ro ribs
            |     +--ro rib* [name]
            |        ...
            +--rw routing
               +--rw router-id?           yang:dotted-quad
               +--rw description?         string
               +--rw routing-protocols
               |  +--rw routing-protocol* [type name]
               |     ...
               +--rw ribs
                  +--rw rib* [name]
                     ...

Thanks,

- Xufeng

> -----Original Message-----
> From: netmod [mailto:[email-masked]] On Behalf Of Ladislav Lhotka
> Sent: Friday, February 26, 2016 8:37 AM
> To: NETMOD WG <[email-masked]>
> Subject: [netmod] proposed change to ietf-routing
> 
> Hi,
> 
> as a part of synchronization of the routing data models that are being
developed
> by the NETMOD and RTG working groups, the authors of draft-ietf-netmod-
> routing-cfg propose to remove the routing-instance level in the data
hierarchy,
> and leave it to structural-mount/YSDL to provide a top level structure.
> 
> Schematically, the configuration and state data subtrees of ietf-routing
would
> be reduced to something like this:
> 
> module: ietf-routing
>    +--ro routing-state
> _______________________________________________
> netmod mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netmod

---

From: Ladislav Lhotka <[email-masked]>
Date: Fri, 26 Feb 2016 16:40:35 +0100

> On 26 Feb 2016, at 15:33, Xufeng Liu <[email-masked]> wrote:
> 
> Hi Acee and Lada,
> 

Yes, unless and until we agree on a better data organization. Note that it is exactly the same as with ietf-interfaces.

Lada

---

From: "Xufeng Liu" <[email-masked]>
Date: Mon, 29 Feb 2016 15:27:05 -0500

It'd be better to have a consistent design pattern. There are at least three
more options as following.

Thanks,

- Xufeng

Option 1:

   +--rw networking-instances
   |  +--rw networking-instance* [name]
   |     +--rw name                          string
   |     +--rw type?                         identityref
   |     +--rw enabled?                      boolean
   |     +--rw description?                  string
   |     +--rw networking-instance-policy
   |     +--rw root?                         structural-mount
   |        +--rw routing
   |        |  +--rw router-id?           yang:dotted-quad
   |        |  +--rw description?         string
   |        |  +--rw routing-protocols
   |        |  |  +--rw routing-protocol* [type name]
   |        |  |     ...
   |        |  +--rw ribs
   |        |     +--rw rib* [name]
   |        |        ...
   |
   +--ro networking-instances-state
      +--ro networking-instance* [name]
         +--ro name                          string
         +--ro type?                         identityref
         +--ro enabled?                      boolean
         +--ro description?                  string
         +--ro networking-instance-policy
         +--ro root?                         structural-mount
            +--ro routing
            |  +--ro router-id?           yang:dotted-quad
            |  +--ro interfaces
            |  |  +--ro interface*   if:interface-state-ref
            |  +--ro routing-protocols
            |  |  +--ro routing-protocol* [type name]
            |  |     ...
            |  +--ro ribs
            |     +--ro rib* [name]
            |        ...

Option 2:

               +--ro routing-protocols-state
               |  +--ro routing-protocol* [type name]
               |     ...
               +--rw ribs
               |  +--rw rib* [name]
               |     ...
               +--ro ribs-state
                  +--rw rib* [name]
                     ...

Option 3:

   +--rw networking-instances
      +--rw networking-instance* [name]
         +--rw config
         |  +--rw name                          string
         |  +--rw type?                         identityref
         |  +--rw enabled?                      boolean
         |  +--rw description?                  string
         |  +--rw networking-instance-policy
         |  +--rw root?                         structural-mount
         |     +--rw routing
         |        +--rw config
         |        |  +--rw router-id?           yang:dotted-quad
         |        |  +--rw description?         string
         |        |  +--rw routing-protocols
         |        |  |  +--rw routing-protocol* [type name]
         |        |  |     +--rw config
         |        |  |     |     ...
         |        |  |     +--ro state
         |        |  |     |     ...
         |        |  +--rw ribs
         |        |     +--rw config
         |        |     |  +--rw rib* [name]
         |        |     |     ...
         |        |     +--ro state
         |        |        +--ro rib* [name]
         |        |           ...
         |        +--ro state
         |           +--ro router-id?           yang:dotted-quad
         |           +--ro interfaces
         |           |  +--ro interface*   if:interface-state-ref
         |         	       
         +--ro state
               ...

> From: Ladislav Lhotka [mailto:[email-masked]]
> Sent: Friday, February 26, 2016 10:41 AM
> To: Xufeng Liu <[email-masked]>
> Cc: NETMOD WG <[email-masked]>
> Subject: Re: [netmod] proposed change to ietf-routing
> 
> 
> > Is the following expected? We will have ro branch and rw branch split
> > in the middle of the tree after mounting?
> 
> Yes, unless and until we agree on a better data organization. Note that it
is
> exactly the same as with ietf-interfaces.
> 
> Lada
> 
> >
> > Before:
> >
> > module: ietf-routing
> >   +--ro routing-state
> >> by the NETMOD and RTG working groups, the authors of
> >> draft-ietf-netmod- routing-cfg propose to remove the routing-instance
> >> level in the data
> > hierarchy,