|
From: <wow...@us...> - 2015-11-20 00:21:36
|
Revision: 603
http://sourceforge.net/p/ptpd/code/603
Author: wowczarek
Date: 2015-11-20 00:21:33 +0000 (Fri, 20 Nov 2015)
Log Message:
-----------
- management message handlers moved to management.c
- added support for configurable disabled state
[ todo: init network on disabled start]
- minor refactoring and typo fixes
- user-configurable clock user description
- correct profile ID reported based on configuration
- simplified enum option mapping in configuration
- added buffer guard function when unpacking
management TLVs to prevent from malformed
messages causing issues
- management TLVs no longer unpacked for GET
type requests - not needed
- support for nested / multiple embedded management
TLVs in a single message
- ptpd now responds to NULL management messages,
this is needed because some management
tools require this to detect live nodes
- SET management messages now apply configuration
properly via dictionary
- fixed multiple issues remaining after removing
config parse macros
- reworked config apply / reload code for more
clarity
- updated PTP SNMP MIB
- added counter table imlpementation for SNMP,
with writable counter clear hanfles
- added most code required for implementing
SNMP traps defined in the MIB
- added snmptpq, a simple but useful SNMP poller
script
Modified Paths:
--------------
trunk/ChangeLog
trunk/TODO
trunk/doc/PTPBASE-MIB.txt
trunk/src/arith.c
trunk/src/bmc.c
trunk/src/constants.h
trunk/src/datatypes.h
trunk/src/dep/configdefaults.c
trunk/src/dep/constants_dep.h
trunk/src/dep/daemonconfig.c
trunk/src/dep/daemonconfig.h
trunk/src/dep/iniparser/dictionary.c
trunk/src/dep/msg.c
trunk/src/dep/ptpd_dep.h
trunk/src/dep/servo.c
trunk/src/dep/snmp.c
trunk/src/dep/startup.c
trunk/src/dep/sys.c
trunk/src/display.c
trunk/src/management.c
trunk/src/protocol.c
trunk/src/ptpd.h
trunk/src/ptpd2.conf.5.in
trunk/src/ptpd2.conf.default-full
trunk/src/signaling.c
trunk/src/templates.conf
trunk/src/timingdomain.c
Added Paths:
-----------
trunk/src/def/managementTLV/unicastNegotiationEnable.def
trunk/tools/snmptpq
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2015-11-15 04:26:52 UTC (rev 602)
+++ trunk/ChangeLog 2015-11-20 00:21:33 UTC (rev 603)
@@ -55,10 +55,16 @@
significantly reduced memory footprint
- added dummy Makefile to src/dep to allow make commands
from that directory
+ - added buffer overflow protection for management
+ TLVs: protects against read past message length,
+ and against read past buffer space
* New features since 2.3.1:
- - support for user variables in configuration
+ - support for user variables in configuration:
+ - variables specified variables:name=val, and
+ used as @name@
+ - built-in variables: @pid@, @hostname@
- support for configuration templates:
- built-in
- template files
@@ -84,6 +90,14 @@
- fixed preserving incorrect master address when
best master lowers priority (GM change as a result
of announce from current master, not foreign)
+ - PTP MIB enhanced with string values, counter support,
+ clearing counters and more, added some missing items
+ from previously supported items
+ - SNMP trap support for common alarm conditions
+ - enhanced management message support: enable/disable port,
+ some missing values, PTPd now properly applies
+ configuration when receiving SET messages
+ - added simple SNMP poller script: snmptpq
2013-06-10 Wojciech Owczarek <woj...@ow...>
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2015-11-15 04:26:52 UTC (rev 602)
+++ trunk/TODO 2015-11-20 00:21:33 UTC (rev 603)
@@ -13,10 +13,17 @@
- rework config option parsing x
- rework parseConfig to support an opcode, get rid of remaining macros x
- rework trigger and dependency macros: 2nd pass?
-- SET messages to refresh the config properly
+- SET messages to refresh the config properly x/-
- NVRAM write?
- pointer to best master x
- disqualification flag x
- remove masteraddr in favour of bestMaster->sourceAddr x
- use split token loop
- use pointer to best master x
+- management TLV buffer guard and don't unpack GET x
+- SNMP - implement statistics tables
+- SNMP - implement remaining traps
+- add alarm events -> trigger SNMP traps
+- add offset alarm threshold to config
+- remaining management message SET handling
+- clean up object order in the MIB
Modified: trunk/doc/PTPBASE-MIB.txt
===================================================================
--- trunk/doc/PTPBASE-MIB.txt 2015-11-15 04:26:52 UTC (rev 602)
+++ trunk/doc/PTPBASE-MIB.txt 2015-11-20 00:21:33 UTC (rev 603)
@@ -1,2928 +1,5741 @@
PTPBASE-MIB DEFINITIONS ::= BEGIN
IMPORTS
- MODULE-IDENTITY,
- OBJECT-TYPE,
- Integer32,
- Gauge32,
- Unsigned32,
- Counter32,
- Counter64,
- enterprises
- FROM SNMPv2-SMI
- OBJECT-GROUP,
- MODULE-COMPLIANCE
- FROM SNMPv2-CONF
- TEXTUAL-CONVENTION,
- TruthValue,
- DisplayString
- FROM SNMPv2-TC
- InterfaceIndexOrZero
- FROM IF-MIB
- InetAddressType,
- InetAddress
- FROM INET-ADDRESS-MIB;
+ enterprises,
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ NOTIFICATION-TYPE,
+ Counter32,
+ Counter64,
+ Gauge32,
+ Integer32,
+ Unsigned32
+ FROM SNMPv2-SMI
+ TruthValue,
+ DisplayString,
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ InterfaceIndexOrZero
+ FROM IF-MIB
+ InetAddress,
+ InetAddressType
+ FROM INET-ADDRESS-MIB
+ OBJECT-GROUP,
+ NOTIFICATION-GROUP,
+ MODULE-COMPLIANCE
+ FROM SNMPv2-CONF;
-
ptpbaseMIB MODULE-IDENTITY
- LAST-UPDATED "201201230000Z"
- ORGANIZATION "TICTOC Working Group"
- CONTACT-INFO
- "WG Email: ti...@ie...
+ LAST-UPDATED "201510272300Z" -- Oct 27, 2015 11:00:00 PM
+ ORGANIZATION "TICTOC Working Group, PTPd project"
+ CONTACT-INFO
+ "WG Email: ti...@ie...
- Vinay Shankarkumar
- Cisco Systems,
- Email: vi...@ci...
+ Vinay Shankarkumar
+ Cisco Systems,
+ Email: vi...@ci...
- Laurent Montini,
- Cisco Systems,
- Email: lmo...@ci...
+ Laurent Montini,
+ Cisco Systems,
+ Email: lmo...@ci...
- Tim Frost,
- Symmetricom Inc.,
- Email: tf...@sy...
+ Tim Frost,
+ Symmetricom Inc.,
+ Email: tf...@sy...
- Greg Dowd,
- Symmetricom Inc.,
- Email: gd...@sy..."
+ Greg Dowd,
+ Symmetricom Inc.,
+ Email: gd...@sy...
+ Wojciech Owczarek
+ PTPd project,
+ Email: woj...@ow..."
+ DESCRIPTION
+ "The MIB module for PTP version 2 (IEEE Std. 1588(TM)-2008)
- DESCRIPTION
- "The MIB module for PTP version 2 (IEEE Std. 1588(TM)-2008)
+ Overview of PTP version 2 (IEEE Std. 1588(TM)-2008)
- Overview of PTP version 2 (IEEE Std. 1588(TM)-2008)
+ [IEEE 1588-2008] defines a protocol enabling precise
+ synchronization of clocks in measurement and control systems
+ implemented with packet-based networks, the Precision Time
+ Protocol Version 2 (PTPv2). This MIB does not address the
+ earlier version IEEE Std. 1588(TM)-2002 (PTPv1). The protocol
+ is applicable to network elements communicating using IP. The
+ protocol enables heterogeneous systems that include clocks of
+ various inherent precision, resolution, and stability to
+ synchronize to a grandmaster clock.
- [IEEE 1588-2008] defines a protocol enabling precise
- synchronization of clocks in measurement and control systems
- implemented with packet-based networks, the Precision Time
- Protocol Version 2 (PTPv2). This MIB does not address the
- earlier version IEEE Std. 1588(TM)-2002 (PTPv1). The protocol
- is applicable to network elements communicating using IP. The
- protocol enables heterogeneous systems that include clocks of
- various inherent precision, resolution, and stability to
- synchronize to a grandmaster clock.
+ The protocol supports system-wide synchronization accuracy in
+ the sub-microsecond range with minimal network and local clock
+ computing resources. [IEEE 1588-2008] uses UDP/IP or
+ Ethernet and can be adapted to other mappings. It includes
+ formal mechanisms for message extensions, higher sampling rates,
+ correction for asymmetry, a clock type to reduce error
+ accumulation in large topologies, and specifications on how to
+ incorporate the resulting additional data into the
+ synchronization protocol. The [IEEE 1588-2008] defines
+ conformance and management capability also.
- The protocol supports system-wide synchronization accuracy in
- the sub-microsecond range with minimal network and local clock
- computing resources. [IEEE 1588-2008] uses UDP/IP or
- Ethernet and can be adapted to other mappings. It includes
- formal mechanisms for message extensions, higher sampling rates,
- correction for asymmetry, a clock type to reduce error
- accumulation in large topologies, and specifications on how to
- incorporate the resulting additional data into the
- synchronization protocol. The [IEEE 1588-2008] defines
- conformance and management capability also.
+ MIB description
- MIB description
+ This MIB is to support the Precision Time Protocol version 2
+ (PTPv2, hereafter designated as PTP) features of network element
+ system devices, when using the default PTP profile described in
+ [IEEE 1588-2008], or the Telecom Profile described in
+ [G.8265.1], when running over the IP network layer.
- This MIB is to support the Precision Time Protocol version 2
- (PTPv2, hereafter designated as PTP) features of network element
- system devices, when using the default PTP profile described in
- [IEEE 1588-2008], or the Telecom Profile described in
- [G.8265.1], when running over the IP network layer.
+ This MIB is based on the TICTOC-PTPBASE-MIB from 2012, with
+ added enhancements such as GM address, Offset from Master as
+ string, Mean Path Delay as string, parent IP address, and a set
+ of PTP traps.
- It is envisioned this MIB will complement other managed objects
- to be defined to monitor, measure the performance of the PTP
- devices and telecom clocks.
+ It is envisioned this MIB will complement other managed objects
+ to be defined to monitor, measure the performance of the PTP
+ devices and telecom clocks.
- Some other PTP profiles have their own MIBs defined as part of
- the profile, and this MIB is not intended to replace those MIBs.
+ Some other PTP profiles have their own MIBs defined as part of
+ the profile, and this MIB is not intended to replace those MIBs.
- Acronyms:
- ARB Arbitrary Timescale
- E2E End-to-End
- EUI Extended Unique Identifier.
- GPS Global Positioning System
- IANA Internet Assigned Numbers Authority
- IP Internet Protocol
+ Acronyms:
+ ARB Arbitrary Timescale
+ E2E End-to-End
+ EUI Extended Unique Identifier.
+ GPS Global Positioning System
+ IANA Internet Assigned Numbers Authority
+ IP Internet Protocol
- MAC Media Access Control
- according to [IEEE 802.3-2008]
- NIST National Institute of Standards and Technology
- NTP Network Time Protocol (see IETF [RFC 5905])
- OUI Organizational Unique Identifier
- (allocated by the IEEE)
- P2P Peer-to-Peer
- PTP Precision Time Protocol
- TAI International Atomic Time
- TC Transparent Clock
- UDP User Datagram Protocol
- UTC Coordinated Universal Time
+ MAC Media Access Control
+ according to [IEEE 802.3-2008]
+ NIST National Institute of Standards and Technology
+ NTP Network Time Protocol (see IETF [RFC 5905])
+ OUI Organizational Unique Identifier
+ (allocated by the IEEE)
+ P2P Peer-to-Peer
+ PTP Precision Time Protocol
+ TAI International Atomic Time
+ TC Transparent Clock
+ UDP User Datagram Protocol
+ UTC Coordinated Universal Time
- References:
- [IEEE 1588-2008] IEEE Standard for A Precision Clock
- Synchronization Protocol for Networked Measurement and
- Control Systems, IEEE Std. 1588(TM)-2008, 24 July 2008.
+ References:
+ [IEEE 1588-2008] IEEE Standard for A Precision Clock
+ Synchronization Protocol for Networked Measurement and
+ Control Systems, IEEE Std. 1588(TM)-2008, 24 July 2008.
- [G.8265.1] Precision Time Protocol Telecom Profile for
- Frequency Synchronization, ITU-T Recommendation G.8265.1,
- October 2010.
+ [G.8265.1] Precision Time Protocol Telecom Profile for
+ Frequency Synchronization, ITU-T Recommendation G.8265.1,
+ October 2010.
- As defined in [IEEE 1588-2008]:
+ As defined in [IEEE 1588-2008]:
- Accuracy:
- The mean of the time or frequency error between the clock under
- test and a perfect reference clock, over an ensemble of
- measurements. Stability is a measure of how the mean varies
- with respect to variables such as time, temperature, and so on,
- while the precision is a measure of the deviation of the error
- from the mean.
+ Accuracy:
+ The mean of the time or frequency error between the clock under
+ test and a perfect reference clock, over an ensemble of
+ measurements. Stability is a measure of how the mean varies
+ with respect to variables such as time, temperature, and so on,
+ while the precision is a measure of the deviation of the error
+ from the mean.
- Atomic process:
- A process is atomic if the values of all inputs to the process
- are not permitted to change until all of the results of the
- process are instantiated, and the outputs of the process are
- not visible to other processes until the processing of each
- output is complete.
+ Atomic process:
+ A process is atomic if the values of all inputs to the process
+ are not permitted to change until all of the results of the
+ process are instantiated, and the outputs of the process are
+ not visible to other processes until the processing of each
+ output is complete.
- Boundary clock:
- A clock that has multiple Precision Time Protocol (PTP) ports in
- a domain and maintains the timescale used in the domain. It
- may serve as the source of time, i.e., be a master clock, and
- may synchronize to another clock, i.e., be a slave clock.
+ Boundary clock:
+ A clock that has multiple Precision Time Protocol (PTP) ports in
+ a domain and maintains the timescale used in the domain. It
+ may serve as the source of time, i.e., be a master clock, and
+ may synchronize to another clock, i.e., be a slave clock.
- Boundary node clock:
- A clock that has multiple Precision Time Protocol(PTP) ports in
- a domain and maintains the timescale used in the domain. It
+ Boundary node clock:
+ A clock that has multiple Precision Time Protocol(PTP) ports in
+ a domain and maintains the timescale used in the domain. It
- differs from a boundary clock in that the clock roles can
- change.
+ differs from a boundary clock in that the clock roles can
+ change.
- Clock:
- A node participating in the Precision Time Protocol (PTP) that
- is capable of providing a measurement of the passage of time
- since a defined epoch.
+ Clock:
+ A node participating in the Precision Time Protocol (PTP) that
+ is capable of providing a measurement of the passage of time
+ since a defined epoch.
- Domain:
- A logical grouping of clocks that synchronize to each other
- using the protocol, but that are not necessarily synchronized
- to clocks in another domain.
+ Domain:
+ A logical grouping of clocks that synchronize to each other
+ using the protocol, but that are not necessarily synchronized
+ to clocks in another domain.
- End-to-end transparent clock:
- A transparent clock that supports the use of the end-to-end
- delay measurement mechanism between slave clocks and the master
- clock. Each node must measure the residence time of PTP event
- messages and accumulate it in Correction Field.
+ End-to-end transparent clock:
+ A transparent clock that supports the use of the end-to-end
+ delay measurement mechanism between slave clocks and the master
+ clock. Each node must measure the residence time of PTP event
+ messages and accumulate it in Correction Field.
- Epoch:
- The origin of a timescale.
+ Epoch:
+ The origin of a timescale.
- Event:
- An abstraction of the mechanism by which signals or conditions
- are generated and represented.
+ Event:
+ An abstraction of the mechanism by which signals or conditions
+ are generated and represented.
- Foreign master:
- An ordinary or boundary clock sending Announce messages to
- another clock that is not the current master recognized by the
- other clock.
+ Foreign master:
+ An ordinary or boundary clock sending Announce messages to
+ another clock that is not the current master recognized by the
+ other clock.
- Grandmaster clock:
- Within a domain, a clock that is the ultimate source of time
- for clock synchronization using the protocol.
+ Grandmaster clock:
+ Within a domain, a clock that is the ultimate source of time
+ for clock synchronization using the protocol.
- Holdover:
- A clock previously synchronized/syntonized to another clock
- (normally a primary reference or a master clock) but now
- free-running based on its own internal oscillator, whose
- frequency is being adjusted using data acquired while it had
- been synchronized/syntonized to the other clock. It is said to
- be in holdover or in the holdover mode, as long as it is within
- its accuracy requirements.
+ Holdover:
+ A clock previously synchronized/syntonized to another clock
+ (normally a primary reference or a master clock) but now
+ free-running based on its own internal oscillator, whose
+ frequency is being adjusted using data acquired while it had
+ been synchronized/syntonized to the other clock. It is said to
+ be in holdover or in the holdover mode, as long as it is within
+ its accuracy requirements.
- Link:
- A network segment between two Precision Time Protocol ports
- supporting the peer delay mechanism of this standard. The peer
- delay mechanism is designed to measure the propagation time
- over such a link.
+ Link:
+ A network segment between two Precision Time Protocol ports
+ supporting the peer delay mechanism of this standard. The peer
+ delay mechanism is designed to measure the propagation time
+ over such a link.
- Management node:
- A device that configures and monitors clocks.
+ Management node:
+ A device that configures and monitors clocks.
- Master clock:
- In the context of a single Precision Time Protocol
- communication path, a clock that is the source of time to which
- all other clocks on that path synchronize.
+ Master clock:
+ In the context of a single Precision Time Protocol
+ communication path, a clock that is the source of time to which
+ all other clocks on that path synchronize.
- Message timestamp point:
- A point within a Precision Time Protocol event message serving
- as a reference point in the message. A timestamp is defined by
- the instant a message timestamp point passes the reference
- plane of a clock.
+ Message timestamp point:
+ A point within a Precision Time Protocol event message serving
+ as a reference point in the message. A timestamp is defined by
+ the instant a message timestamp point passes the reference
+ plane of a clock.
- Multicast communication:
- A communication model in which each Precision Time Protocol
- message sent from any PTP port is capable of being received and
- processed by all PTP ports on the same PTP communication path.
+ Multicast communication:
+ A communication model in which each Precision Time Protocol
+ message sent from any PTP port is capable of being received and
+ processed by all PTP ports on the same PTP communication path.
- Node:
- A device that can issue or receive Precision Time Protocol
- communications on a network.
+ Node:
+ A device that can issue or receive Precision Time Protocol
+ communications on a network.
- One-step clock:
- A clock that provides time information using a single event
- message.
+ One-step clock:
+ A clock that provides time information using a single event
+ message.
- On-pass support:
- Indicates that each node in the synchronization chain from
- master to slave can support IEEE-1588.
+ On-pass support:
+ Indicates that each node in the synchronization chain from
+ master to slave can support IEEE-1588.
- Ordinary clock:
- A clock that has a single Precision Time Protocol port in a
- domain and maintains the timescale used in the domain. It may
- serve as a source of time, i.e., be a master clock, or may
- synchronize to another clock, i.e., be a slave clock.
+ Ordinary clock:
+ A clock that has a single Precision Time Protocol port in a
+ domain and maintains the timescale used in the domain. It may
+ serve as a source of time, i.e., be a master clock, or may
+ synchronize to another clock, i.e., be a slave clock.
- Parent clock:
- The master clock to which a clock is synchronized.
+ Parent clock:
+ The master clock to which a clock is synchronized.
- Peer-to-peer transparent clock:
- A transparent clock that, in addition to providing Precision
- Time Protocol event transit time information, also provides
- corrections for the propagation delay of the link connected to
- the port receiving the PTP event message. In the presence of
- peer-to-peer transparent clocks, delay measurements between
- slave clocks and the master clock are performed using the
- peer-to-peer delay measurement mechanism.
+ Peer-to-peer transparent clock:
+ A transparent clock that, in addition to providing Precision
+ Time Protocol event transit time information, also provides
+ corrections for the propagation delay of the link connected to
+ the port receiving the PTP event message. In the presence of
+ peer-to-peer transparent clocks, delay measurements between
+ slave clocks and the master clock are performed using the
+ peer-to-peer delay measurement mechanism.
- Phase change rate:
- The observed rate of change in the measured time with respect
- to the reference time. The phase change rate is equal to the
- fractional frequency offset between the measured frequency and
- the reference frequency.
+ Phase change rate:
+ The observed rate of change in the measured time with respect
+ to the reference time. The phase change rate is equal to the
+ fractional frequency offset between the measured frequency and
+ the reference frequency.
- PortNumber:
- An index identifying a specific Precision Time Protocol port on
- a PTP node.
+ PortNumber:
+ An index identifying a specific Precision Time Protocol port on
+ a PTP node.
- Primary reference:
- A source of time and or frequency that is traceable to
- international standards.
+ Primary reference:
+ A source of time and or frequency that is traceable to
+ international standards.
- Profile:
- The set of allowed Precision Time Protocol features applicable
- to a device.
+ Profile:
+ The set of allowed Precision Time Protocol features applicable
+ to a device.
- Precision Time Protocol communication:
- Information used in the operation of the protocol, transmitted
- in a PTP message over a PTP communication path.
+ Precision Time Protocol communication:
+ Information used in the operation of the protocol, transmitted
+ in a PTP message over a PTP communication path.
- Precision Time Protocol communication path:
- The signaling path portion of a particular network enabling
- direct communication among ordinary and boundary clocks.
+ Precision Time Protocol communication path:
+ The signaling path portion of a particular network enabling
+ direct communication among ordinary and boundary clocks.
- Precision Time Protocol node:
- PTP ordinary, boundary, or transparent clock or a device that
- generates or parses PTP messages.
+ Precision Time Protocol node:
+ PTP ordinary, boundary, or transparent clock or a device that
+ generates or parses PTP messages.
- Precision Time Protocol port:
- A logical access point of a clock for PTP communications to the
- communications network.
+ Precision Time Protocol port:
+ A logical access point of a clock for PTP communications to the
+ communications network.
- Recognized standard time source:
- A recognized standard time source is a source external to
- Precision Time Protocol that provides time and/or frequency as
- appropriate that is traceable to the international standards
- laboratories maintaining clocks that form the basis for the
- International Atomic Time and Universal Coordinated Time
- timescales. Examples of these are GPS, NTP, and NIST
- timeservers.
+ Recognized standard time source:
+ A recognized standard time source is a source external to
+ Precision Time Protocol that provides time and/or frequency as
+ appropriate that is traceable to the international standards
+ laboratories maintaining clocks that form the basis for the
+ International Atomic Time and Universal Coordinated Time
+ timescales. Examples of these are GPS, NTP, and NIST
+ timeservers.
- Requestor:
- The port implementing the peer-to-peer delay mechanism that
- initiates the mechanism by sending a Pdelay_Req message.
+ Requestor:
+ The port implementing the peer-to-peer delay mechanism that
+ initiates the mechanism by sending a Pdelay_Req message.
- Responder:
+ Responder:
- The port responding to the receipt of a Pdelay_Req message as
- part of the operation of the peer-to-peer delay mechanism.
+ The port responding to the receipt of a Pdelay_Req message as
+ part of the operation of the peer-to-peer delay mechanism.
- Synchronized clocks:
- Two clocks are synchronized to a specified uncertainty if they
- have the same epoch and their measurements of the time of a
- single event at an arbitrary time differ by no more than that
- uncertainty.
+ Synchronized clocks:
+ Two clocks are synchronized to a specified uncertainty if they
+ have the same epoch and their measurements of the time of a
+ single event at an arbitrary time differ by no more than that
+ uncertainty.
- Syntonized clocks:
- Two clocks are syntonized if the duration of the second is the
- same on both, which means the time as measured by each advances
- at the same rate. They may or may not share the same epoch.
+ Syntonized clocks:
+ Two clocks are syntonized if the duration of the second is the
+ same on both, which means the time as measured by each advances
+ at the same rate. They may or may not share the same epoch.
- Timeout:
- A mechanism for terminating requested activity that, at least
- from the requester's perspective, does not complete within the
- specified time.
+ Timeout:
+ A mechanism for terminating requested activity that, at least
+ from the requester's perspective, does not complete within the
+ specified time.
- Timescale:
- A linear measure of time from an epoch.
+ Timescale:
+ A linear measure of time from an epoch.
- Traceability:
- A property of the result of a measurement or the value of a
- standard whereby it can be related to stated references,
- usually national or international standards, through an
- unbroken chain of comparisons all having stated uncertainties.
+ Traceability:
+ A property of the result of a measurement or the value of a
+ standard whereby it can be related to stated references,
+ usually national or international standards, through an
+ unbroken chain of comparisons all having stated uncertainties.
- Translation device:
- A boundary clock or, in some cases, a transparent clock that
- translates the protocol messages between regions implementing
- different transport and messaging protocols, between different
- versions of [IEEE 1588-2008], or different PTP profiles.
+ Translation device:
+ A boundary clock or, in some cases, a transparent clock that
+ translates the protocol messages between regions implementing
+ different transport and messaging protocols, between different
+ versions of [IEEE 1588-2008], or different PTP profiles.
- Transparent clock:
- A device that measures the time taken for a Precision Time
- Protocol event message to transit the device and provides this
- information to clocks receiving this PTP event message.
+ Transparent clock:
+ A device that measures the time taken for a Precision Time
+ Protocol event message to transit the device and provides this
+ information to clocks receiving this PTP event message.
- Two-step clock:
- A clock that provides time information using the combination of
- an event message and a subsequent general message.
+ Two-step clock:
+ A clock that provides time information using the combination of
+ an event message and a subsequent general message.
- The below table specifies the object formats of the various
- textual conventions used.
+ The below table specifies the object formats of the various
+ textual conventions used.
- Data type mapping Textual Convention SYNTAX
- ------------------- ------------------ ---------------------
- 5.3.2 TimeInterval ClockTimeInterval OCTET STRING(SIZE(1..255))
+ Data type mapping Textual Convention SYNTAX
+ ------------------- ------------------ ---------------------
+ 5.3.2 TimeInterval ClockTimeInterval OCTET STRING(SIZE(1..255))
- 5.3.3 Timestamp ClockTimestamp OCTET STRING(SIZE(6))
- 5.3.4 ClockIdentity ClockIdentity OCTET STRING(SIZE(1..255))
- 5.3.5 PortIdentity ClockPortNumber INTEGER(1..65535)
- 5.3.7 ClockQuality ClockQualityClassType
+ 5.3.3 Timestamp ClockTimestamp OCTET STRING(SIZE(6))
+ 5.3.4 ClockIdentity ClockIdentity OCTET STRING(SIZE(1..255))
+ 5.3.5 PortIdentity ClockPortNumber INTEGER(1..65535)
+ 5.3.7 ClockQuality ClockQualityClassType
- Simple master-slave hierarchy, section 6.6.2.4 [IEEE 1588-2008]:
+ Simple master-slave hierarchy, section 6.6.2.4 [IEEE 1588-2008]:
- +---------------+
- | Ordinary |
- | Clock -1 |
- | (GrandMaster) |
- +-------M-------+
- |
- 1
- |
- +---------------S-----------------+
- | Boundary |
- | Clock -1 |
- +-----M---------------------M-----+
- | |
- 2 3
- | |
- +-----S-----+ +------------S-------------+
- | Ordinary | | Boundary |
- | Clock -2 | | Clock -2 |
- +-----------+ +-----M--------------M-----+
- | |
- 4 5
- | |
- +-----S-----+ +-----S-----+
- | Ordinary | | Ordinary |
- | Clock -3 | | Clock -4 |
- +-----------+ +-----------+
+ +---------------+
+ | Ordinary |
+ | Clock -1 |
+ | (GrandMaster) |
+ +-------M-------+
+ |
+ 1
+ |
+ +---------------S-----------------+
+ | Boundary |
+ | Clock -1 |
+ +-----M---------------------M-----+
+ | |
+ 2 3
+ | |
+ +-----S-----+ +------------S-------------+
+ | Ordinary | | Boundary |
+ | Clock -2 | | Clock -2 |
+ +-----------+ +-----M--------------M-----+
+ | |
+ 4 5
+ | |
+ +-----S-----+ +-----S-----+
+ | Ordinary | | Ordinary |
+ | Clock -3 | | Clock -4 |
+ +-----------+ +-----------+
- Grandmaster
+ Grandmaster
- Boundary Clock(0-N) Ordinary Clocks(0-N)
- Ordinary Clocks(0-N)
+ Boundary Clock(0-N) Ordinary Clocks(0-N)
+ Ordinary Clocks(0-N)
- Relationship cardinality:
- PTP system 1 : N PTP Clocks
- PTP Clock 1 : 1 Domain
- PTP Clock 1 : N PTP Ports
- PTP Ports N : M Physical Ports (interface in IF-MIB)
+ Relationship cardinality:
+ PTP system 1 : N PTP Clocks
+ PTP Clock 1 : 1 Domain
+ PTP Clock 1 : N PTP Ports
+ PTP Ports N : M Physical Ports (interface in IF-MIB)
- Transparent clock diagram, section 6.7.1.3 of [IEEE 1588-2008]:
+ Transparent clock diagram, section 6.7.1.3 of [IEEE 1588-2008]:
- +-----------------------------+
- | Boundary clock - 1 |
- +-----------------------------+
- | |
- | |
- +-- A --+ B
- | |
- +----------------------+ |
- | Ordinary clock | |
- +----------------------+ |
- +----------------------+
- +----------------------+ | End-to-end |
- | Ordinary clock 1-1 |----------| transparent clock- |
- +----------------------+ | 1 - 1 |
- +----------------------+
- |
- C
- |
- +----------------------+
- +----------------------+ | End-to-end |
- | Ordinary clock 1-2 |----------| transparent clock- |
- +----------------------+ | 1 - 2 |
- +----------------------+
+ +-----------------------------+
+ | Boundary clock - 1 |
+ +-----------------------------+
+ | |
+ | |
+ +-- A --+ B
+ | |
+ +----------------------+ |
+ | Ordinary clock | |
+ +----------------------+ |
+ +----------------------+
+ +----------------------+ | End-to-end |
+ | Ordinary clock 1-1 |----------| transparent clock- |
+ +----------------------+ | 1 - 1 |
+ +----------------------+
+ |
+ C
+ |
+ +----------------------+
+ +----------------------+ | End-to-end |
+ | Ordinary clock 1-2 |----------| transparent clock- |
+ +----------------------+ | 1 - 2 |
+ +----------------------+
- The MIB refers to the sections of [IEEE 1588-2008]."
+ The MIB refers to the sections of [IEEE 1588-2008]."
+ -- revision log
+ -- ::= { mib-2 XXX }
+ -- 1.3.6.1.4.1.46649.1.1
+::= { enterprises 46649 1 1 }
- -- revision log
- -- ::= { mib-2 XXX }
- ::= { enterprises 39178 100 2 } -- Temporary assignment under IMSCO OID
+-- PTPd Private Enterprise Number (PEN)
-
-
ClockDomainType ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "The Domain is identified by an integer, the domainNumber, in
- the range of 0 to 255. An integer value that is used to assign
- each PTP device to a particular domain. The following values
- define the valid domains.
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The Domain is identified by an integer, the domainNumber, in
+ the range of 0 to 255. An integer value that is used to assign
+ each PTP device to a particular domain. The following values
+ define the valid domains.
- Value Definition
- --------- -------------------
- 0 Default domain
- 1 Alternate domain 1
- 2 Alternate domain 2
- 3 Alternate domain 3
- 4 - 127 User-defined domains
+ Value Definition
+ --------- -------------------
+ 0 Default domain
+ 1 Alternate domain 1
+ 2 Alternate domain 2
+ 3 Alternate domain 3
+ 4 - 127 User-defined domains
- 128 - 255 Reserved"
+ 128 - 255 Reserved"
+ REFERENCE
+ "Section 7.1 Domains, Table 2 of [IEEE 1588-2008]"
+ SYNTAX Unsigned32 (0..255)
- REFERENCE "Section 7.1 Domains, Table 2 of [IEEE 1588-2008]"
- SYNTAX Unsigned32 (0..255)
ClockIdentity ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The clock Identity is an 8-octet array and will be presented in
- the form of a character array. The value of the
- ClockIdentity should be taken from the IEEE EUI-64 individual
- assigned numbers as indicated in Section 7.5.2.2.2 of
- [IEEE 1588-2008]. The EUI-64 address is divided into the
- following fields:
+ STATUS current
+ DESCRIPTION
+ "The clock Identity is an 8-octet array and will be presented in
+ the form of a character array. The value of the
+ ClockIdentity should be taken from the IEEE EUI-64 individual
+ assigned numbers as indicated in Section 7.5.2.2.2 of
+ [IEEE 1588-2008]. The EUI-64 address is divided into the
+ following fields:
- OUI bytes (0-2)
- Extension identifier bytes (3-7)
+ OUI bytes (0-2)
+ Extension identifier bytes (3-7)
- The clock identifier can be constructed from existing EUI-48
- assignments and here is an abbreviated example extracted from
- section 7.5.2.2.2 [IEEE 1588-2008].
+ The clock identifier can be constructed from existing EUI-48
+ assignments and here is an abbreviated example extracted from
+ section 7.5.2.2.2 [IEEE 1588-2008].
- Company EUI-48 = 0xACDE4823456716
- EUI-64 = ACDE48FFFE23456716
+ Company EUI-48 = 0xACDE4823456716
+ EUI-64 = ACDE48FFFE23456716
- It is important to note the IEEE Registration Authority has
- deprecated the use of MAC-48 in any new design."
+ It is important to note the IEEE Registration Authority has
+ deprecated the use of MAC-48 in any new design."
+ REFERENCE
+ "Section 7.5.2.2.1 of [IEEE 1588-2008]"
+ SYNTAX OCTET STRING (SIZE (1..255))
- REFERENCE "Section 7.5.2.2.1 of [IEEE 1588-2008]"
- SYNTAX OCTET STRING (SIZE (1..255))
ClockIntervalBase2 ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "The interval included in message types Announce, Sync,
- Delay_Req, and Pdelay_Req as indicated in section 7.7.2.1 of
- [IEEE 1588-2008].
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The interval included in message types Announce, Sync,
+ Delay_Req, and Pdelay_Req as indicated in section 7.7.2.1 of
+ [IEEE 1588-2008].
- The mean time interval between successive messages shall be
- represented as the logarithm to the base 2 of this time
- interval measured in seconds on the local clock of the device
- sending the message. The values of these logarithmic attributes
- shall be selected from integers in the range -128 to 127 subject
- to further limits established in an applicable PTP profile."
+ The mean time interval between successive messages shall be
+ represented as the logarithm to the base 2 of this time
+ interval measured in seconds on the local clock of the device
+ sending the message. The values of these logarithmic attributes
+ shall be selected from integers in the range -128 to 127 subject
+ to further limits established in an applicable PTP profile."
+ REFERENCE
+ "Section 7.7.2.1 General interval specification of
+ [IEEE 1588-2008]"
+ SYNTAX Integer32 (-128..127)
- REFERENCE "Section 7.7.2.1 General interval specification of
- [IEEE 1588-2008]"
- SYNTAX Integer32 (-128..127)
-
ClockMechanismType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The clock type based on whether End to End or peer to peer
- mechanisms are used. The mechanism used to calculate the Mean
- Path Delay as indicated in Table 9 of [IEEE 1588-2008].
+ STATUS current
+ DESCRIPTION
+ "The clock type based on whether End to End or peer to peer
+ mechanisms are used. The mechanism used to calculate the Mean
+ Path Delay as indicated in Table 9 of [IEEE 1588-2008].
- Delay mechanism Value(hex) Specification
- --------------- ---------- -------------
- E2E 01 The port is configured to use the
- delay request-response mechanism.
- P2P 02 The port is configured to use the
- peer delay mechanism.
- DISABLED FE The port does not implement the
- delay mechanism."
+ Delay mechanism Value(hex) Specification
+ --------------- ---------- -------------
+ E2E 01 The port is configured to use the
+ delay request-response mechanism.
+ P2P 02 The port is configured to use the
+ peer delay mechanism.
+ DISABLED FE The port does not implement the
+ delay mechanism."
+ REFERENCE
+ "Sections 8.2.5.4.4, 6.6.4, 7.4.2 of [IEEE 1588-2008]."
+ SYNTAX INTEGER {
+ e2e(1),
+ p2p(2),
+ disabled(254) }
- REFERENCE "Sections 8.2.5.4.4, 6.6.4, 7.4.2 of [IEEE 1588-2008]."
- SYNTAX INTEGER {
- e2e(1),
- p2p(2),
- disabled(254)
- }
ClockInstanceType ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "The instance of the Clock of a given clock type in a given
- domain."
- SYNTAX Unsigned32 (0..255)
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The instance of the Clock of a given clock type in a given
+ domain."
+ SYNTAX Unsigned32 (0..255)
+
ClockPortNumber ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "An index identifying a specific Precision Time Protocol (PTP)
- port on a PTP node."
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "An index identifying a specific Precision Time Protocol (PTP)
+ port on a PTP node."
+ REFERENCE
+ "Sections 7.5.2.3 and 5.3.5 of [IEEE 1588-2008]"
+ SYNTAX Unsigned32 (0..65535)
- REFERENCE "Sections 7.5.2.3 and 5.3.5 of [IEEE 1588-2008]"
- SYNTAX Unsigned32 (0..65535)
ClockPortState ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "This is the value of the current state of the protocol engine
- associated with this port.
- Port state Value Description
- -----------------------------------------------------------
+ STATUS current
+ DESCRIPTION
+ "This is the value of the current state of the protocol engine
+ associated with this port.
+ Port state Value Description
+ -----------------------------------------------------------
- initializing 1 In this state a port initializes
- its data sets, hardware, and
- communication facilities.
- faulty 2 The fault state of the protocol.
- disabled 3 The port shall not place any
- messages on its communication path.
- listening 4 The port is waiting for the
- announceReceiptTimeout to expire or
- to receive an Announce message from
- a master.
- preMaster 5 The port shall behave in all respects
- as though it were in the MASTER state
- except that it shall not place any
- messages on its communication path
- except for Pdelay_Req, Pdelay_Resp,
- Pdelay_Resp_Follow_Up, signaling, or
- management messages.
- master 6 The port is behaving as a master port.
- passive 7 The port shall not place any messages
- on its communication path except for
- Pdelay_Req, Pdelay_Resp,
- Pdelay_Resp_Follow_Up, or signaling
- messages, or management messages that
- are a required response to another
- management message
- uncalibrated 8 The local port is preparing to
- synchronize to the master port.
- slave 9 The port is synchronizing to the
- selected master port."
+ initializing 1 In this state a port initializes
+ its data sets, hardware, and
+ communication facilities.
+ faulty 2 The fault state of the protocol.
+ disabled 3 The port shall not place any
+ messages on its communication path.
+ listening 4 The port is waiting for the
+ announceReceiptTimeout to expire or
+ to receive an Announce message from
+ a master.
+ preMaster 5 The port shall behave in all respects
+ as though it were in the MASTER state
+ except that it shall not place any
+ messages on its communication path
+ except for Pdelay_Req, Pdelay_Resp,
+ Pdelay_Resp_Follow_Up, signaling, or
+ management messages.
+ master 6 The port is behaving as a master port.
+ passive 7 The port shall not place any messages
+ on its communication path except for
+ Pdelay_Req, Pdelay_Resp,
+ Pdelay_Resp_Follow_Up, or signaling
+ messages, or management messages that
+ are a required response to another
+ management message
+ uncalibrated 8 The local port is preparing to
+ synchronize to the master port.
+ slave 9 The port is synchronizing to the
+ selected master port."
+ REFERENCE
+ "Section 8.2.5.3.1 portState and 9.2.5 of
+ [IEEE 1588-2008]"
+ SYNTAX INTEGER {
+ initializing(1),
+ faulty(2),
+ disabled(3),
+ listening(4),
+ preMaster(5),
+ master(6),
+ passive(7),
+ uncalibrated(8),
+ slave(9) }
- REFERENCE "Section 8.2.5.3.1 portState and 9.2.5 of
- [IEEE 1588-2008]"
- SYNTAX INTEGER {
- initializing(1),
- faulty(2),
- disabled(3),
- listening(4),
- preMaster(5),
- master(6),
- passive(7),
- uncalibrated(8),
- slave(9)
- }
ClockProfileType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "Clock Profile used. A profile is the set of allowed Precision
- Time Protocol (PTP) features applicable to a device."
+ STATUS current
+ DESCRIPTION
+ "Clock Profile used. A profile is the set of allowed Precision
+ Time Protocol (PTP) features applicable to a device."
+ REFERENCE
+ "Section 3.1.30 and 19.3 PTP profiles of
+ [IEEE 1588-2008]"
+ SYNTAX INTEGER {
+ default(1),
+ telecom(2),
+ vendorspecific(3) }
- REFERENCE "Section 3.1.30 and 19.3 PTP profiles of
- [IEEE 1588-2008]"
- SYNTAX INTEGER {
- default(1),
- telecom(2),
- vendorspecific(3)
- }
-
ClockQualityAccuracyType ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The ClockQuality as specified in section 5.3.7, 7.6.2.5 and
- Table 6 of [IEEE 1588-2008].
+ STATUS current
+ DESCRIPTION
+ "The ClockQuality as specified in section 5.3.7, 7.6.2.5 and
+ Table 6 of [IEEE 1588-2008].
- The following values are not represented in the enumerated
- values.
+ The following values are not represented in the enumerated
+ values.
- 0x01-0x1F Reserved
- 0x32-0x7F Reserved
+ 0x01-0x1F Reserved
+ 0x32-0x7F Reserved
- It is important to note that section 7.1.1 RFC2578 allows for
- gaps and enumerate values to start with zero when indicated by
- the protocol."
+ It is important to note that section 7.1.1 RFC2578 allows for
+ gaps and enumerate values to start with zero when indicated by
+ the protocol."
+ REFERENCE
+ "Section 5.3.7, 7.6.2.5 and Table 6 of
+ [IEEE 1588-2008]"
+ SYNTAX INTEGER {
+ reserved00(1), -- 0
+ nanoSecond25(32), -- 0x20
+ nanoSecond100(33), -- 0x21
+ nanoSecond250(34), -- 0x22
+ microSec1(35), -- 0x23
+ microSec2dot5(36), -- 0x24
+ microSec10(37), -- 0x25
+ microSec25(38), -- 0x26
+ microSec100(39), -- 0x27
+ microSec250(40), -- 0x28
+ milliSec1(41), -- 0x29
+ milliSec2dot5(42), -- 0x2A
+ milliSec10(43), -- 0x2B
+ milliSec25(44), -- 0x2C
+ milliSec100(45), -- 0x2D
+ milliSec250(46), -- 0x2E
+ second1(47), -- 0x2F
+ second10(48), -- 0x30
+ secondGreater10(49), -- 0x31
+ unknown(254), -- 0xFE
+ reserved255(255) -- 0xFF
+ }
- REFERENCE "Section 5.3.7, 7.6.2.5 and Table 6 of
- [IEEE 1588-2008]"
- SYNTAX INTEGER {
- reserved00(1), -- 0
- nanoSecond25(32), -- 0x20
- nanoSecond100(33), -- 0x21
- nanoSecond250(34), -- 0x22
- microSec1(35), -- 0x23
- microSec2dot5(36), -- 0x24
- microSec10(37), -- 0x25
- microSec25(38), -- 0x26
- microSec100(39), -- 0x27
- microSec250(40), -- 0x28
- milliSec1(41), -- 0x29
- milliSec2dot5(42), -- 0x2A
- milliSec10(43), -- 0x2B
- milliSec25(44), -- 0x2C
- milliSec100(45), -- 0x2D
- milliSec250(46), -- 0x2E
- second1(47), -- 0x2F
- second10(48), -- 0x30
- secondGreater10(49), -- 0x31
- unknown(254), -- 0xFE
- reserved255(255) -- 0xFF
- }
-
ClockQualityClassType ::= TEXTUAL-CONVENTION
- DISPLAY-HINT "d"
- STATUS current
- DESCRIPTION
- "The ClockQuality as specified in section 5.3.7, 7.6.2.4 and
- Table 5 of [IEEE 1588-2008].
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The ClockQuality as specified in section 5.3.7, 7.6.2.4 and
+ Table 5 of [IEEE 1588-2008].
- Value Description
- -------- ------------------------------------------------
- 0 Reserved to enable compatibility with future
- versions.
- 1-5 Reserved
- 6 Shall designate a clock that is synchronized
- to a primary reference time source. The
- timescale distributed shall be PTP. A
- clockClass 6 clock shall not be a slave to
- another clock in the domain.
- 7 Shall designate a clock that has previously
- been designated as clockClass 6 but that has
- lost the ability to synchronize to a primary
- reference time source and is in holdover mode
- and within holdover specifications. The
- timescale distributed shall be PTP. A
- clockClass 7 clock shall not be a slave to
- another clock in the domain.
- 8 Reserved.
- 9-10 Reserved to enable compatibility with future
- versions.
- 11-12 Reserved.
- 13 Shall designate a clock that is synchronized
- to an application-specific source of time.
- The timescale distributed shall be ARB. A
- clockClass 13 clock shall not be a slave to
- another clock in the domain.
- 14 Shall designate a clock that has previously
- been designated as clockClass 13 but that
- has lost the ability to synchronize to an
- application-specific source of time and is
- in holdover mode and within holdover
- specifications. The timescale distributed
- shall be ARB. A clockClass 14 clock shall
- not be a slave to another clock in the domain.
- 15-51 Reserved.
- 52 Degradation alternative A for a clock of
- clockClass 7 that is not within holdover
- specification. A clock of clockClass 52
- shall not be a slave to another clock in
+ Value Description
+ -------- ------------------------------------------------
+ 0 Reserved to enable compatibility with future
+ versions.
+ 1-5 Reserved
+ 6 Shall designate a clock that is synchronized
+ to a primary reference time source. The
+ timescale distributed shall be PTP. A
+ clockClass 6 clock shall not be a slave to
+ another clock in the domain.
+ 7 Shall designate a clock that has previously
+ been designated as clockClass 6 but that has
+ lost the ability to synchronize to a primary
+ reference time source and is in holdover mode
+ and within holdover specifications. The
+ timescale distributed shall be PTP. A
+ clockClass 7 clock shall not be a slave to
+ another clock in the domain.
+ 8 Reserved.
+ 9-10 Reserved to enable compatibility with future
+ versions.
+ 11-12 Reserved.
+ 13 Shall designate a clock that is synchronized
+ ...
[truncated message content] |