ark::time::PtpPacket
Defined in header “ark/time/ptp_packet.hh”.
Represents a PTP packet as it comes over the wire the PTP system uses a few non-standard-sized fields, so we don’t try to use a packed structure. This is a relatively ‘pure’ representation, however.
Variables
-
PtpMessageType type
Type of the message. -
uint8_t transport_specific_fields
Message identifier. -
uint8_t ptp_verison
Version of the PTP message. -
uint16_t message_length
Length of the message, including heading/body/suffix. -
uint8_t domain_number
Domain number, should be the same on all communicating devices. -
uint16_t flags
Flags, bit1 means we’re in two-step, bit2 means we’re unicasat. -
uint64_t correction_ns
Correction for fractional nanoseconds (and path delay). -
uint64_t source_port_identity
The source port identity. -
uint16_t source_port_id
The source port ID (usually one). This is the PTP ID. -
uint16_t sequence_id
The sequence ID note that for follow-up packets, this matches the sequence ID of the sync packet, and for delay response, it matches the ID of the delay request. -
PtpControlType control_field
The control field, which indicates the type of message. -
uint8_t log_message_interval
Generally 0x7f for unicast, othberwise, its the log2 interval between multicast messages. -
uint64_t timestamp_s
Seconds. -
uint32_t timestamp_ns
Nanoseconds. -
std::variant< PtpDelayResponseBody, PtpAnnounceBody > body
Optional body contents.