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: +--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 +--rw routing +--rw router-id? yang:dotted-quad +--rw description? string +--rw routing-protocols | +--rw routing-protocol* [type name] | ... +--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 ... > -----Original Message----- > From: Ladislav Lhotka [mailto:lho...@nic.cz] > Sent: Friday, February 26, 2016 10:41 AM > To: Xufeng Liu <xufeng.liu.i...@gmail.com> > Cc: NETMOD WG <netmod@ietf.org> > Subject: Re: [netmod] proposed change to ietf-routing > > > > On 26 Feb 2016, at 15:33, Xufeng Liu <xufeng.liu.i...@gmail.com> wrote: > > > > 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? > > 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 > > | +--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:netmod-boun...@ietf.org] On Behalf Of Ladislav > >> Lhotka > >> Sent: Friday, February 26, 2016 8:37 AM > >> To: NETMOD WG <netmod@ietf.org> > >> 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 > >> | +--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 > >> > >> > >> > >> > >> _______________________________________________ > >> netmod mailing list > >> netmod@ietf.org > >> https://www.ietf.org/mailman/listinfo/netmod > > > > -- > Ladislav Lhotka, CZ.NIC Labs > PGP Key ID: E74E8C0C > > > _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod