Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: [802.3_YANG] Ad hoc mintues uploaded and request to review model



Hi Mahesh,


On 22/12/2016 17:01, Mahesh Jethanandani wrote:
Rob,

The namespace for ieee modules have to follow the format:

urn:ieee:std:802.1Q:yang
Thanks.  I'll fix that.


Question for others: I saw some discussion around statistics as documented in Clause 30. And now I see that Robert has a TODO on it. Currently the module references Clause 30. Is there a Clause 30 equivalent we should use?

You mention that the current structure is compatible with the direction that IETF is taking with YANG models. Does that include support for operational-state datastore?
Effectively yes.  I have tried to restructure the auto-negotiation configuration and parameters in such a way that it will extend cleanly to an operational-state datastore.  I.e. where appropriate the operational state value uses the same leaf name and path in the interfaces-state tree as for the interfaces configuration tree.

Thanks,
Rob



Thanks.

On Dec 22, 2016, at 4:24 AM, Robert Wilton <rwilton@xxxxxxxxx> wrote:

Hi All,

I'm just about to go PTO for a week to 10 days, and I've pushed an updated model (to that same URL below).  Still quite a lot more work required, but hopefully heading in the right direction.

This mainly reworks the auto-neg configuration and associated parameters.  This is based on prior discussions with folks in NETMOD, and is designed to be compatible with the direction that IETF is thinking of heading in for future YANG models.  I also have tried to simplify the structure somewhat to make it easier/simpler to use in the mainline case.

The tree structure of the two modules (current and deprecated) now looks like this:

module: ieee802-ethernet-interface
  augment /if:interfaces/if:interface:
    +--rw ethernet
       +--rw auto-negotiation
       |  +--rw enable?   boolean
       +--rw duplex?             duplex-type
       +--rw speed?              eth-if-speed-type
       +--rw flow-control
          +--rw pause
          |  +--rw direction?   pause-fc-direction-type
          +--rw priority
          |  +--rw enable?   boolean
          +--rw force-flow-control?   empty
  augment /if:interfaces-state/if:interface:
    +--ro ethernet
       +--ro auto-negotiation
       |  +--ro enable?               boolean
       |  +--ro negotiation-status?   enumeration
       +--ro duplex?                      duplex-type
       +--ro speed?                       eth-if-speed-type
       +--ro flow-control
       |  +--ro pause
       |  |  +--ro direction?   pause-fc-direction-type
       |  +--ro priority
       |  |  +--ro enable?   boolean
       |  +--ro force-flow-control?   empty
       +--ro macc-extension-control?      boolean
       +--ro frame-limit-slow-protocol?   uint32
       +--ro capabilities
       |  +--ro auto-negotiation?   boolean
       +--ro statistics
          +--ro in-pkts-errors-fcs?         yang:counter64
          +--ro in-pkts-errors-alignment?   yang:counter64
          +--ro in-giant-pkts?              yang:counter64
          +--ro in-giant-threshold-pkts?    yang:counter64
          +--ro in-errors-symbol?           yang:counter64
          +--ro out-errors-MAC-internal?    yang:counter64
  augment /if:interfaces-state/if:interface/if:statistics:
    +--ro ethernet
       +--ro statistics-macc
       |  +--ro in-pkts-macc-extension?    yang:counter64
       |  +--ro in-pkts-macc-pfc?          yang:counter64
       |  +--ro in-pkts-macc-unknown?      yang:counter64
       |  +--ro out-pkts-macc-extension?   yang:counter64
       |  +--ro out-pkts-macc-pfc?         yang:counter64
       |  +--ro out-pkts-macc-pause?       yang:counter64
       +--ro statistics-lpi
          +--ro in-lpi-transiton-count?    yang:counter64
          +--ro in-lpi-ms?                 yang:counter64
          +--ro out-lpi-transiton-count?   yang:counter64
          +--ro out-lpi-ms?                yang:counter64

module: ieee802-ethernet-interface-deprecated
  augment /if:interfaces/if:interface/eth-if:ethernet:
    x--rw dynamic-rate-control?   dynamic-rate-control-type {dynamic-rate-control}?
  augment /if:interfaces-state/if:interface/eth-if:ethernet/eth-if:capabilities:
    +--ro dynamic-rate-control-supported?   boolean {dynamic-rate-control}?
  augment /if:interfaces-state/if:interface/eth-if:ethernet:
  augment /if:interfaces-state/if:interface/eth-if:ethernet/eth-if:statistics:
    x--ro csma-cd {csma-cd}?
       x--ro in-errors-sqe-test?              yang:counter64
       x--ro in-errors-MAC-internal?          yang:counter64
       x--ro out-pkts-collision-single?       yang:counter64
       x--ro out-pkts-collision-multiple?     yang:counter64
       x--ro out-pkts-deferred?               yang:counter64
       x--ro out-pkts-collisions-excessive?   yang:counter64
       x--ro out-collisions-late?             yang:counter64
       x--ro out-errors-carrier-sense?        yang:counter64
       x--ro collision-histogram* [collision-count]
          x--ro collision-count         yang:counter64
          x--ro collision-count-pkts?   yang:counter64

I hope that you all have an enjoyable holiday season.

Thanks,
Rob


On 21/12/2016 02:54, Zhuangyan (Yan) wrote:
Dear all,
 
Materials for Ad hoc call on Dec. 19th have been updated. Please review the minutes for anything missing.
 
For modeling work, draft modules are now available at github:
Please review the Ethernet interface module especially, and feel free to share your comments on the reflector or github directly either way you prefer.
 
Thank you very much!
 
Best Regards,
 
Yan