Subject: [netmod] tree diagrams for augment

From: Andy Bierman <[email-masked]>
Date: Mon, 22 May 2017 19:53:52 -0700

Hi,

Below is part of 1 tree diagram from yang-push-06.
The problem is that is shows the entire RPC, and gives
no indication at all that this module only defines augmentations,
or which nodes in the tree diagram will be found here.

Andy

 rpcs:
    +---x establish-subscription
    |  +---w input
    |  |  +---w encoding?               encoding
    |  |  +---w (target)
    |  |  |  +--:(event-stream)
    |  |  |  |  +---w stream                  stream

    |  |  |  |  +---w replay-start-time?   yang:date-and-time {replay}?
    |  |  |  +--:(yp:datastore)
    |  |  |     +---w yp:datastore            datastore
    |  |  +---w (applied-filter)
    |  |  |  +--:(by-reference)
    |  |  |  |  +---w filter-ref              filter-ref
    |  |  |  +--:(locally-configured)
    |  |  |     +---w filter-type             filter-type
    |  |  |     +---w filter
    |  |  +---w stop-time?              yang:date-and-time
    |  |  +---w (yp:update-trigger)?
    |  |  |  +--:(yp:periodic)
    |  |  |  |  +---w yp:period               yang:timeticks
    |  |  |  |  +---w yp:anchor-time?         yang:date-and-time
    |  |  |  +--:(yp:on-change) {on-change}?
    |  |  |     +---w yp:dampening-period     yang:timeticks
    |  |  |     +---w yp:no-synch-on-start?   empty
    |  |  |     +---w yp:excluded-change*     change-type
    |  |  +---w yp:dscp?                inet:dscp
    |  |  +---w yp:weighting?           uint8
    |  |  +---w yp:dependency?          sn:subscription-id
    |  +--ro output
    |     +--ro subscription-result         subscription-result
    |     +--ro (result)?
    |        +--:(no-success)
    |        |  +--ro filter-failure?             string
    |        |  +--ro replay-start-time-hint?     yang:date-and-time
    |        |  +--ro yp:period-hint?             yang:timeticks
    |        |  +--ro yp:error-path?              string
    |        |  +--ro yp:object-count-estimate?   uint32
    |        |  +--ro yp:object-count-limit?      uint32
    |        |  +--ro yp:kilobytes-estimate?      uint32
    |        |  +--ro yp:kilobytes-limit?         uint32
    |        +--:(success)
    |           +--ro identifier                  subscription-id

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 23 May 2017 09:18:41 +0200 (CEST)

> or which nodes in the tree diagram will be found here.

I see what you mean, although it does give some (implicit) indication
with the prefixes (yp:).  But it is certainly not obvious.

Ideas for a better representation of augments are most welcome.  One
simple thing we could do would be to use prefixes on all augmented
nodes, and never on the nodes from the "main" module.

/martin

---

From: "Eric Voit (evoit)" <[email-masked]>
Date: Wed, 31 May 2017 12:58:44 +0000

> From: Martin Bjorklund, May 23, 2017 3:19 AM

> Andy Bierman <[email-masked]<mailto:[email-masked]>> wrote:

> > The problem is that is shows the entire RPC, and gives no indication

> > at all that this module only defines augmentations, or which nodes in

> > the tree diagram will be found here.

> I see what you mean, although it does give some (implicit) indication with the

> prefixes (yp:).  But it is certainly not obvious.

> Ideas for a better representation of augments are most welcome.

I don't claim I have a better representation, but below is what I manually included in yang-push-04 to represent the items which Andy requests.  Perhaps this can be used in helping formulate a better approach.

i]   indicates that the node in that line has been brought in / imported from another model, and

(a) indicates a specific imported node which has been augmented.

i]     +---x establish-subscription

(a)    |  +---w input

i]     |  |  +---w stream?

i]     |  |  +---w encoding?

(a)    |  |  +---w (filter-type)?

i]     |  |  |  +--:(rfc5277)

i]     |  |  |  |  +---w filter?

       |  |  |  +--:(update-filter)

       |  |  |  |  +---w (update-filter)?

       |  |  |  |     +--:(subtree)

       |  |  |  |     |  +---w subtree-filter?

       |  |  |  |     +--:(xpath)

       |  |  |  |        +---w xpath-filter?

i]     |  |  |  +--:(by-reference)

i]     |  |  |     +---w filter-ref?

i]     |  |  +---w startTime?

i]     |  |  +---w stopTime?

       |  |  +---w (update-trigger)?

       |  |  |  +--:(periodic)

       |  |  |  |  +---w period

Eric

> One simple

> thing we could do would be to use prefixes on all augmented nodes, and never

> on the nodes from the "main" module.

> _______________________________________________

> netmod mailing list

> [email-masked]<mailto:[email-masked]>

> https://www.ietf.org/mailman/listinfo/netmod