Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

PTP Announce (ptp_announce)

Reached from

Lower layerSelectorValue
ethernet2ethertype35063 (0x88f7)
dot1qethertype35063 (0x88f7)
dot1adethertype35063 (0x88f7)
udpdst_port / src_port320 (0x0140)
ptpmessage_type11 (re-decodes this layer)

Fields

FieldTypeDefaultAutoDescription
major_sdo_iduint(4)0majorSdoId (transportSpecific in IEEE 1588-2008): 0 for the default profiles, 1 for IEEE 802.1AS (gPTP).
message_typeenum(4)11 (announce)Message type: 0 Sync, 1 Delay_Req, 2 Pdelay_Req, 3 Pdelay_Resp, 8 Follow_Up, 9 Delay_Resp, 10 Pdelay_Resp_Follow_Up, 11 Announce, 12 Signaling, 13 Management.
minor_versionuint(4)0minorVersionPTP (0 in IEEE 1588-2008, 1 in IEEE 1588-2019).
versionuint(4)2versionPTP (2).
message_lengthuint(16)Length of the header and payload in octetsLength of the whole message in octets, including the TLVs (Auto).
domain_numberuint(8)0Domain number.
minor_sdo_iduint(8)0minorSdoId (reserved, 0, in IEEE 1588-2008).
flagsflags(16)0x0Flag field: alternateMaster, twoStep, unicast, the profile specific and security bits in the first octet; leap61, leap59, currentUtcOffsetValid, ptpTimescale, timeTraceable, frequencyTraceable and synchronizationUncertain in the second.
correction_fieldint(64)0Correction in nanoseconds multiplied by 2^16 (signed).
message_type_specificuint(32)0Message type specific field (reserved, 0, in IEEE 1588-2008).
clock_identityuint(64)144116287553929217Clock identity of the source port (EUI-64, e.g. a MAC address with ff:fe in the middle).
port_numberuint(16)1Port number of the source port.
sequence_iduint(16)0Sequence ID; a Follow_Up / Delay_Resp / Pdelay_Resp copies the one of the message it answers.
control_fieldenum(8)5 (other)Control field (IEEE 1588 version 1 compatibility): 0 Sync, 1 Delay_Req, 2 Follow_Up, 3 Delay_Resp, 4 Management, 5 other messages.
log_message_intervalint(8)1Log2 of the message interval in seconds (signed; 0x7f when not applicable).
origin_timestamp_secondsuint(48)0Timestamp: seconds (48 bits).
origin_timestamp_nanosecondsuint(32)0Timestamp: nanoseconds (32 bits).
current_utc_offsetint(16)37Current UTC offset in seconds (TAI - UTC).
reserveduint(8)0
grandmaster_priority1uint(8)128Grandmaster priority (best master clock algorithm, lower wins).
grandmaster_clock_classuint(8)248Grandmaster clock class (6 = locked to a primary reference, 248 = default, 255 = slave only).
grandmaster_clock_accuracyenum(8)254 (unknown)Grandmaster clock accuracy (0x20 = within 25 ns … 0xfe = unknown).
grandmaster_offset_scaled_log_varianceuint(16)65535Grandmaster offsetScaledLogVariance.
grandmaster_priority2uint(8)128Grandmaster priority (best master clock algorithm, lower wins).
grandmaster_identityuint(64)144116287553929217Grandmaster clock identity.
steps_removeduint(16)0Number of boundary clocks between the grandmaster and the sender.
time_sourceenum(8)160 (internal_oscillator)Time source of the grandmaster: atomic clock, GPS, terrestrial radio, PTP, NTP, hand set, other, internal oscillator.
tlvstlv — message_length - 64 octets[]TLVs (16-bit type, 16-bit length of the value, Auto): Management, Management Error Status, Organization Extension, unicast negotiation (Request / Grant / Cancel / Acknowledge Cancel), Path Trace, Alternate Time Offset Indicator. They end at the message length.

message_type

ValueName
0sync
1delay_req
2pdelay_req
3pdelay_resp
8follow_up
9delay_resp
10pdelay_resp_follow_up
11announce
12signaling
13management

flags

BitMaskName
1532768 (0x8000)security
1416384 (0x4000)profile_specific_2
138192 (0x2000)profile_specific_1
101024 (0x0400)unicast
9512 (0x0200)two_step
8256 (0x0100)alternate_master
664 (0x0040)synchronization_uncertain
532 (0x0020)frequency_traceable
416 (0x0010)time_traceable
38 (0x0008)ptp_timescale
24 (0x0004)current_utc_offset_valid
12 (0x0002)leap59
01 (0x0001)leap61

control_field

ValueName
0 (0x00)sync
1 (0x01)delay_req
2 (0x02)follow_up
3 (0x03)delay_resp
4 (0x04)management
5 (0x05)other

grandmaster_clock_accuracy

ValueName
32 (0x20)within_25ns
33 (0x21)within_100ns
34 (0x22)within_250ns
35 (0x23)within_1us
36 (0x24)within_2_5us
37 (0x25)within_10us
38 (0x26)within_25us
39 (0x27)within_100us
40 (0x28)within_250us
41 (0x29)within_1ms
42 (0x2a)within_2_5ms
43 (0x2b)within_10ms
44 (0x2c)within_25ms
45 (0x2d)within_100ms
46 (0x2e)within_250ms
47 (0x2f)within_1s
48 (0x30)within_10s
49 (0x31)over_10s
254 (0xfe)unknown

