Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support PTP Yang model based on IEEE standard #1103

Merged
merged 89 commits into from
Sep 26, 2024

Conversation

sallylsy
Copy link
Contributor

@sallylsy sallylsy commented May 2, 2024

Change Scope

Original PR: #1036

This model is based on ieee1588-ptp-ms.yang

Operational and configurational data are added based on the definition of IEEE standard.

module: openconfig-ptp
  +--rw ptp
     +--rw instances
     |  +--rw instance* [id]
     |     +--rw id                    -> ../config/id
     |     +--rw config
     |     |  +--rw id?   uint32
     |     +--ro state
     |     |  +--ro id?                                                uint32
     |     +--rw current-ds
     |     |  +--ro state
     |     |     +--ro steps-removed?        uint16
     |     |     +--ro offset-from-master?   oc-ptp-types:time-interval
     |     |     x--ro mean-path-delay?      oc-ptp-types:time-interval
     |     +--rw time-properties-ds
     |     |  +--rw config
     |     |  |  +--rw current-utc-offset?         int16
     |     |  |  +--rw current-utc-offset-valid?   boolean
     |     |  |  +--rw leap59?                     boolean
     |     |  |  +--rw leap61?                     boolean
     |     |  |  +--rw time-traceable?             boolean
     |     |  |  +--rw frequency-traceable?        boolean
     |     |  |  +--rw ptp-timescale?              boolean
     |     |  |  +--rw time-source?                identityref
     |     |  +--ro state
     |     |     +--ro current-utc-offset?         int16
     |     |     +--ro current-utc-offset-valid?   boolean
     |     |     +--ro leap59?                     boolean
     |     |     +--ro leap61?                     boolean
     |     |     +--ro time-traceable?             boolean
     |     |     +--ro frequency-traceable?        boolean
     |     |     +--ro ptp-timescale?              boolean
     |     |     +--ro time-source?                identityref
     |     +--rw default-ds
     |     |  +--rw clock-quality
     |     |  |  +--rw config
     |     |  |  |  +--rw clock-class?                  identityref
     |     |  |  |  +--rw clock-accuracy?               identityref
     |     |  |  |  +--rw offset-scaled-log-variance?   uint16
     |     |  |  +--ro state
     |     |  |     +--ro clock-class?                  identityref
     |     |  |     +--ro clock-accuracy?               identityref
     |     |  |     +--ro offset-scaled-log-variance?   uint16
     |     |  +--rw config
     |     |  |  +--rw priority1?           uint8
     |     |  |  +--rw priority2?           uint8
     |     |  |  +--rw domain-number?       uint8
     |     |  |  +--rw slave-only?          boolean
     |     |  |  +--rw instance-type?       oc-ptp-types:instance-type
     |     |  |  +--rw sdo-id?              uint16
     |     |  |  +--rw network-transport?   oc-ptp-types:network-transport-enumeration
     |     |  |  +--rw unicast-multicast?   oc-ptp-types:unicast-multicast-enumeration
     |     |  |  +--rw domain-profile?      oc-ptp-types:domain-profile-enumeration
     |     |  +--ro state
     |     |  |  +--ro priority1?                                              uint8
     |     |  |  +--ro priority2?                                              uint8
     |     |  |  +--ro domain-number?                                          uint8
     |     |  |  +--ro slave-only?                                             boolean
     |     |  |  +--ro instance-type?                                          oc-ptp-types:instance-type
     |     |  |  +--ro sdo-id?                                                 uint16
     |     |  |  +--ro network-transport?                                      oc-ptp-types:network-transport-enumeration
     |     |  |  +--ro unicast-multicast?                                      oc-ptp-types:unicast-multicast-enumeration
     |     |  |  +--ro domain-profile?                                         oc-ptp-types:domain-profile-enumeration
     |     |  |  +--ro two-step-flag?                                          boolean
     |     |  |  +--ro clock-identity?                                         oc-ptp-types:clock-identity
     |     |  |  +--ro number-ports?                                           uint16
     |     +--rw parent-ds
     |     |  +--ro state
     |     |     +--ro parent-port-identity
     |     |     |  +--ro clock-identity?   oc-ptp-types:clock-identity
     |     |     |  +--ro port-number?      uint16
     |     |     +--ro parent-stats?                                 boolean
     |     |     +--ro observed-parent-offset-scaled-log-variance?   uint16
     |     |     +--ro observed-parent-clock-phase-change-rate?      int32
     |     |     +--ro grandmaster-identity?                         oc-ptp-types:clock-identity
     |     |     +--ro grandmaster-clock-quality
     |     |     |  +--ro clock-class?                  identityref
     |     |     |  +--ro clock-accuracy?               identityref
     |     |     |  +--ro offset-scaled-log-variance?   uint16
     |     |     +--ro grandmaster-priority1?                        uint8
     |     |     +--ro grandmaster-priority2?                        uint8
     |     +--rw ports
     |        +--rw port* [port-index]
     |           +--rw port-index    -> ../config/port-index
     |           +--rw config
     |           |  +--rw port-index?             uint16
     |           |  +--rw underlying-interface?   if:interface-ref
     |           +--ro state
     |           |  +--ro port-index?             uint16
     |           |  +--ro underlying-interface?   if:interface-ref
     |           +--rw port-ds
     |              +--rw config
     |              |  +--rw log-announce-interval?         int8
     |              |  +--rw announce-receipt-timeout?      uint8
     |              |  +--rw log-sync-interval?             int8
     |              |  +--rw delay-mechanism?               oc-ptp-types:delay-mechanism-enumeration
     |              |  +--rw log-min-pdelay-req-interval?   int8
     |              |  +--rw version-number?                uint8
     |              |  +--rw log-min-delay-req-interval?    int8
     |              |  +--rw unicast-multicast?             oc-ptp-types:unicast-multicast-enumeration
     |              +--ro state
     |                 +--ro log-announce-interval?         int8
     |                 +--ro announce-receipt-timeout?      uint8
     |                 +--ro log-sync-interval?             int8
     |                 +--ro delay-mechanism?               oc-ptp-types:delay-mechanism-enumeration
     |                 +--ro log-min-pdelay-req-interval?   int8
     |                 +--ro version-number?                uint8
     |                 +--ro log-min-delay-req-interval?    int8
     |                 +--ro unicast-multicast?             oc-ptp-types:unicast-multicast-enumeration
     |                 +--ro port-state?                    oc-ptp-types:port-state-enumeration
     |                 +--ro peer-mean-path-delay?          oc-ptp-types:time-interval
     +--rw transparent-clock-default-ds
     |  +--rw config
     |  |  +--rw delay-mechanism?   oc-ptp-types:delay-mechanism-enumeration
     |  |  +--rw primary-domain?    uint8
     |  |  +--rw two-step-flag?     boolean
     |  +--ro state
     |     +--ro delay-mechanism?   oc-ptp-types:delay-mechanism-enumeration
     |     +--ro primary-domain?    uint8
     |     +--ro two-step-flag?     boolean
     |     +--ro clock-identity?    oc-ptp-types:clock-identity
     |     +--ro number-ports?      uint16
     +--rw transparent-clock-ports
        +--rw port* [port-index]
           +--rw port-index    -> ../config/port-index
           +--rw config
           |  +--rw port-index?             uint16
           |  +--rw underlying-interface?   if:interface-ref
           +--ro state
           |  +--ro port-index?             uint16
           |  +--ro underlying-interface?   if:interface-ref
           +--rw port-ds
              +--rw config
              |  +--rw log-min-pdelay-req-interval?   int8
              |  +--rw faulty-flag?                   boolean
              |  +--rw network-transport?             oc-ptp-types:network-transport-enumeration
              +--ro state
                 +--ro log-min-pdelay-req-interval?   int8
                 +--ro faulty-flag?                   boolean
                 +--ro network-transport?             oc-ptp-types:network-transport-enumeration
                 +--ro port-identity
                 |  +--ro clock-identity?   oc-ptp-types:clock-identity
                 |  +--ro port-number?      uint16
                 +--ro peer-mean-path-delay?          oc-ptp-types:time-interval

