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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
39141f6
Add hashing model in OC
sallylsy Sep 15, 2023
09ca002
Merge branch 'openconfig:master' into master
sallylsy Sep 20, 2023
1036c8a
Add hashing model in OC.
sallylsy Sep 20, 2023
dc65d69
Add hashing model in OC.
sallylsy Sep 20, 2023
38153b2
Add hashing model in OC.
sallylsy Sep 20, 2023
7cd13ad
Add hashing model in OC.
sallylsy Sep 20, 2023
cf523f9
Add hashing model in OC.
sallylsy Sep 20, 2023
33daae6
Add hashing model in OC.
sallylsy Sep 20, 2023
59ffbec
Add hashing model in OC.
sallylsy Sep 20, 2023
87128a5
Add hashing model in OC.
sallylsy Sep 20, 2023
07700fc
Add hashing model in OC.
sallylsy Sep 20, 2023
222ae1f
Add hashing model in OC.
sallylsy Sep 20, 2023
352f50f
Add hashing model in OC.
sallylsy Sep 20, 2023
50cd4c3
Update release/models/hashing/openconfig-hashing.yang
sallylsy Sep 22, 2023
e5a9ae5
Update release/models/hashing/openconfig-hashing.yang
sallylsy Sep 22, 2023
be52ccb
Update release/models/hashing/openconfig-hashing.yang
sallylsy Sep 22, 2023
b331885
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
fe29393
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
5eb2ec6
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
a644099
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
d45a87d
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
1b35e5c
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
5dfd71a
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
10ad2e1
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
8eb7f09
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
395c23e
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
b571753
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
51af22b
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
49c7130
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
48e5867
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
e357d1f
Update release/models/system/openconfig-hashing.yang
sallylsy Sep 27, 2023
ee1b99b
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
a409e6f
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
a51c712
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
63552fe
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
5996986
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
29ff57a
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
10215ae
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
e288e9f
Merge branch 'master' into master
sallylsy Nov 7, 2023
3b088fd
Update openconfig-hashing.yang
sallylsy Sep 22, 2023
040b2b0
Merge branch 'master' into master
sallylsy Nov 20, 2023
fd17489
Mofify the hashing model.
sallylsy Nov 21, 2023
3f88c74
Merge branch 'master' into master
sallylsy Nov 21, 2023
39620b7
Mofify the hashing model.
sallylsy Nov 21, 2023
879b47b
Mofify the hashing model.
sallylsy Nov 21, 2023
d8bb8ab
Update release/models/system/openconfig-hashing.yang
sallylsy Nov 21, 2023
63054b8
Update release/models/system/openconfig-hashing.yang
sallylsy Nov 21, 2023
cdd4012
Update release/models/system/openconfig-hashing.yang
sallylsy Nov 21, 2023
11855f6
Update release/models/system/openconfig-hashing.yang
sallylsy Nov 21, 2023
78d9a62
Update release/models/system/openconfig-hashing.yang
sallylsy Nov 21, 2023
5c1353e
Update release/models/system/openconfig-hashing.yang
sallylsy Nov 21, 2023
c142c92
Merge branch 'openconfig:master' into master
sallylsy Jan 17, 2024
fa2b065
Update loopback-mode types.
sallylsy Jan 17, 2024
2bc84f0
Merge branch 'master' into master
sallylsy Jan 18, 2024
fdf18d7
Update loopback-mode types.
sallylsy Jan 17, 2024
f84f795
Update loopback-mode types.
sallylsy Jan 17, 2024
c50a259
Update loopback-mode types.
sallylsy Jan 17, 2024
6782eeb
Update loopback-mode types.
sallylsy Jan 17, 2024
549d843
Merge branch 'master' into master
sallylsy Jan 22, 2024
3fe8d78
Publish PTP Yang model
sallylsy Jan 22, 2024
e29202b
Update loopback-mode type
sallylsy Jan 22, 2024
1bd6296
Update loopback-mode types.
sallylsy Jan 17, 2024
f94a609
Merge branch 'master' into master
sallylsy Jan 30, 2024
318375a
Merge branch 'master' into master
sallylsy Feb 6, 2024
2eb5cd6
Merge branch 'master' into master
dplore Feb 16, 2024
83ddf72
Merge branch 'openconfig:master' into master
sallylsy Mar 12, 2024
3377f45
Merge branch 'openconfig:master' into master
sallylsy Apr 3, 2024
136c174
Support gNPSI in OpenConfig
sallylsy Apr 4, 2024
2d79e05
Support PTP Yang model based on IEEE standard
sallylsy May 2, 2024
0bed45c
Merge branch 'openconfig:master' into ptp_0501
sallylsy May 2, 2024
51a0e0b
Support PTP Yang model based on IEEE standard
sallylsy May 2, 2024
baefc8d
Support PTP Yang model based on IEEE standard
sallylsy May 2, 2024
60fb994
Support PTP Yang model based on IEEE standard
sallylsy May 2, 2024
525fa7d
Merge branch 'master' into ptp_0501
sallylsy Jul 30, 2024
684cc3a
Merge branch 'master' into ptp_0501
sallylsy Aug 21, 2024
8fba243
Merge branch 'master' into ptp_0501
sallylsy Aug 28, 2024
e91a84e
Support PTP Yang model based on IEEE standard
sallylsy May 2, 2024
e9322bb
Updates to network-instance EVPN models for VLAN-aware-bundle support…
abamberger-arista Aug 28, 2024
054e3a9
Updates to network instance models for VLAN-VNI and VRF-VNI mappings …
abamberger-arista Aug 29, 2024
aa5a705
Support PTP Yang model based on IEEE standard
sallylsy Sep 5, 2024
99d8ea3
Support PTP Yang model based on IEEE standard
sallylsy Sep 5, 2024
25e1b95
Support PTP Yang model based on IEEE standard
sallylsy Sep 5, 2024
05b65c3
Merge branch 'master' into ptp_0501
sallylsy Sep 5, 2024
b523dd3
Merge branch 'master' into ptp_0501
sallylsy Sep 11, 2024
c9dae3f
Support PTP Yang model based on IEEE standard
sallylsy Sep 17, 2024
7ec631e
Merge branch 'master' into ptp_0501
sallylsy Sep 17, 2024
57f92ae
Support PTP Yang model based on IEEE standard
sallylsy Sep 17, 2024
9cb39ea
Support PTP Yang model based on IEEE standard
sallylsy Sep 20, 2024
3974d01
Merge branch 'master' into ptp_0501
dplore Sep 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions release/models/ptp/.spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- name: openconfig-ptp
docs:
- yang/ptp/openconfig-ptp-types.yang
- yang/ptp/openconfig-ptp.yang
build:
- yang/ptp/openconfig-ptp-types.yang
- yang/ptp/openconfig-ptp.yang
run-ci: true
299 changes: 299 additions & 0 deletions release/models/ptp/openconfig-ptp-types.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,299 @@
module openconfig-ptp-types {

yang-version "1";

// namespace
namespace "http://openconfig.net/yang/ptp-types";

prefix "oc-ptp-types";

import openconfig-extensions {
prefix oc-ext;
}

// meta
organization
"OpenConfig working group";

contact
"OpenConfig working group
www.openconfig.net ";

description
"This module defines types and identities used in OpenConfig
models related to Precision Time Protocol (PTP).

IEEE code is subject to the following copyright and license:
Copyright (c) 2020 by The Institute of Electrical and Electronics
Engineers, Inc. All rights reserved.";

oc-ext:openconfig-version "1.0.0";

revision 2024-09-17 {
description
"Initial Public Version";
reference "1.0.0";
}

// extension statements

// feature statements

// identity statements

identity TIME_SOURCE {
description
"Enumeration for the source of time used by the Grandmaster
PTP Instance.
YANG identity is used so that a PTP Profile's YANG augment
can assign values, using numeric range F0 to FE hex.";
reference
"7.6.2.8 of IEEE Std 1588-2019";
}

identity CLOCK_CLASS {
description
"Enumeration that denotes the traceability, synchronization
state and expected performance of the time or frequency
distributed by the Grandmaster PTP Instance.
IEEE Std 1588 does not specify a name for each clock-class,
but the names below are intended to be as intuitive as possible.
YANG identity is used so that a PTP Profile's YANG augment
can assign values using a numeric range designated for use by
alternate PTP Profiles.";
reference
"7.6.2.5 of IEEE Std 1588-2019";
}

identity CLOCK_ACCURACY {
description
"Enumeration that indicates the expected accuracy of a
PTP Instance when it is the Grandmaster PTP Instance,
or in the event it becomes the Grandmaster PTP Instance.
The value shall be conservatively estimated by the PTP
Instance to a precision consistent with the value of the
selected clock-accuracy and of the next lower enumerated
value, for example, for clockAccuracy = 23 hex, between
250 ns and 1000 ns.
IEEE Std 1588 does not specify a name for each clock-accuracy,
but the names below are intended to be as intuitive as possible.
YANG identity is used so that a PTP Profile's YANG augment
can assign values, using numeric range 80 to FD hex.";
reference
"7.6.2.6 of IEEE Std 1588-2019";
}

typedef clock-identity {
type string {
pattern "[0-9A-F]{2}(-[0-9A-F]{2}){7}";
oc-ext:posix-pattern '^[0-9A-F]{2}(-[0-9A-F]{2}){7}$';
}
description
"Identifies unique entities within a PTP Network,
e.g. a PTP Instance or an entity of a common service.
The identity is an 8-octet array, constructed according
to specifications in IEEE Std 1588, using an
organization identifier from the IEEE Registration
Authority.
Each octet is represented in YANG as a pair of
hexadecimal characters, using uppercase for a letter.
Each octet in the array is separated by the dash
character.";
reference
"5.3.4 of IEEE Std 1588-2019
7.5.2.2 of IEEE Std 1588-2019";
}

typedef time-interval {
type int64;
description
"Time interval, expressed in nanoseconds, multiplied by 2^16.
Positive or negative time intervals outside the maximum range
of this data type shall be encoded as the largest positive and
negative values of the data type, respectively.";
reference
"5.3.2 of IEEE Std 1588-2019";
}

typedef instance-type {
type enumeration {
enum OC {
value 0;
description
"Ordinary Clock";
}
enum BC {
value 1;
description
"Boundary Clock";
}
enum P2P_TC {
value 2;
description
"Peer-to-peer Transparent Clock";
}
enum E2E_TC {
value 3;
description
"End-to-end Transparent Clock";
}
}
description
"Enumeration for the type of PTP Instance.
Values for this enumeration are specified by the IEEE 1588
standard exclusively.";
reference
"8.2.1.5.5 of IEEE Std 1588-2019";
}


typedef unicast-multicast-enumeration {
type enumeration {
enum UNICAST {
value 1;
description
"unicast";
}
enum MULTICAST {
value 2;
description
"multicast";
}
}
description
"Type definition for options when setting the unicast-multicast
attribute in the default data set";
}

typedef delay-mechanism-enumeration {
type enumeration {
enum E2E {
value 1;
description
"The port uses the delay request-response mechanism.";
}
enum P2P {
value 2;
description
"The port uses the peer delay mechanism.";
}
enum DISABLED {
value 254;
description
"The port does not implement any delay mechanism.";
}
}
description
"The propagation-delay measuring option used by the
port. Values for this enumeration are specified
by the IEEE Std 1588 standard exclusively.";
reference
"IEEE Std 1588-2008: 8.2.5.4.4";
}

typedef port-state-enumeration {
type enumeration {
enum INITIALIZING {
value 1;
description
"The port is initializing its data sets, hardware, and
communication facilities.";
}
enum FAULTY {
value 2;
description
"The port is in the fault state.";
}
enum DISABLED {
value 3;
description
"The port is disabled and is not communicating PTP
messages (other than possibly PTP management
messages).";
}
enum LISTENING {
value 4;
description
"The port is listening for an Announce message.";
}
enum PRE_MASTER {
value 5;
description
"The port is in the pre-master state.";
}
enum MASTER {
value 6;
description
"The port is behaving as a master port.";
}
enum PASSIVE {
value 7;
description
"The port is in the passive state.";
}
enum UNCALIBRATED {
value 8;
description
"A master port has been selected, but the port is still
in the uncalibrated state.";
}
enum SLAVE {
value 9;
description
"The port is synchronizing to the selected master port.";
}
}
description
"The current state of the protocol engine associated
with the port. Values for this enumeration are specified
by the IEEE Std 1588 standard exclusively.";
reference
"IEEE Std 1588-2008: 8.2.5.3.1, 9.2.5";
}

typedef network-transport-enumeration {
type enumeration {
enum L2 {
value 1;
description
"Layer 2 network";
}
enum UDPV4 {
value 2;
description
"UDPv4 network";
}
enum UDPV6 {
value 3;
description
"UDPv6 network";
}
}
description
"Type definition for options when setting the network transport
attribute in the default data set";
}

typedef domain-profile-enumeration {
type enumeration {
enum IEEE1588 {
value 1;
description
"default profile";
}
enum G8275.1 {
value 2;
description
"g8275.1 profile";
}
enum G8275.2 {
value 3;
description
"g8275.2 profile";
}
}
description
"Type definition for options when setting the domain-profile
attribute in the default data set";
}
}
Loading
Loading