time_source

ValueName
16 (0x10)atomic_clock
32 (0x20)gps
48 (0x30)terrestrial_radio
64 (0x40)ptp
80 (0x50)ntp
96 (0x60)hand_set
144 (0x90)other
160 (0xa0)internal_oscillator

tlvs

  • Type 16 bits, length 16 bits.
  • The length counts the value only.
  • Unknown types are kept as raw value octets.
TypeNameValue fieldsDescription
1 (0x0001)managementmanagement_id, data_field
2 (0x0002)management_error_statusmanagement_error_id, management_id, reserved, display_data
3 (0x0003)organization_extensionorganization_id, organization_sub_type, data_field
4 (0x0004)request_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field
5 (0x0005)grant_unicast_transmissionmessage_type, reserved, log_inter_message_period, duration_field, reserved2, reserved3, renewal_invited
6 (0x0006)cancel_unicast_transmissionmessage_type, reserved, reserved2
7 (0x0007)acknowledge_cancel_unicast_transmissionmessage_type, reserved, reserved2
8 (0x0008)path_tracepath_sequence
9 (0x0009)alternate_time_offset_indicatorkey_field, current_offset, jump_seconds, time_of_next_jump, display_name_length, display_name, pad

tlvs › management

FieldTypeDefaultAutoDescription
management_idenum(16)8192 (default_data_set)
data_fieldbytes — rest of the PDU
tlvs › management › management_id
ValueName
0 (0x0000)null_management
1 (0x0001)clock_description
2 (0x0002)user_description
8192 (0x2000)default_data_set
8193 (0x2001)current_data_set
8194 (0x2002)parent_data_set
8195 (0x2003)time_properties_data_set
8196 (0x2004)port_data_set
8197 (0x2005)priority1
8198 (0x2006)priority2
8199 (0x2007)domain
8200 (0x2008)slave_only
8201 (0x2009)log_announce_interval
8205 (0x200d)log_sync_interval
8213 (0x2015)utc_properties

tlvs › management_error_status

FieldTypeDefaultAutoDescription
management_error_idenum(16)
management_idenum(16)
reserveduint(32)0
display_databytes — rest of the PDU
tlvs › management_error_status › management_error_id
ValueName
1 (0x0001)response_too_big
2 (0x0002)no_such_id
3 (0x0003)wrong_length
4 (0x0004)wrong_value
5 (0x0005)not_setable
6 (0x0006)not_supported
65534 (0xfffe)general_error
tlvs › management_error_status › management_id
ValueName
0 (0x0000)null_management
1 (0x0001)clock_description
2 (0x0002)user_description
8192 (0x2000)default_data_set
8193 (0x2001)current_data_set
8194 (0x2002)parent_data_set
8195 (0x2003)time_properties_data_set
8196 (0x2004)port_data_set
8197 (0x2005)priority1
8198 (0x2006)priority2
8199 (0x2007)domain
8200 (0x2008)slave_only
8201 (0x2009)log_announce_interval
8205 (0x200d)log_sync_interval
8213 (0x2015)utc_properties

tlvs › organization_extension

FieldTypeDefaultAutoDescription
organization_iduint(24)
organization_sub_typeuint(24)
data_fieldbytes — rest of the PDU

tlvs › request_unicast_transmission

FieldTypeDefaultAutoDescription
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
tlvs › request_unicast_transmission › message_type
ValueName
0sync
1delay_req
2pdelay_req
3pdelay_resp
8follow_up
9delay_resp
10pdelay_resp_follow_up
11announce
12signaling
13management

tlvs › grant_unicast_transmission

FieldTypeDefaultAutoDescription
message_typeenum(4)11 (announce)
reserveduint(4)0
log_inter_message_periodint(8)1
duration_fielduint(32)300
reserved2uint(8)0
reserved3uint(7)0
renewal_inviteduint(1)0
tlvs › grant_unicast_transmission › message_type
ValueName
0sync
1delay_req
2pdelay_req
3pdelay_resp
8follow_up
9delay_resp
10pdelay_resp_follow_up
11announce
12signaling
13management

tlvs › cancel_unicast_transmission

FieldTypeDefaultAutoDescription
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
tlvs › cancel_unicast_transmission › message_type
ValueName
0sync
1delay_req
2pdelay_req
3pdelay_resp
8follow_up
9delay_resp
10pdelay_resp_follow_up
11announce
12signaling
13management

tlvs › acknowledge_cancel_unicast_transmission

FieldTypeDefaultAutoDescription
message_typeenum(4)11 (announce)
reserveduint(4)0
reserved2uint(8)0
tlvs › acknowledge_cancel_unicast_transmission › message_type
ValueName
0sync
1delay_req
2pdelay_req
3pdelay_resp
8follow_up
9delay_resp
10pdelay_resp_follow_up
11announce
12signaling
13management

tlvs › path_trace

FieldTypeDefaultAutoDescription
path_sequencelist<uint(64)> — rest of the PDU

tlvs › alternate_time_offset_indicator

FieldTypeDefaultAutoDescription
key_fielduint(8)0
current_offsetint(32)0
jump_secondsint(32)0
time_of_next_jumpuint(48)0
display_name_lengthuint(8)Size of display_name in octets
display_namebytes — display_name_length octets
padbytes — rest of the PDU

Constraints

LevelRule
warningversion = 2

Sample templates