sallylsy and others added 30 commits September 15, 2023 01:15
@sallylsy
Copy link
Contributor Author

I reconsidered udp6-scope. This is defined in SONIC yang model. We did not find a strong motivation from IEEE or use case for this leaf existing in OC model. Dropped this leaf

abamberger-arista and others added 4 commits September 5, 2024 03:34
…openconfig#1124)

* Add a new conditional leaf-lest, "vni-list", to the EVI Vxlan model,
  to allow the configuration of VLAN-aware-bundle MACVRFs
* Make the existing "vni" leaf conditional on the MACVRF being a
  VLAN-based MACVRF.  Since this is the only type of MACVRF currently
  supported by the model, this is a backwards compatible change

Co-authored-by: Darren Loher <[email protected]>
…penconfig#1125)

* Introduce new container "local-endpoint-vnis" in Vxlan endpoint model
  to allow the local configuration of VLAN-to-VNI and VRF-to-VNI mappings
@sallylsy
Copy link
Contributor Author

IEEE copyright information is updated in the description

@dplore dplore added last-call PR that is in final review before merging. non-breaking labels Sep 12, 2024
@dplore
Copy link
Member

dplore commented Sep 12, 2024

/gcbrun

@OpenConfigBot
Copy link

OpenConfigBot commented Sep 12, 2024

No major YANG version changes in commit 3974d01

Copy link
Member

@dplore dplore left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sallylsy there are some minor issues with enum formatting, a version statement and missing descriptions noted here: https://gist.github.com/OpenConfigBot/86bfbb24f0b16969f712718c3663fb00

Can you fix these? Otherwise it LGTM.

@sallylsy
Copy link
Contributor Author

Hi @dplore , I fixed the revision and lint errors.

@dplore
Copy link
Member

dplore commented Sep 17, 2024

/gcbrun

@dplore
Copy link
Member

dplore commented Sep 17, 2024

/gcbrun

@sallylsy
Copy link
Contributor Author

/gcbrun

1 similar comment
@dplore
Copy link
Member

dplore commented Sep 20, 2024

/gcbrun

@dplore
Copy link
Member

dplore commented Sep 26, 2024

/gcbrun

@dplore dplore merged commit 3a30185 into openconfig:master Sep 26, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
last-call PR that is in final review before merging. non-breaking
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

6 participants