idnits 2.17.1 draft-benhadjsaid-detnet-gptp-yang-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 73 instances of too long lines in the document, the longest one being 18 characters in excess of 72. == There are 2 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. == There are 3 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 333 has weird spacing: '...ibrated again...' == Line 528 has weird spacing: '...as been compu...' == Line 569 has weird spacing: '...he read opera...' == Line 577 has weird spacing: '...alue of the t...' == Line 614 has weird spacing: '...he read opera...' == (4 more instances...) -- The document date (March 29, 2018) is 2210 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-13) exists of draft-ietf-detnet-architecture-04 == Outdated reference: A later version (-14) exists of draft-ietf-detnet-flow-information-model-01 ** Downref: Normative reference to an Informational draft: draft-ietf-detnet-flow-information-model (ref. 'I-D.ietf-detnet-flow-information-model') == Outdated reference: A later version (-18) exists of draft-ietf-netconf-restconf-13 == Outdated reference: A later version (-20) exists of draft-ietf-detnet-use-cases-14 Summary: 2 errors (**), 0 flaws (~~), 13 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Deterministic Networking S. Ben Hadj Said 3 Internet-Draft M. Boc 4 Intended status: Standards Track CEA, LIST 5 Expires: September 30, 2018 March 29, 2018 7 YANG Model of IEEE 802.1AS 8 draft-benhadjsaid-detnet-gptp-yang-00 10 Abstract 12 This document describes a YANG data model for the management of IEEE 13 802.1AS module in network devices. This data model includes 14 configuration data and state data (status information and counters 15 for the collection of statistics). 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on September 30, 2018. 34 Copyright Notice 36 Copyright (c) 2018 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 3. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 3 54 4. IEEE 802.1AS: Overview . . . . . . . . . . . . . . . . . . . 4 55 5. IEEE 802.1AS YANG data model . . . . . . . . . . . . . . . . 6 56 6. Security Considerations . . . . . . . . . . . . . . . . . . . 41 57 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42 58 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 42 59 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 42 60 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 42 61 10.1. Normative References . . . . . . . . . . . . . . . . . . 42 62 10.2. Informative References . . . . . . . . . . . . . . . . . 43 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43 65 1. Introduction 67 Multiple use cases described in [I-D.ietf-detnet-use-cases] have 68 highlighted the need for Deterministic Networking (DetNet) service 69 where an accurate time synchronization, low packet loss rates, and 70 low and stable end-to-end latencies are ensured. According to 71 [I-D.ietf-detnet-flow-information-model], one way to provide the 72 DetNet service for Layer 2 flows is to use the Time-Sensitive 73 Networking (TSN) mechanisms that were specified by IEEE 802.1 TSN 74 working group [IEEE8021TSN] for a bridged or virtually bridged Local 75 Area Networks. The documents [I-D.ietf-detnet-architecture] (see 76 Section 4) and [I-D.ietf-detnet-flow-information-model] target to use 77 the Centralized Network / Distributed user model out of the three 78 models specified by [IEEE8021Qcc]. In this model, the network 79 configuration is done via a central entity via a network management 80 protocol (e.g. SNMP, NETCONF [RFC6241], etc.). 82 Time synchronization is a key feature for DetNet service. To ensure 83 an accurate synchronization, the IEEE 802.1 TSN group is relying on 84 the standard IEEE 802.1AS (generalized Precision Time Protocol 85 gPTP)[IEEE8021AS]. This standard allows to synchronize clocks of the 86 different Ethernet devices across bridged or virtually bridged Local 87 Area Network. The principle of IEEE 802.1AS consists in electing, 88 dynamically, one of the devices to be the grandmaster to whom the 89 rest of devices synchronize their clocks thanks to the Best Master 90 Clock Algorithm (BMCA). IEEE 802.1AS requires that several 91 parameters to be configured with the same value in each device 92 participating in the time synchronization domain. For example, the 93 frequency with which the Sync messages are sent via each link should 94 be the same in the whole gPTP domain; otherwise it may impact the 95 time synchronization accuracy. In order to avoid such cases, the 96 management/control plane entity shall be able to configure the IEEE 97 802.1AS module in each network node in data plane in an adequate 98 manner. 100 The IEEE 802.1AS has specified its Management Information Base 101 (IEEE8021-AS-MIB)[IEEE8021AS]. This kind of data model limit the 102 management and control plane entity to use only SNMP protocol for 103 IEEE 802.1AS configuration. Providing the IEEE 802.1AS YANG data 104 model is crucial as it promotes interoperability between networking 105 devices, centralized management entity (e.g. SDN controller, etc.) 106 and applications from different manufacturers. For instance, several 107 protocols such as NETCONF [RFC6241] and RESTCONF 108 [I-D.draft-ietf-netconf-restconf] can use this YANG data model to get 109 state information related to IEEE 802.1AS module or to configure some 110 of its parameters. 112 This document describes the YANG data model [RFC6020] [RFC7950] of 113 the IEEE 802.1AS module [IEEE8021AS]. 115 The definition of ietf-gptp module is based the standard IEEE 802.1AS 116 as well as its IEEE8021-AS-MIB module. The model has been validated 117 with pyang tool and the on-line tool yangdump- 118 pro[http://www.netconfcentral.org/run_yangdump]. 120 2. Terminology 122 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 123 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 124 document are to be interpreted as described in RFC 2119 [RFC2119]. 126 MIB: Management Information Base 128 gPTP: generalized Precision Time Protocol, i.e. IEEE 802.1AS 130 YANG: Yet Another Next Generation 132 3. Tree Diagrams 134 A simplified graphical representation of the data model is used in 135 the YANG modules specified in this document. The meaning of the 136 symbols in these diagrams is as follows: 138 o Brackets "[" and "]" enclose list keys. 140 o Abbreviations before data node names: "rw" means 141 configuration(read-write) and "ro" state data (read-only). 143 o Symbols after data node names: "?" means an optional node, "!" 144 means a presence container, and "*" denotes a list and leaf-list. 146 o Parentheses enclose choice and case nodes, and case nodes are also 147 marked with a colon (":"). 149 o Ellipsis ("...") stands for contents of subtrees that are not 150 shown. 152 4. IEEE 802.1AS: Overview 154 The tree diagram of IEEE 802.1AS data model is depicted in Figure 1. 156 module: ietf-gptp 157 +--rw defaultDataSet 158 | +--ro clockIdentity? clock_identity_type 159 | +--ro numberPorts? uint32 160 | +--ro clockQuality 161 | | +--ro clockClass? uint8 162 | | +--ro clockAccuracy? uint8 163 | | +--ro offsetScaledLogVariance? uint16 164 | +--rw priority1? uint32 165 | +--rw priority2? uint32 166 | +--ro gmCapable? boolean 167 | +--rw currentUtcOffset? uint32 168 | +--rw currentUtcOffsetValid? boolean 169 | +--rw leap59? boolean 170 | +--rw leap61? boolean 171 | +--ro timeTraceable? boolean 172 | +--ro frequencyTraceable? boolean 173 | +--ro timeSource? time-source-enumeration 174 +--ro currentDataSet 175 | +--ro stepsRemoved? int32 176 | +--ro offsetFromMaster 177 | | +--ro offsetFromMasterHs? int32 178 | | +--ro offsetFromMasterMs? int32 179 | | +--ro offsetFromMasterLs? int32 180 | +--ro lastGmPhaseChange 181 | | +--ro lastGmPhaseChangeHs? uint32 182 | | +--ro lastGmPhaseChangeMs? uint32 183 | | +--ro lastGmPhaseChangeLs? uint32 184 | +--ro lastGmFreqChange 185 | | +--ro lastGmFreqChangeMs? int32 186 | | +--ro lastGmFreqChangeLs? int32 187 | +--ro gmTimebaseIndicator? uint32 188 | +--ro gmChangeCount? yang:counter32 189 | +--ro timeOfLastGmChangeEvent? yang:timestamp 190 | +--ro timeOfLastGmFreqChangeEvent? yang:timestamp 191 | +--ro timeOfLastGmPhaseChangeEvent? yang:timestamp 192 +--ro parentDataSet 193 | +--ro parentPortIdentity 194 | | +--ro clockIdentity? clock_identity_type 195 | | +--ro portNumber? uint32 196 | +--ro cumulativeRateRatio? int32 197 | +--ro grandmasterIdentity? clock_identity_type 198 | +--ro grandmasterClockQuality 199 | | +--ro clockClass? uint8 200 | | +--ro clockAccuracy? uint8 201 | | +--ro offsetScaledLogVariance? uint16 202 | +--ro grandmasterPriority1? uint32 203 | +--ro grandmasterPriority2? uint32 204 +--ro timePropertiesDataSet 205 | +--ro currentUTCOffset? int32 206 | +--ro currentUTCOffsetValid? boolean 207 | +--ro leap59? boolean 208 | +--ro leap61? boolean 209 | +--ro timeTraceable? boolean 210 | +--ro frequencyTraceable? boolean 211 | +--ro timeSource? time-source-enumeration 212 +--rw portDataSet* [portNumber] 213 | +--ro bridgeBasePort bridge-port-number 214 | +--ro asIfIndex if-index 215 | +--rw portNumber uint32 216 | +--ro clockIdentity? clock_identity_type 217 | +--ro portRole? port-role-enumeration 218 | +--rw pttPortEnabled? boolean 219 | +--ro isMeasuringDelay? boolean 220 | +--ro asCapable? boolean 221 | +--ro neighborPropDelay 222 | | +--ro neighborPropDelayHs? uint32 223 | | +--ro neighborPropDelayMs? uint32 224 | | +--ro neighborPropDelayLs? uint32 225 | +--rw neighborPropDelayThresh 226 | | +--rw neighborPropDelayThreshHs? uint32 227 | | +--rw neighborPropDelayThreshMs? uint32 228 | | +--rw neighborPropDelayThreshLs? uint32 229 | +--rw delayAsymmetry 230 | | +--rw delayAsymmetryHs? uint32 231 | | +--rw delayAsymmetryMs? uint32 232 | | +--rw delayAsymmetryLs? uint32 233 | +--ro neighborRateRatio? int32 234 | +--rw initialLogAnnounceInterval? int32 235 | +--ro currentLogAnnounceInterval? int32 236 | +--rw announceReceiptTimeout? uint32 237 | +--rw initialLogSyncInterval? int32 238 | +--rw currentLogSyncInterval? int32 239 | +--rw syncReceiptTimeout? uint32 240 | +--ro syncReceiptTimeoutTimeInterval 241 | | +--ro syncReceiptTimeoutTimeIntervalHs? uint32 242 | | +--ro syncReceiptTimeoutTimeIntervalMs? uint32 243 | | +--ro syncReceiptTimeoutTimeIntervalLs? uint32 244 | +--rw initialLogPdelayReqInterval? int32 245 | +--ro currentLogPdelayReqInterval? int32 246 | +--rw allowedLostResponses? uint32 247 | +--ro versionNumber? uint32 248 | +--rw nup? uint64 249 | +--rw ndown? uint64 250 | +--rw acceptableMasterTableEnabled? boolean 251 +--ro portStatIfEntry* [portNumber] 252 | +--ro asIfIndex? if-index 253 | +--ro portNumber uint32 254 | +--ro statRxSyncCount? yang:counter32 255 | +--ro statRxFollowUpCount? yang:counter32 256 | +--ro statRxPdelayRequest? yang:counter32 257 | +--ro statRxPdelayResponse? yang:counter32 258 | +--ro statRxPdelayResponseFollowUp? yang:counter32 259 | +--ro statRxAnnounce? yang:counter32 260 | +--ro statRxPTPPacketDiscard? yang:counter32 261 | +--ro statRxSyncReceiptTimeouts? yang:counter32 262 | +--ro statAnnounceReceiptTimeouts? yang:counter32 263 | +--ro statPdelayAllowedLostResponsesExceeded? yang:counter32 264 | +--ro statTxSyncCount? yang:counter32 265 | +--ro statTxFollowUpCount? yang:counter32 266 | +--ro statTxPdelayRequest? yang:counter32 267 | +--ro statTxPdelayResponse? yang:counter32 268 | +--ro statTxPdelayResponseFollowUp? yang:counter32 269 | +--ro statTxAnnounce? yang:counter32 270 +--rw acceptableMasterTableDataSet 271 +--ro acceptableMasterTableDSMaxTableSize? uint16 272 +--rw acceptableMasterTableDSActualTableSize? uint16 273 +--rw acceptableMasterTableDSacceptableMasterArray* [acceptableMasterTableDSMasterId] 274 +--rw acceptableMasterTableDSMasterId uint32 275 +--rw acceptableMasterPortIdentity 276 | +--rw clockIdentity? clock_identity_type 277 | +--rw portNumber? uint32 278 +--rw acceptableMasterAlternatePriority1? uint32 279 +--rw acceptableMasterRowStatus? uint32 281 Figure 1: IEEE 802.1AS Model Structure 283 5. IEEE 802.1AS YANG data model 285 286 module ietf-gptp { 288 namespace "urn:ietf:params:xml:ns:yang:ietf-gptp"; 289 prefix "gptp"; 291 import ietf-yang-types { prefix "yang";} 292 import ieee802-dot1q-bridge { prefix "dot1q";} 293 import ietf-interfaces { prefix "if";} 295 organization "TBD"; 296 contact 297 "Editor: Siwar Ben Hadj Said 298 Email:siwar.benhadjsaid@cea.fr 299 Michael Boc 300 Email:michael.boc@cea.fr>"; 302 description 303 "This module contains the YANG definition to configure 304 IEEE 802.1AS-2011 timing and synchronization in IEEE 802.1Q 305 bridged Local Area Networks."; 307 revision "2018-03-28" { 308 description "version 1.0"; 309 reference "draft-boc-ietf-gptp-yang-00.txt"; 310 } 312 typedef clock_identity_type { 313 type binary { 314 length 8; 315 } 316 description 317 "Represents an IEEE 802.1 MAC address represented in the 318 'canonical' order defined by IEEE 802.1a, EUI-64. EUI-48 319 converts to EUI-64 as specified by IEEE. The conversion 320 assigns values 255 and 254 to octets 3 and 4, respectively, 321 where octet 0 is the most significant and octet 7 the least. 322 For example, EUI-48 of AC:DE:48:23:45:67 would extend to 323 AC:DE:48:FF:FE:23:45:67."; 324 } 326 typedef time-source-enumeration { 327 type enumeration { 328 enum ATOMIC_CLOCK { 329 value 16; 330 description 331 "Any device, or device directly connected to such a 332 device, that is based on atomic resonance for frequency 333 and that has been calibrated against international 334 standards for frequency and time"; 335 } 336 enum GPS { 337 value 32; 338 description 339 "Any device synchronized to any of the satellite 340 systems that distribute time and frequency tied to 341 international standards"; 342 } 343 enum TERRESTRIAL_RADIO { 344 value 48; 345 description 346 "Any device synchronized via any of the radio distribution 347 systems that distribute time and frequency tied to 348 international standards"; 349 } 350 enum PTP { 351 value 64; 352 description 353 "Any device synchronized to an IEEE 1588 PTP-based source 354 of time external to the gPTP domain."; 355 } 356 enum NTP { 357 value 80; 358 description 359 "Any device synchronized via NTP to servers that distribute 360 time and frequency tied to international standards"; 361 } 362 enum HAND_SET { 363 value 96; 364 description 365 "Used in all cases for any device whose time has been set 366 by means of a human interface based on observation of an 367 international standards source of time to within the claimed 368 clock accuracy"; 369 } 370 enum OTHER { 371 value 144; 372 description 373 "Any source of time and/or frequency not covered by other 374 values, or for which the source is not known"; 375 } 376 enum INTERNAL_OSCILLATOR { 377 value 160; 378 description 379 "Any device whose frequency is not based on atomic resonance 380 nor calibrated against international standards for frequency, 381 and whose time is based on a free-running oscillator with 382 epoch determined in an arbitrary or unknown manner"; 383 } 384 } 385 description 386 "It indicates the type of source of time used by a clock master."; 387 reference 388 "IEEE 802.1AS: clause 8.6.2.7 and Table 8-3"; 389 } 391 typedef port-role-enumeration { 392 type enumeration { 393 enum disabledPort { 394 value 3; 395 description 396 "The port shall not place any messages on its communication 397 path. 398 In a boundary clock, no activity at the port shall be allowed 399 to affect the activity at any other port of the boundary clock. 400 A port in this state shall discard all PTP received messages 401 except for management messages. 402 Any port of the time-aware system for which portEnabled, 403 pttPortEnabled, and asCapable are not all TRUE."; 404 } 405 enum masterPort { 406 value 6; 407 description 408 "The port is behaving as a master port."; 409 } 410 enum passivePort { 411 value 7; 412 description 413 "The port shall not place any messages on its communication 414 path except for Pdelay_Req, Pdelay_Resp, 415 Pdelay_Resp_Follow_Up, 416 or signaling messages, or management messages that are a 417 required response to another management message."; 418 } 419 enum slavePort { 420 value 9; 421 description 422 "The port is behaving as a slave port."; 423 } 424 } 425 description 426 "It indicates the different roles that a port could have"; 427 } 429 typedef if-index { 430 type leafref { 431 path "/if:interfaces-state/if:interface/if:if-index"; 432 } 433 description 434 "This type is used by the data model to reference network 435 interfaces in the system."; 436 } 438 typedef bridge-port-number { 439 type leafref { 440 path "/if:interfaces/if:interface/dot1q:bridge-port/dot1q:port-number"; 441 } 442 description 443 "An integer that uniquely identifies a Bridge Port."; 444 } 446 grouping port-identity-group { 447 description 448 "represents the port identity and consists of two attributes: 449 clockIdentity and portNumber"; 450 leaf clockIdentity { 451 type clock_identity_type; 452 description 453 "Globally unique manufacturer-assigned clock identitifier 454 for the localClock. 455 The identifier is based on an EUI-64."; 456 reference 457 "IEEE 802.1AS: clause 8.5.2.2"; 458 } 459 leaf portNumber { 460 type uint32; 461 default 0; 462 description 463 "The portNumber value for a port on a time-aware end station 464 (i.e., a time-aware system supporting a single gPTP port) 465 shall be 1. 466 The portNumber values for the gPTP ports on a time-aware 467 bridge supporting N ports shall be 1, 2, ..., N"; 468 reference 469 "IEEE 802.1AS: clause 8.5.2.3"; 470 } 471 } 473 grouping clock-quality-grouping { 474 description 475 "describes the clock quality"; 476 reference 477 "IEEE 802.1AS: clause 6.3.3.8"; 478 leaf clockClass{ 479 type uint8; 480 description 481 "The clockClass denotes the traceability of the time or 482 frequency of the clock. 483 The value of the clockClass shall be selected as follows: 484 a) if the Default Data set member gmCapable is TRUE, then 485 clockClass is set to the value that reflects the 486 combination of the LocalClock and ClockSource entities; 487 else if the value that reflects the LocalClock and 488 ClockSource entities is not specified or not known, 489 clockClass is set 255. 490 b) If the Default Data set member gmCapable is FALSE, 491 clockClass is set to 255."; 492 reference 493 "IEEE 802.1AS: clause 8.6.2.2"; 494 } 495 leaf clockAccuracy { 496 type uint8; 497 description 498 "The clockAccuracy indicates the expected accuracy of the clock. 499 It characterize the local clock for the purpose of the best 500 master clock algorithm. The value shall be selected as follows: 501 a) clockAccuracy is set to the value that reflects the 502 combination of the LocalClock and ClockSource entities 503 if specified or known; 504 b) if the value that reflects the LocalClock and ClockSource 505 entities is not specified or unknown, clockAccuracy is set 506 to 254."; 507 reference 508 "IEEE 802.1AS: clause 8.6.2.3"; 509 } 510 leaf offsetScaledLogVariance { 511 type uint16; 512 description 513 "The offsetScaledLogVariance represents an estimate of the PTP 514 variance. 515 The PTP variance characterizes the precision and frequency 516 stability of the ClockMaster. The PTP variance is the square of 517 PTP deviation PTPDEV. 518 The value shall be selected as follows: 519 a) offsetScaledLogVariance is set to the value that reflects the 520 combination of the LocalClock and ClockSource entities; else 521 b) if the value that reflects these entities is not specified 522 or not known, offsetScaledLogVariance is set to 16640 523 (410016). 524 This value corresponds to the value of PTPDEV for observation 525 interval equal to the default Sync message transmission 526 interval (i.e., observation interval of 0.125 s). 527 A value of -37268 indicates value too large to be represented or 528 has been computed."; 530 reference 531 "IEEE 802.1AS: clause 8.6.2.4"; 532 } 533 } 535 grouping offset-from-master-group { 536 description 537 "The value is an implementation-specific representation of the 538 current value of the time difference between a slave and the 539 grandmaster, as computed by the slave. It is recommended that 540 the data type be scaledNs (96-bits integer). 541 The default value is implementation specific."; 542 leaf offsetFromMasterHs { 543 type int32; 544 units "2**-16 ns * 2**64"; 545 description 546 "The most significant 32 bits of the offset, signed 96 bit number 547 in 2**-16 ns, an implementation-specific computation of the 548 current value of the time difference between a master and a slave 549 as computed by the slave. 550 This parameter MUST be read at the same time as 551 offsetFromMasterMs, 552 and offsetFromMasterLs, which represents middle and least 553 significant 32 bits of values, respectively, in order for 554 the read operation to succeed."; 555 } 556 leaf offsetFromMasterMs { 557 type int32; 558 units "2**-16 ns * 2**32"; 559 description 560 "The middle significant 32 bits of the offset, signed 96 bit 561 number in 2**-16 ns, an implementation-specific computation of 562 the current value of the time difference between a master and a 563 slave as computed by the slave. 564 This parameter MUST be read at the same time as 565 offsetFromMasterHs, 566 and offsetFromMasterLs, 567 which represents most (highest) and 568 least significant 32 bits of values, respectively, in order 569 for the read operation to succeed."; 570 } 571 leaf offsetFromMasterLs { 572 type int32; 573 units "2**-16 ns"; 574 description 575 "The least significant 32 bits of the offset, signed 96 bit number 576 in 2**-16 ns, an implementation-specific computation of the 577 current value of the time difference between a master and 578 a slave as computed by the slave. 579 This parameter MUST be read at the same time as 580 offsetFromMasterHs, 581 and offsetFromMasterMs, 582 which represents most (highest) and 583 middle significant 32 bits of values, respectively, in order for 584 the read operation to succeed."; 585 } 586 } 588 grouping last-gm-phase-change-group { 589 description 590 "The value is the phase change that occurred on the most recent 591 change in either grandmaster or gmTimeBaseIndicator."; 592 leaf lastGmPhaseChangeHs { 593 type uint32; 594 description 595 "The value is the phase change that occurred on the most recent 596 change in either grandmaster or gmTimeBaseIndicator. 597 This parameter MUST be read at the same time as 598 lastGmPhaseChangeMs, 599 and lastGmPhaseChangeLs, 600 which represents middle and least 601 significant 32 bits of values, respectively, in order for 602 the read operation to succeed."; 603 } 604 leaf lastGmPhaseChangeMs { 605 type uint32; 606 description 607 "The value is the phase change that occurred on the most recent 608 change in either grandmaster or gmTimeBaseIndicator. 609 This parameter MUST be read at the same time as 610 lastGmPhaseChangeHs, 611 and lastGmPhaseChangeLs, 612 which represents most and least 613 significant 32 bits of values, respectively, in order for 614 the read operation to succeed."; 615 } 616 leaf lastGmPhaseChangeLs { 617 type uint32; 618 description 619 "The value is the phase change that occurred on the most recent 620 change in either grandmaster or gmTimeBaseIndicator. 621 This parameter MUST be read at the same time as 622 lastGmPhaseChangeMs, 623 and lastGmPhaseChangeLs, which represents middle and least 624 significant 32 bits of values, respectively, in order for 625 the read operation to succeed."; 627 } 628 } 630 grouping last-gm-freq-change-group { 631 description 632 "The value is the frequency change that occurred on the most recent 633 change in either grandmaster or gmTimeBaseIndicator."; 634 leaf lastGmFreqChangeMs { 635 type int32; 636 description 637 "The value is the frequency change that occurred on the 638 most recent change in either grandmaster or 639 gmTimeBaseIndicator. 640 This parameter MUST be read at the same time as 641 lastGmFreqChangeLs, 642 which represents least significant 32 bits of the value 643 in order for the read operation to succeed."; 644 } 645 leaf lastGmFreqChangeLs { 646 type int32; 647 description 648 "The value is the frequency change that occurred on the 649 most recent change in either grandmaster or 650 gmTimeBaseIndicator. 651 This parameter MUST be read at the same time as 652 lastGmFreqChangeMs, 653 which represents most significant 32 bits of the value in 654 order for the read operation to succeed."; 655 } 656 } 657 grouping neighbor-prop-delay-group { 658 description 659 "It is an estimate of the current one-way propagation time 660 on the link attached to this port, measured as specified for 661 the respective medium. 662 The value is zero for ports attached to IEEE 802.3 EPON links 663 and for the master port of an IEEE 802.11 link, because 664 one-way propagation 665 delay is not measured on the latter and not directly measured 666 on the former. It is recommended that the data type be scaled in ns. 667 The initialization value is zero."; 668 leaf neighborPropDelayHs { 669 type uint32; 670 units "2^-16 ns * 2^64"; 671 description 672 "The most (highest) significant 32 bits, unsigned 96 bit number 673 in 2**-16 ns, the value is equal to the value of the per-port 674 global variable neighborPropDelay. 676 This parameter MUST be read at the same time as 677 neighborPropDelayMs, and neighborPropDelayLs, 678 which represents middle and least significant 32 bits of values, 679 respectively, in order for the read operation to succeed."; 680 } 681 leaf neighborPropDelayMs { 682 type uint32; 683 units "2^-16 ns * 2^32"; 684 description 685 "The second most (middle) significant 32 bits, unsigned 96 bit 686 number in 2**-16 ns, the value is equal to the value of the 687 per-port global variable neighborPropDelay. 688 This parameter MUST be read at the same time as 689 neighborPropDelayHs, 690 and neighborPropDelayLs, which represents most (highest) 691 and least significant 32 bits of values, respectively, in 692 order for the read operation to succeed."; 693 } 694 leaf neighborPropDelayLs { 695 type uint32; 696 units "2^-16 ns"; 697 description 698 "The least significant 32 bits, unsigned 96 bit number in 699 2**-16 ns,the value is equal to the value of the per-port 700 global variable neighborPropDelay. 701 This parameter MUST be read at the same time as 702 neighborPropDelayHs, 703 and neighborPropDelayMs, which represents most (highest) 704 and middle significant 32 bits of values, respectively, 705 in order for the read operation to succeed."; 706 } 707 } 708 grouping sync-receipt-timeout-time-interval-group{ 709 description 710 "It is the time interval after which sync receipt timeout 711 occurs iftime-synchronization information has not been 712 received during the interval."; 713 leaf syncReceiptTimeoutTimeIntervalHs { 714 type uint32; 715 units "2^-16 ns * 2^64"; 716 description 717 "The most (highest) significant 32 bits, of unsigned 96 bit 718 number in 2**-16 ns. 719 This parameter MUST be read at the same time as 720 syncReceiptTimeoutTimeIntervalMs, and 721 syncReceiptTimeoutTimeIntervalLs, which represents middle 722 and least significant 32 bits of values, respectively, in 723 order for the read operation to succeed. 725 Default value is calculated per 10.2.4.2, or 726 '0000 0000 0000 165A 0BC0 0000'h. 727 The contents of this variable SHALL be maintained across a 728 restart of the system."; 729 } 730 leaf syncReceiptTimeoutTimeIntervalMs { 731 type uint32; 732 units "2^-16 ns * 2^32"; 733 description 734 "The middle significant 32 bits, unsigned 96 bit number in 735 2**-16 ns. 736 This parameter MUST be read at the same time as 737 syncReceiptTimeoutTimeIntervalHs, and 738 syncReceiptTimeoutTimeIntervalLs, 739 which represents most (highest) and least significant 740 32 bits of values, respectively, in order for the read 741 operation to succeed. 742 Default value is calculated per 10.2.4.2, or 743 '0000 0000 0000 165A 0BC0 0000'h. 744 The contents of this variable SHALL be maintained across 745 a restart of the system."; 746 } 747 leaf syncReceiptTimeoutTimeIntervalLs { 748 type uint32; 749 units "2^-16 ns"; 750 description 751 "The least significant 32 bits, unsigned 96 bit number in 752 2**-16 ns. 753 This parameter MUST be read at the same time as 754 syncReceiptTimeoutTimeIntervalHs, and 755 syncReceiptTimeoutTimeIntervalMs, 756 which represents most (highest) and middle significant 757 32 bits of values, respectively, in order for the read 758 operation to succeed. 759 Default value is calculated per 10.2.4.2, or 760 '0000 0000 0000 165A 0BC0 0000'h. 761 The contents of this variable SHALL be maintained across 762 a restart of the system."; 763 } 764 } 766 grouping neighbor-prop-delay-thresh-group { 767 description 768 "It is the propagation time threshold, above which a port is 769 not considered capable of participating in the 802.1AS protocol."; 770 leaf neighborPropDelayThreshHs { 771 type uint32; 772 units "2^-16 ns * 2^64"; 773 description 774 "The most (highest) significant 32 bits of 775 neighborPropDelayThresh, 776 unsigned 96 bit number in 2**-16 ns. 777 This parameter MUST be read or written at the same time as 778 neighborPropDelayThreshMs, and 779 neighborPropDelayThreshLs, which represents middle and least 780 significant 32 bits of values, respectively, in order for the 781 read or write operation to succeed. 782 The contents of this variable SHALL be maintained across a 783 restart of the system."; 784 } 785 leaf neighborPropDelayThreshMs { 786 type uint32; 787 units "2^-16 ns * 2^32"; 788 description 789 "The middle significant 32 bits of neighborPropDelayThresh, 790 unsigned 96 bit number in 2**-16 ns. 791 This parameter MUST be read or written at the same time as 792 neighborPropDelayThreshHs, and 793 neighborPropDelayThreshLs, which represents most (highest) 794 and least significant 32 bits of values, respectively, in 795 order for the read or write operation to succeed. 796 The contents of this variable SHALL be maintained across a 797 restart of the system."; 798 } 799 leaf neighborPropDelayThreshLs { 800 type uint32; 801 units "2^-16 ns"; 802 description 803 "The least significant 32 bits of neighborPropDelayThresh, 804 unsigned 96 bit number in 2**-16 ns. 805 This parameter MUST be read at the same time as 806 neighborPropDelayThreshHs, 807 and neighborPropDelayThreshMs, which represents most (highest) 808 and middle significant 32 bits of values, respectively, 809 in order for the read or write operation to succeed. 810 The contents of this variable SHALL be maintained across a 811 restart of the system."; 812 } 813 } 815 grouping delay-asymmetry-group { 816 description 817 "The value is the asymmetry in the propagation delay on the 818 link attached to this port relative to the grandmaster time base. 819 If propagation delay asymmetry is not modeled, 820 then delayAsymmetry is 0."; 822 leaf delayAsymmetryHs { 823 type uint32; 824 units "2^-16 ns * 2^64"; 825 description 826 "The most (highest) significant 32 bits of delayAsymmetry, 827 signed 96 bit number in 2**-16 ns. 828 This leaf MUST be read or written at the same time as 829 delayAsymmetryMs, and 830 delayAsymmetryLs, which represents middle and least 831 significant 32 bits of values, respectively, in order for 832 the read or write operation to succeed. 833 The contents of this variable SHALL be maintained across 834 a restart of the system."; 835 } 836 leaf delayAsymmetryMs { 837 type uint32; 838 units "2^-16 ns * 2^32"; 839 description 840 "The middle significant 32 bits of delayAsymmetry, 841 signed 96 bit number in 2**-16 ns. 842 This leaf MUST be read or written at the same time as 843 delayAsymmetryHs, and 844 delayAsymmetryLs, which represents middle and least 845 significant 32 bits of values, respectively, in order for 846 the read or write operation to succeed. 847 The contents of this variable SHALL be maintained across 848 a restart of the system."; 849 } 850 leaf delayAsymmetryLs { 851 type uint32; 852 units "2^-16 ns"; 853 description 854 "The least significant 32 bits, signed 96 bit number in 855 2**-16 ns. 856 This object MUST be read or written at the same time as 857 delayAsymmetryHs, and 858 delayAsymmetryLs, which represents most (highest) and 859 least significant 32 bits of values, respectively, in 860 order for the read or write operation to succeed. 862 The contents of this variable SHALL be maintained across 863 a restart of the system."; 864 } 865 } 867 container defaultDataSet { 868 description 869 "The default data set represents native time capability of a 870 time-aware system and is consistent with respective 871 IEEE 1588 data set."; 872 leaf clockIdentity { 873 type clock_identity_type; 874 config false; 875 description 876 "Globally unique manufacturer-assigned clock identifier 877 for the local clock. The identifier is based on an EUI-64."; 878 reference 879 "IEEE 802.1AS: clause 14.2.1"; 880 } 881 leaf numberPorts { 882 type uint32 { 883 range "0 .. 255"; 884 } 885 config false; 886 description 887 "The number of PTP ports on the device. 888 For an end station the value is 1."; 889 reference 890 "IEEE 802.1AS: clause 14.2.2"; 891 } 892 container clockQuality { 893 config false; 894 description 895 "It reflects the quality clock of the LocalClock entity."; 896 uses clock-quality-grouping; 897 } 898 leaf priority1 { 899 type uint32 { 900 range "0 .. 255"; 901 } 902 default 246; 903 description 904 "Most-significant priority declaration in the execution 905 of the best master clock algorithm. Lower values take 906 precedence. The value of priority1 shall be 255 for a 907 time-aware system that is not grandmaster-capable. 908 The value of priority1 shall be less than 255 for a 909 time-aware system that is grandmaster-capable. 910 The value 0 shall be reserved for future 911 management use, i.e., the value of priority1 shall be set 912 to 0 only via management action, and shall not be specified 913 as a default value by a user of this standard. 914 In the absence of a default value set by a user of this 915 standard, the default value shall be set as below: 916 a) system type of network infrastructure time-aware 917 system to value 246; 919 b) portable time-aware system, 250; 920 c) other time-aware systems, 248."; 921 reference 922 "IEEE 802.1AS: clause 14.2.7"; 923 } 924 leaf priority2 { 925 type uint32 { 926 range "0 .. 255"; 927 } 928 default 248; 929 description 930 "Least-significant priority declaration in the execution 931 of the best master clock algorithm. 932 Lower values take precedence. 933 The default value is 248."; 934 reference 935 "IEEE 802.1AS: clause 14.2.7"; 936 } 937 leaf gmCapable { 938 type boolean; 939 config false; 940 description 941 "True (1) if master clock capable; false (2)otherwise"; 942 reference 943 "IEEE 802.1AS: clause 14.2.8"; 944 } 945 leaf currentUtcOffset { 946 type uint32; 947 description 948 "The value is the offset between TAI and UTC, relative 949 to the ClockMaster entity of this time-aware system. 950 It is equal to the global variable sysCurrentUtcOffset. 951 The value is in units of seconds. 952 The initialization default value is selected as follows: 953 a) the value is the value obtained from a primary 954 reference if the value is known at the time of 955 initialization, 956 b) else the value is the current number of leap 957 seconds, when the time-aware system is designed."; 958 reference 959 "IEEE 802.1AS: clause 14.2.9"; 960 } 961 leaf currentUtcOffsetValid { 962 type boolean; 963 description 964 "True (1) if currentUTCOffset is known to be correct; 965 false (2) otherwise."; 966 reference 967 "10.2.10"; 968 } 969 leaf leap59 { 970 type boolean; 971 description 972 "A true (1) value indicates that the last minute of the 973 current UTC day, relative to the ClockMaster entity of 974 this time-aware system, will contain 59 seconds. 975 It is equal to the global variable sysLeap59. 976 The initialization value is selected as follows: 977 a) Set to true (1) if the value is obtained from a 978 primary reference if known at the at the time of 979 initialization, else 980 b) The value is set to false (2)."; 981 reference 982 "IEEE 802.1AS: clause 14.2.11"; 983 } 984 leaf leap61 { 985 type boolean; 986 description 987 "A true (1) value indicates that the last minute of the 988 current UTC day, relative to the ClockMaster entity of 989 this time-aware system, will contain 59 seconds. 990 It is equal to the global variable sysLeap61. 991 The initialization value is selected as follows: 992 a) Set to true (1) if the value is obtained from a 993 primary reference if known at the at the time 994 of initialization, else 995 b) The value is set to false (2)."; 996 reference 997 "IEEE 802.1AS: clause 14.2.12"; 998 } 999 leaf timeTraceable { 1000 type boolean; 1001 config false; 1002 description 1003 "The value is set to true (1) if the timescale and the 1004 value of currentUtcOffset, relative to the ClockMaster 1005 entity of this time-aware system, are traceable to a 1006 primary reference standard; otherwise 1007 the value is set to false (2). 1008 The initialization value is selected as follows: 1009 a) If the time and the value of currentUtcOffset are 1010 traceable to a primary reference standard at the 1011 time of initialization, the value is set to 1012 true (1), else 1013 b) The value is set to false (2)."; 1014 reference 1015 "IEEE 802.1AS: clause 14.2.13"; 1016 } 1017 leaf frequencyTraceable { 1018 type boolean; 1019 config false; 1020 description 1021 "The value is set to true (1) if the frequency determining 1022 the timescale of the ClockMaster Entity of this time aware 1023 system is traceable to a primary reference standard; 1024 otherwise the value is set to false (2). 1025 The initialization value is selected as follows: 1026 a) If the frequency is traceable to a primary reference 1027 standard at the time of initialization, 1028 the value is set to true (1), else 1029 b) The value is set to false (2)."; 1030 reference 1031 "IEEE 802.1AS: clause 14.2.14"; 1032 } 1033 leaf timeSource { 1034 type time-source-enumeration; 1035 default INTERNAL_OSCILLATOR; 1036 config false; 1037 description 1038 "The timeSource is an information-only attribute indicating 1039 the type of source of time used by a ClockMaster. 1040 The value is not used in the selection 1041 of the grandmaster. 1042 The initialization value is selected as follows: 1043 a) If the timeSource, is known at the time of 1044 initialization, else 1045 b) The value is set to INTERNAL_OSCILLATOR (160)."; 1046 reference 1047 "IEEE 802.1AS: clause 14.2.14"; 1048 } 1049 } 1051 container currentDataSet { 1052 config false; 1053 description 1054 "The current data set represent this system's topological 1055 location relative to the known grandmaster system. 1056 This data set is consistent with respective IEEE 1588 1057 data set."; 1058 leaf stepsRemoved { 1059 type int32; 1060 description 1061 "The number of communication paths traversed between the 1062 local clock and the grandmaster clock. For example, 1063 stepsRemoved for a slave clock on the same PTP communication 1064 path as the grandmaster clock will have a value of 1, 1065 indicating that a single path was traversed."; 1066 reference 1067 "IEEE 802.1AS clause 14.3.1"; 1068 } 1069 container offsetFromMaster { 1070 description 1071 "It represents the current value of the time difference between 1072 a slave and the grandmaster, as computed by the slave. 1073 It is recommended that the data type be scaledNs."; 1074 uses offset-from-master-group; 1075 reference 1076 "IEEE 802.1AS clause 14.3.2"; 1077 } 1078 container lastGmPhaseChange { 1079 description 1080 "The value is the phase change that occurred on the most 1081 recent change in either grandmaster or gmTimeBaseIndicator."; 1082 uses last-gm-phase-change-group; 1083 reference 1084 "IEEE 802.1AS: clause 14.3.3"; 1085 } 1086 container lastGmFreqChange { 1087 uses last-gm-freq-change-group; 1088 description 1089 "The value is the frequency change that occurred on the most 1090 recent change in either grandmaster or gmTimeBaseIndicator."; 1091 reference 1092 "IEEE 802.1AS: clause 14.3.4"; 1093 } 1094 leaf gmTimebaseIndicator { 1095 type uint32; 1096 description 1097 "This reports the grandmaster time base change value conveyed 1098 in the Sync message. 1099 The value is the value of timeBaseIndicator of the current 1100 grandmaster"; 1101 reference 1102 "IEEE 802.1AS: clause 14.3.5"; 1103 } 1104 leaf gmChangeCount { 1105 type yang:counter32; 1106 description 1107 "This statistics counter tracks the number of times the 1108 grandmaster has changed in a gPTP domain."; 1109 reference 1110 "IEEE 802.1AS: clause 14.3.6"; 1112 } 1113 leaf timeOfLastGmChangeEvent { 1114 type yang:timestamp; 1115 units "0.01 seconds"; 1116 description 1117 "This timestamp denotes the system time when the most 1118 recent grandmaster change occurred in a gPTP domain."; 1119 } 1120 leaf timeOfLastGmFreqChangeEvent { 1121 type yang:timestamp; 1122 units "0.01 seconds"; 1123 description 1124 "This timestamp denotes the system time when the most 1125 recent change in grandmaster phase occured, due to a 1126 change of either the grandmaster or the grandmaster 1127 time base."; 1128 } 1129 leaf timeOfLastGmPhaseChangeEvent { 1130 type yang:timestamp; 1131 units "0.01 seconds"; 1132 description 1133 "This timestamp denotes the system time when the most recent 1134 change in grandmaster frequency occured, due to a change of 1135 either the grandmaster or the grandmaster time base."; 1136 reference 1137 "IEEE 802.1AS: clause "; 1138 } 1139 } 1141 container parentDataSet { 1142 config false; 1143 description 1144 "The paraent data set represent timing upstream 1145 (toward grandmaster) system's parameters as measured 1146 at this system. 1147 This data set is consistent with respective IEEE 1588 data set."; 1148 container parentPortIdentity { 1149 uses port-identity-group; 1150 description 1151 "Clock identifier (clockIdentity) of the parent LocalClock. 1152 The default value is set to 1153 /gptp:defaultDataSet/gptp:ClockIdentity. 1154 If this time-aware system is the grandmaster, the value 1155 is the clockIdentity of this time-aware system. 1156 If this time-aware system is not the grandmaster, 1157 the value is the clockIdentity of the MasterPort of the 1158 gPTP communication path attached to the single slave port 1159 of this time-aware system. 1161 Port number (portNumber) of the local clock parent gPTP 1162 port number. 1163 If this time-aware system is the grandmaster, the value 1164 is the gPTP portNumber of this time-aware system. 1165 If this time-aware system is not the grandmaster, 1166 the value is the portNumber of the MasterPort of the 1167 gPTP communication path attached to the single gPTP slave 1168 port of this time-aware system."; 1169 reference 1170 "IEEE 802.1AS: clause 14.4.1"; 1172 } 1174 leaf cumulativeRateRatio { 1175 type int32; 1176 description 1177 "The value is an estimate of the ratio of the frequency of 1178 the grandmaster to the frequency of the LocalClock entity 1179 of this time-aware system. 1180 Cumulative rate ratio is expressed as the fractional 1181 frequency offset multiplied by 2**41, i.e., 1182 the quantity (rateRatio - 1.0)(2**41), where 1183 rateRatio is computed by the PortSyncSyncReceive 1184 state machine"; 1185 reference 1186 "IEEE 802.1AS: clause 14.4.2"; 1187 } 1188 leaf grandmasterIdentity { 1189 type clock_identity_type; 1190 description 1191 "Clock identifier (clockIdentity) of the grandmaster. 1192 The default value is set to clockIdentity of the 1193 defaultDataSet"; 1194 reference 1195 "IEEE 802.1AS: clause 14.4.3"; 1196 } 1197 container grandmasterClockQuality { 1198 uses clock-quality-grouping; 1199 description 1200 "Denotes the clock quality of the grandmaster. 1201 The default value for clockClass is set to defaultDataSet 1202 ClockClass. 1203 The default value for clockAccuracy is set to DefaultDataSet 1204 ClockAccuracy. 1205 The default value for offsetScaledLogVariance is set to 1206 DefaultDataSet OffsetScaledLogVariance"; 1207 reference 1208 "IEEE 802.1AS: clause 14.4.4, 14.4.5 and 14.4.6"; 1210 } 1211 leaf grandmasterPriority1 { 1212 type uint32 { 1213 range "0 .. 255"; 1214 } 1215 description 1216 "Grandmaster's most-significant priority declaration in the 1217 execution of the best master clock algorithm. 1218 Lower values take precedence. 1219 The default value is set to default Data Set Priority1"; 1220 reference 1221 "IEEE 802.1AS: clause 14.4.7"; 1222 } 1223 leaf grandmasterPriority2 { 1224 type uint32 { 1225 range "0 .. 255"; 1226 } 1227 description 1228 "Grandmaster's least-significant priority declaration in 1229 the execution of the best master clock algorithm. 1230 Lower values take precedence. 1231 The default value is set to default Data Set Priority2"; 1232 reference 1233 "IEEE 802.1AS: clause 14.4.8"; 1234 } 1235 } 1237 container timePropertiesDataSet { 1238 config false; 1239 description 1240 "The time properties data set represents the grandmaster's 1241 parameters, as measured at this system and are derived from 1242 IEEE 802.1AS protocol. 1243 This data set is consistent with respective IEEE 1588 data set."; 1244 leaf currentUTCOffset { 1245 type int32; 1246 units "seconds"; 1247 description 1248 "The value is currentUtcOffset for the current grandmaster. 1249 The value is in units of 1250 seconds. The default value is set to currentUTCOffset."; 1251 reference 1252 "IEEE 802.1AS: clause 14.5.1"; 1253 } 1254 leaf currentUTCOffsetValid { 1255 type boolean; 1256 description 1257 "True (1) if currentUTCOffset is known to be correct; 1258 false (2) otherwise. 1259 The default value is set to currentUTCOffsetValid."; 1260 reference 1261 "IEEE 802.1AS: clause 14.5.2"; 1262 } 1263 leaf leap59 { 1264 type boolean; 1265 description 1266 "The value is leap59 for the current grandmaster. It is equal 1267 to the global variable leap59. 1268 A true (1) value indicates that the last minute of the 1269 current UTC day, relative to the ClockMaster entity of this 1270 time-aware system, will contain 59 seconds."; 1271 reference 1272 "IEEE 802.1AS: clause 14.5.3"; 1273 } 1274 leaf leap61 { 1275 type boolean; 1276 description 1277 "The value is leap61 for the current grandmaster. It is equal 1278 to the global variable leap61. 1279 A true (1) value indicates that the last minute of the 1280 current UTC day, relative to the ClockMaster entity of this 1281 time-aware system, will contain 61 seconds."; 1282 reference 1283 "IEEE 802.1AS: clause 14.5.4"; 1284 } 1285 leaf timeTraceable { 1286 type boolean; 1287 description 1288 "The value is timeTraceable for the current grandmaster. It 1289 is equal to the global variable timeTraceable. 1290 True (1) if the timescale and the value of this parameter 1291 are traceable to a primary reference; false (2) otherwise."; 1292 reference 1293 "IEEE 802.1AS: clause "; 1294 } 1295 leaf frequencyTraceable { 1296 type boolean; 1297 description 1298 "The value is frequencyTraceable for the current grandmaster. 1299 It is equal to the global variable frequencyTraceable. 1300 True (1) if the frequency determining the timescale is traceable 1301 to a primary reference; false (2) otherwise."; 1302 reference 1303 "IEEE 802.1AS: clause 14.5.6"; 1304 } 1305 leaf timeSource { 1306 type time-source-enumeration; 1307 description 1308 "The value is timeSource for the current grandmaster. 1309 It indicates the source of time used by the grandmaster clock."; 1310 reference 1311 "IEEE 802.1AS: clause 14.5.7"; 1312 } 1313 } 1315 list portDataSet { 1316 key "portNumber"; 1317 description 1318 "A list of gPTP port related variables in a time-aware Bridge or 1319 for a time-aware end station. A value of 1 is used in a bridge 1320 or an end station that does not have multiple components. 1321 For a given media port of a Bridge or an end station, there may 1322 be one or more gPTP port, and depends whether a media port supports 1323 point to point link (e.g. IEEE 802.3 Ethernet) or point to 1324 multi-point (e.g. CSN, IEEE 802.3 EPON,etc) links on the 1325 media port."; 1326 leaf bridgeBasePort { 1327 type bridge-port-number; 1328 config false; 1329 mandatory true; 1330 description 1331 "It identifies the bridge port number of the port for which this 1332 entry contains bridge management information. 1333 For end stations, this port number shall be (1)."; 1334 } 1335 leaf asIfIndex { 1336 type if-index; 1337 config false; 1338 mandatory true; 1339 description 1340 "It identifies the gPTP interface group within the system for 1341 which this portDataSet contains information. 1342 It is the value of the instance of the IfIndex object, 1343 defined in the IF-MIB, for the gPTP interface group corresponding 1344 to this port, or the value 0 if the port has not been bound 1345 to an underlying frame source and sink. 1346 For a given media port of a Bridge or an end station, there may 1347 be one or more gPTP port, and depends whether a media port 1348 supports point to point link (e.g. IEEE 802.3 Ethernet) or 1349 point to multi-point (e.g. CSN, IEEE 802.3 EPON, etc) links 1350 on the media port."; 1351 } 1352 leaf portNumber { 1353 type uint32; 1354 mandatory true; 1355 description 1356 "The portNumber value for a port on a time-aware end station (i.e., 1357 a time-aware system supporting a single gPTP port) shall be 1. 1358 The portNumber values for the gPTP ports on a time-aware Bridge 1359 supporting N ports shall be 1, 2, ..., N, respectively"; 1360 reference 1361 "IEEE 802.1AS: clause 14.6.2"; 1362 } 1363 leaf clockIdentity { 1364 type clock_identity_type; 1365 config false; 1366 description 1367 "The clockIdentity is an 8 octet array formed by mapping an IEEE 1368 EUI-48 assigned to the time-aware system to IEEE EUI-64 format 1369 (i.e., to an array of 8 octets). 1370 The EUI-48 shall be an Ethernet MAC address owned by the 1371 organization creating the instance of a clockIdentity. 1372 The organization owning the MAC address shall ensure that the MAC 1373 address is used in generating only a single instance of a 1374 clockIdentity, for example by requiring that the MAC address be 1375 a MAC address embedded in the device identified by the 1376 clockIdentity. 1377 The mapping rules for constructing the EUI-64 from the EUI-48 1378 shall be those specified by the IEEE [B2]. The 8 octets of the 1379 created IEEE EUI-64 shall be assigned in order to the 8 octet 1380 array clockIdentity with most significant octet of the 1381 IEEE EUI-64 assigned to the clockIdentity octet array 1382 member with index 0."; 1383 reference 1384 "IEEE 802.1AS: clause 14.6.2"; 1385 } 1386 leaf portRole { 1387 type port-role-enumeration; 1388 default disabledPort; 1389 config false; 1390 description 1391 "The value is the value of the port role of this port. 1392 The enumeration values are consistent with IEEE Std 1588-2008. 1393 The default value is 3 (DisabledPort)"; 1394 reference 1395 "IEEE 802.1AS: clause 14.6.3"; 1396 } 1398 leaf pttPortEnabled { 1399 type boolean; 1400 description 1401 "802.1AS function enable for a given port. 1403 True (1) if the time-synchronization and best master selection 1404 functions of the port are enabled; 1405 False (2) otherwise. 1406 The contents of this table SHALL be maintained across a 1407 restart of the system."; 1408 reference 1409 "IEEE 802.1AS: clause 14.6.4"; 1410 } 1412 leaf isMeasuringDelay { 1413 type boolean; 1414 config false; 1415 description 1416 "True (1) if the port is measuring link propagation delay; 1417 The value is equal to the value of the Boolean 1418 isMeasuringPdDelay. 1419 False (2) otherwise."; 1420 reference 1421 "IEEE 802.1AS: clause 14.6.5"; 1422 } 1424 leaf asCapable { 1425 type boolean; 1426 config false; 1427 description 1428 "True (1) if and only if it is determined that this time-aware 1429 system and the time-aware system at the other ends of the 1430 link attached to this port can interoperate with each other 1431 via the IEEE 802.1AS protocol; 1432 False (2) otherwise"; 1433 reference 1434 "IEEE 802.1AS: clause 14.6.6"; 1435 } 1437 container neighborPropDelay { 1438 description 1439 "It is an 1440 estimate of the current one-way propagation time on the link 1441 attached to this port, measured as specified for the 1442 respective medium. 1443 The value is zero for ports attached to IEEE 802.3 EPON links 1444 and for the master port of an IEEE 802.11 link, because 1445 one-way propagation delay is not measured on the latter and 1446 not directly measured on the former. 1447 It is recommended that the data type be scaled in ns. 1448 The initialization value is zero."; 1449 uses neighbor-prop-delay-group; 1450 reference 1451 "IEEE 802.1AS: clause 14.6.7"; 1452 } 1453 container neighborPropDelayThresh { 1454 description 1455 "It is the propagation time threshold, 1456 above which a port is not considered capable of participating 1457 in the IEEE 802.1AS protocol."; 1458 uses neighbor-prop-delay-thresh-group; 1459 reference 1460 "IEEE 802.1AS: clause 14.6.9"; 1461 } 1462 container delayAsymmetry { 1463 description 1464 "The value is the asymmetry in the propagation delay on the link 1465 attached to this port relative to the grandmaster time base. 1466 If the propagation delay asymmetry is not modeled, 1467 then delayAsymmetry is 0"; 1468 uses delay-asymmetry-group; 1469 reference 1470 "IEEE 802.1AS: clause 14.6.9"; 1471 } 1472 leaf neighborRateRatio { 1473 type int32; 1474 config false; 1475 description 1476 "The value is an estimate of the ratio of the frequency of the 1477 LocalClock entity of the time-aware system at the other end of 1478 the link attached to this port, to the frequency of the 1479 LocalClock entity of this time-aware system. 1480 Neighbor rate ratio is expressed as the fractional 1481 frequency offset multiplied by 2**41, i.e., 1482 the quantity (neighborRateRatio - 1.0)(2**41)"; 1483 reference 1484 "IEEE 802.1AS: clause 14.6.10"; 1485 } 1486 leaf initialLogAnnounceInterval { 1487 type int32 { 1488 range "-128 .. 127"; 1489 } 1490 default 0; 1491 description 1492 "The value is the logarithm to the base 2 of the of the announce 1493 interval used when 1494 (a) the port is initialized, or 1495 (b) a message interval request TLV is received with 1496 announceInterval field set to 126 1497 The default value is 0. 1498 The contents of this variable SHALL be maintained across 1499 a restart of the system."; 1500 reference 1501 "IEEE 802.1AS: clause 14.6.11"; 1502 } 1503 leaf currentLogAnnounceInterval { 1504 type int32 { 1505 range "-128 .. 127"; 1506 } 1507 config false; 1508 description 1509 "The value is the logarithm to the base 2 of the of the 1510 current announce transmission interval. 1511 The currentLogAnnounceInterval specifies the current value 1512 of the announce interval. 1513 Every port supports the value 127; the port does not send 1514 Announce messages when currentLogAnnounceInterval has this value. 1515 A port may support other values, except for the reserved values 1516 -128 through -125, inclusive, and 124 through 126, inclusive. 1517 A port ignores requests for unsupported values."; 1518 reference 1519 "IEEE 802.1AS: clause 14.6.12"; 1520 } 1521 leaf announceReceiptTimeout { 1522 type uint32 { 1523 range "0 .. 255"; 1524 } 1525 default 2; 1526 description 1527 "The value of this attribute tells a slave port the number of sync 1528 intervals to wait without receiving synchronization information, 1529 before assuming that the master is no longer transmitting 1530 synchronization information, and that the BMC algorithm needs to 1531 be run, if appropriate. 1532 The condition of the slave port not receiving synchronization 1533 information for syncReceiptTimeout sync intervals is referred to 1534 as 'sync receipt timeout'. 1535 The default value is 2."; 1536 reference 1537 "IEEE 802.1AS: clause 14.6.13"; 1538 } 1539 leaf initialLogSyncInterval { 1540 type int32 { 1541 range "-128 .. 127"; 1542 } 1543 default -3; 1544 description 1545 "The value is the logarithm to the base 2 of the sync interval 1546 used when, 1547 (a) the port is initialized, or 1548 (b) a message interval request TLV is received with the 1549 timeSyncInterval field set to 126. 1550 The initialization value is -3. 1551 The contents of this variable SHALL be maintained across a 1552 restart of the system."; 1553 reference 1554 "IEEE 802.1AS: clause 14.6.14"; 1555 } 1556 leaf currentLogSyncInterval { 1557 type int32 { 1558 range "-128 .. 127"; 1559 } 1560 description 1561 "The value is the logarithm to the base 2 of the current 1562 time-synchronization transmission interval"; 1563 reference 1564 "IEEE 802.1AS: clause 14.6.15"; 1565 } 1566 leaf syncReceiptTimeout { 1567 type uint32 { 1568 range "0 .. 255"; 1569 } 1570 default 3; 1571 description 1572 "The value is the number of time-synchronization transmission 1573 intervals that a slave port waits without receiving 1574 synchronization information, before assuming that the master 1575 is no longer transmitting synchronization information and that 1576 the BMCA needs to be run, if appropriate. 1577 The initialization value is 3. 1578 The contents of this variable SHALL be maintained across a 1579 restart of the system."; 1580 reference 1581 "IEEE 802.1AS: clause 14.6.16"; 1582 } 1583 container syncReceiptTimeoutTimeInterval { 1584 description 1585 "It is the time interval after which sync receipt timeout occurs 1586 if time-synchronization information has not been received during 1587 the interval."; 1588 uses sync-receipt-timeout-time-interval-group; 1589 reference 1590 "IEEE 802.1AS: clause 14.6.17"; 1591 } 1592 leaf initialLogPdelayReqInterval { 1593 type int32 { 1594 range "-128 .. 127"; 1596 } 1597 default 0; 1598 description 1599 "For full-duplex, IEEE 802.3 media and CSN media that use the peer 1600 delay mechanism to measure path delay, the value is the logarithm 1601 to the base 2 of the Pdelay_Req message transmission interval 1602 used when, 1603 (a) the port is initialized, or 1604 (b) a message interval request TLV is received with the 1605 linkDelayInterval field set to 126. 1606 For these media, the initialization value is 0. 1607 For all other media, the value is 127. 1608 The contents of this variable SHALL be maintained across a 1609 restart of the system."; 1610 reference 1611 "IEEE 802.1AS: clause 14.6.18"; 1612 } 1613 leaf currentLogPdelayReqInterval { 1614 type int32 { 1615 range "-128 .. 127"; 1616 } 1617 config false; 1618 description 1619 "For full-duplex, IEEE 802.3 media and CSN media that use the peer 1620 delay mechanism 1621 to measure path delay, the value is the logarithm to the base 2 1622 of the current Pdelay_Req message transmission interval. 1623 For all other media, the value is 127. 1624 The contents of this variable SHALL be maintained across a 1625 restart of the system."; 1626 reference 1627 "IEEE 802.1AS: clause 14.6.19"; 1628 } 1629 leaf allowedLostResponses { 1630 type uint32 { 1631 range "0 .. max"; 1632 } 1633 default 3; 1634 description 1635 "The value is equal to the value of the per-port global variable 1636 allowedLostResponses. 1637 It is the number of Pdelay_Req messages for which a valid 1638 response is not received, above which a port is considered to 1639 not be exchanging peer delay messages"; 1640 reference 1641 "IEEE 802.1AS: clause 14.6.20"; 1642 } 1643 leaf versionNumber { 1644 type uint32 { 1645 range "0 .. 63"; 1646 } 1647 default 2; 1648 config false; 1649 description 1650 "Indicates the PTP version in use on the port. 1651 The version number for this standard is set to the value 2. 1652 The contents of this variable SHALL be maintained across a 1653 restart of the system."; 1654 reference 1655 "IEEE 802.1AS: clause 14.6.21"; 1656 } 1657 leaf nup { 1658 type uint64 { 1659 range "0 .. 2"; 1660 } 1661 description 1662 "For an OLT port of an IEEE 802.3 EPON link, the value is the 1663 effective index of refraction for the EPON upstream wavelength 1664 light of the optical path. 1665 The default value is 1.46770 for 1 Gb/s upstream links, 1666 and 1.46773 for 10 Gb/s upstream links. 1667 For all other ports, the value is 0."; 1668 reference 1669 "IEEE 802.1AS: clause 14.6.22"; 1670 } 1671 leaf ndown { 1672 type uint64 { 1673 range "0 .. 2"; 1674 } 1675 description 1676 "For an OLT port of an IEEE 802.3 EPON link, the value is the 1677 effective index of refraction for the EPON downstream wavelength 1678 light of the optical path. 1679 The default value is 1.46805 for 1 Gb/s downstream links, 1680 and 1.46851 for 10 Gb/s downstream links. 1681 For all other ports, the value is 0."; 1682 reference 1683 "IEEE 802.1AS: clause 14.6.23"; 1684 } 1685 leaf acceptableMasterTableEnabled { 1686 type boolean; 1687 default false; 1688 description 1689 "True (1) if acceptableMasterTableEnabled is true and an ONU port 1690 attached to an IEEE 802.3 EPON link in a time-aware system. 1691 False (2), otherwise. 1693 The default value is FALSE."; 1694 reference 1695 "IEEE 802.1AS: clause 14.6.24"; 1696 } 1697 } 1699 list portStatIfEntry { 1700 key "portNumber"; 1701 config false; 1702 description 1703 "A list of time-aware port related counters in a gPTP domain. 1704 A value 1 is used in a bridge or an end station that does 1705 not have multiple components."; 1706 leaf asIfIndex { 1707 type if-index; 1708 config false; 1709 description 1710 "It identifies the gPTP interface group within the system for 1711 which this portDataSet contains information. 1712 It is the value of the instance of the 1713 IfIndex object, defined in the IF-MIB, for the gPTP interface 1714 group corresponding to this port, or the value 0 if the port 1715 has not been bound to an underlying frame source and sink. 1716 For a given media port of a Bridge or an end station, 1717 there may be one or more gPTP port, and depends whether a 1718 media port supports point to point link (e.g. IEEE 802.3 1719 Ethernet) or point to multi-point (e.g. CSN, IEEE802.3 1720 EPON, etc) links on the media port."; 1721 } 1722 leaf portNumber { 1723 type uint32; 1724 config false; 1725 description 1726 "The portNumber value for a port on a time-aware end station 1727 (i.e., a time-aware system supporting a single gPTP port) shall 1728 be 1. 1729 The portNumber values for the gPTP ports on a time-aware Bridge 1730 supporting N ports shall be 1, 2, ..., N, respectively."; 1731 reference 1732 "IEEE 802.1AS: clause 14.6.2"; 1733 } 1734 leaf statRxSyncCount { 1735 type yang:counter32; 1736 config false; 1737 description 1738 "A counter that increments every time synchronization information 1739 is received."; 1740 reference 1741 "IEEE 802.1AS: clause 14.7.2"; 1742 } 1743 leaf statRxFollowUpCount { 1744 type yang:counter32; 1745 config false; 1746 description 1747 "A counter that increments every time a Follow_Up message 1748 is received."; 1749 reference 1750 "IEEE 802.1AS: clause 14.7.3"; 1751 } 1752 leaf statRxPdelayRequest { 1753 type yang:counter32; 1754 config false; 1755 description 1756 "A counter that increments every time a Pdelay_Req message 1757 is received"; 1758 reference 1759 "IEEE 802.1AS: clause 14.7.4"; 1760 } 1761 leaf statRxPdelayResponse { 1762 type yang:counter32; 1763 config false; 1764 description 1765 "A counter that increments every time a Pdelay_Resp 1766 message is received."; 1767 reference 1768 "IEEE 802.1AS: clause 14.7.5"; 1769 } 1770 leaf statRxPdelayResponseFollowUp { 1771 type yang:counter32; 1772 config false; 1773 description 1774 "A counter that increments every time a 1775 Pdelay_Resp_Follow_Up message is received."; 1776 reference 1777 "IEEE 802.1AS: clause 14.7.6"; 1778 } 1779 leaf statRxAnnounce { 1780 type yang:counter32; 1781 config false; 1782 description 1783 "A counter that increments every time an Announce 1784 message is received."; 1785 reference 1786 "IEEE 802.1AS: clause 14.7.7"; 1787 } 1788 leaf statRxPTPPacketDiscard { 1789 type yang:counter32; 1790 config false; 1791 description 1792 "A counter that increments every time a PTP message 1793 is discarded, caused by the occurrence of any of 1794 the following conditions: 1795 a) A received Announce message is not qualified. 1796 b) A Follow_Up message corresponding to a received Sync 1797 message is not received. 1798 c) A Pdelay_Resp message corresponding to a transmitted 1799 Pdelay_Req message is not received. 1800 d) A Pdelay_Resp_Follow_Up message corresponding to a 1801 transmitted Pdelay_Req message is not received."; 1802 reference 1803 "IEEE 802.1AS: clause 14.7.8"; 1804 } 1805 leaf statRxSyncReceiptTimeouts { 1806 type yang:counter32; 1807 config false; 1808 description 1809 "A counter that increments every time sync receipt 1810 timeout occurs."; 1811 reference 1812 "IEEE 802.1AS: clause 14.7.9"; 1813 } 1814 leaf statAnnounceReceiptTimeouts { 1815 type yang:counter32; 1816 config false; 1817 description 1818 "A counter that increments every time announce receipt 1819 timeout occurs."; 1820 reference 1821 "IEEE 802.1AS: clause 14.7.10"; 1822 } 1823 leaf statPdelayAllowedLostResponsesExceeded { 1824 type yang:counter32; 1825 config false; 1826 description 1827 "A counter that increments everytime the value of the 1828 variable lostResponses exceeds the value of the 1829 variable allowedLostResponses."; 1830 reference 1831 "IEEE 802.1AS: clause 14.7.11"; 1832 } 1833 leaf statTxSyncCount { 1834 type yang:counter32; 1835 config false; 1836 description 1837 "A counter that increments every time synchronization 1838 information is transmitted."; 1839 reference 1840 "IEEE 802.1AS: clause 14.7.12"; 1841 } 1842 leaf statTxFollowUpCount { 1843 type yang:counter32; 1844 config false; 1845 description 1846 "A counter that increments every time a Follow_Up 1847 message is transmitted."; 1848 reference 1849 "IEEE 802.1AS: clause 14.7.13"; 1850 } 1851 leaf statTxPdelayRequest { 1852 type yang:counter32; 1853 config false; 1854 description 1855 "A counter that increments every time a Pdelay_Req 1856 message is transmitted."; 1857 reference 1858 "IEEE 802.1AS: clause 14.7.14"; 1859 } 1860 leaf statTxPdelayResponse { 1861 type yang:counter32; 1862 config false; 1863 description 1864 "A counter that increments every time a Pdelay_Resp 1865 message is transmitted."; 1866 reference 1867 "IEEE 802.1AS: clause 14.7.15"; 1868 } 1869 leaf statTxPdelayResponseFollowUp { 1870 type yang:counter32; 1871 config false; 1872 description 1873 "A counter that increments every time a 1874 Pdelay_Resp_Follow_Up message is 1875 transmitted."; 1876 reference 1877 "IEEE 802.1AS: clause 14.7.16"; 1878 } 1879 leaf statTxAnnounce { 1880 type yang:counter32; 1881 config false; 1882 description 1883 "A counter that increments every time an 1884 Announce message is transmitted."; 1886 reference 1887 "IEEE 802.1AS: clause 14.7.17"; 1888 } 1889 } 1890 container acceptableMasterTableDataSet { 1891 description 1892 "Acceptable Master Table derived from IEEE 1588-2008. 1893 One Table per time-aware system, and used when any 1894 of the system is of type IEEE 802.3 EPON, 1895 i.e. if any port in a corresponding system has 1896 acceptableMasterTableEnabled set to true. 1897 Not used otherwise (Table exists without an entry)."; 1898 leaf acceptableMasterTableDSMaxTableSize { 1899 type uint16; 1900 config false; 1901 description 1902 "The value is the maximum size of the AcceptableMasterTable."; 1903 reference 1904 "IEEE 802.1AS: clause 14.8.1 and 13.1.3.2"; 1905 } 1906 leaf acceptableMasterTableDSActualTableSize { 1907 type uint16; 1908 description 1909 "The value is the actual size of the AcceptableMasterTable, 1910 i.e., the current number of elements in the acceptable 1911 master array. 1912 The actual table size is less than or equal to the max 1913 table size. 1914 For a time-aware system that contains an ONU attached 1915 to an IEEE 802.3 EPON link, the initialization value is 1. 1916 For a time-aware system that does not contain an ONU 1917 attached to an IEEE 802.3 EPON link, 1918 the initialization value is 0"; 1919 reference 1920 "IEEE 802.1AS: clause 14.8.2 and 13.1.3.2"; 1921 } 1922 list acceptableMasterTableDSacceptableMasterArray { 1923 key "acceptableMasterTableDSMasterId"; 1924 description 1925 "A list of time-aware port related variables in a 1926 time-aware bridge or for a time-aware end station. 1927 A value of 1 is used in 1928 a bridge or an end station that does not have 1929 multiple components."; 1931 leaf acceptableMasterTableDSMasterId { 1932 type uint32; 1933 description 1934 "Acceptable Master row entry index in this 1935 acceptableMasterTabdDSMaster Entry applies. 1936 If the does not contain Media type of EPON, 1937 this variable (index) MUST be equal to 0."; 1938 reference 1939 "IEEE 802.1AS: clause 14.8.3"; 1940 } 1941 container acceptableMasterPortIdentity { 1942 description 1943 "It represents the identity of a port or aggregate port 1944 on a bridge component or end-station."; 1945 uses port-identity-group; 1946 reference 1947 "IEEE 802.1AS: clause 14.8.3"; 1948 } 1949 leaf acceptableMasterAlternatePriority1 { 1950 type uint32; 1951 description 1952 "If the alternatePriority1 member of the AcceptableMaster 1953 array element that corresponds to the sourcePortIdentity 1954 of a received Announce message is greater than 0, the 1955 value of the grandmasterPriority1 field of the Announce 1956 message is replaced by the value of alternatePriority1 1957 of this AcceptableMaster array element for use in the 1958 invocation of BMCA."; 1959 reference 1960 "IEEE 802.1AS: clause 14.8.3"; 1961 } 1962 leaf acceptableMasterRowStatus { 1963 type uint32; 1964 description 1965 "It indicates the status of an entry, and is used to 1966 create/delete entries."; 1967 reference 1968 "IEEE 802.1AS: clause 14.8.3"; 1969 } 1970 } 1971 } 1972 } 1973 1975 6. Security Considerations 1977 TBD. 1979 7. IANA Considerations 1981 IANA? 1983 8. Contributors 1985 if needed. 1987 9. Acknowledgements 1989 10. References 1991 10.1. Normative References 1993 [I-D.ietf-detnet-architecture] 1994 Finn, N., Thubert, P., Varga, B., and J. Farkas, 1995 "Deterministic Networking Architecture", draft-ietf- 1996 detnet-architecture-04 (work in progress), October 2017. 1998 [I-D.ietf-detnet-flow-information-model] 1999 Farkas, J., Varga, B., rodney.cummings@ni.com, r., Jiang, 2000 Y., and Y. Zha, "DetNet Flow Information Model", draft- 2001 ietf-detnet-flow-information-model-01 (work in progress), 2002 March 2018. 2004 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2005 Requirement Levels", BCP 14, RFC 2119, 2006 DOI 10.17487/RFC2119, March 1997, 2007 . 2009 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 2010 the Network Configuration Protocol (NETCONF)", RFC 6020, 2011 DOI 10.17487/RFC6020, October 2010, 2012 . 2014 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 2015 and A. Bierman, Ed., "Network Configuration Protocol 2016 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 2017 . 2019 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 2020 RFC 7950, DOI 10.17487/RFC7950, August 2016, 2021 . 2023 10.2. Informative References 2025 [I-D.draft-ietf-netconf-restconf] 2026 Bierman, L., Bjorklund, M., and K. Watsen, "RESTCONF 2027 Protocol", I-D draft-ietf-netconf-restconf-13, April 2016. 2029 [I-D.ietf-detnet-use-cases] 2030 Grossman, E., "Deterministic Networking Use Cases", draft- 2031 ietf-detnet-use-cases-14 (work in progress), February 2032 2018. 2034 [IEEE8021AS] 2035 "IEEE 802.1, "IEEE 802.1AS-2011: IEEE Standard for Local 2036 and metropolitan area networks - Timing and 2037 Synchronization for Time-Sensitive Applications in Bridged 2038 Local Area Networks", 2011, 2039 .", 2011. 2041 [IEEE8021Qcc] 2042 "IEEE, "Stream Reservation Protocol (SRP) Enhancements and 2043 Performance Improvements (IEEE Draft P802.1Qcc)", 2017, 2044 .". 2046 [IEEE8021TSN] 2047 IEEE 802.1, "IEEE 802.1 Time-Sensitive Networking (TSN) 2048 Task Group", . 2050 Authors' Addresses 2052 Siwar Ben Hadj Said 2053 CEA, LIST 2054 CEA Saclay 2055 Gif-sur-Yvette , Ile-de-France 91190 2056 France 2058 Phone: +33169082939 2059 Email: Siwar.BenHadjSaid@cea.fr 2061 Michael Boc 2062 CEA, LIST 2063 CEA Saclay 2064 Gif-sur-Yvette , Ile-de-France 91190 2065 France 2067 Phone: +33169089223 2068 Email: Michael.Boc@cea.fr