Namespace inet
GptpFollowUpInformationTlv
classThe fields of the Follow_Up information TLV shall be as specified in Table 11-11 and in 11.4.4.3.2 through 11.4.4.3.9. This TLV is a standard organization extension TLV for the Follow_Up message, as specified in 14.3 of IEEE Std 1588-2019. NOTE—The Follow_Up information TLV is different from the CUMULATIVE_RATE_RATIO TLV of IEEE Std 1588- 2019 (see 16.10 and Table 52 of IEEE Std 1588-2019). While both TLVs carry cumulative rate offset information, the Follow_Up information TLV also carries information on the Grandmaster Clock time base, most recent phase change, and most recent frequency change. The CUMULATIVE_RATE_RATIO TLV is not used by gPTP.
Extends
Name | Type | Description |
---|---|---|
GptpTlv | (unknown -- not in documented files) |
Fields
Name | Type | Description |
---|---|---|
tlvType | ||
lengthField | uint16_t | |
organizationId | uint32_t | |
organizationSubType | uint32_t | |
rateRatio | double |
11.4.4.3.6 The value of cumulativeScaledRateOffset is equal to (rateRatio – 1.0) / (2^41), truncated to the next smaller signed integer, where rateRatio is the ratio of the frequency of the Grandmaster Clock to the frequency of the LocalClock entity in the PTP Instance that sends the message. |
gmTimeBaseIndicator | uint16_t |
The value of gmTimeBaseIndicator is the timeBaseIndicator of the ClockSource entity for the current Grandmaster PTP Instance (see 9.2.2.3). |
lastGmPhaseChange | clocktime_t |
The value of lastGmPhaseChange is the time of the current Grandmaster Clock minus the time of the previous Grandmaster Clock, at the time that the current Grandmaster PTP Instance became the Grandmaster PTP Instance. The value is copied from the lastGmPhaseChange member of the MDSyncSend structure whose receipt causes the MD entity to send the Follow_Up message (see 11.2.11). |
scaledLastGmFreqChange | int32_t |
The value of scaledLastGmFreqChange is the fractional frequency offset of the current Grandmaster Clock relative to the previous Grandmaster Clock, at the time that the current Grandmaster PTP Instance became the Grandmaster PTP Instance, or relative to itself prior to the last change in gmTimeBaseIndicator, multiplied by 241 and truncated to the next smaller signed integer. The value is obtained by multiplying the lastGmFreqChange member of MDSyncSend whose receipt causes the MD entity to send the Follow_Up message (see 11.2.11) by 241, and truncating to the next smaller signed integer. |
Source code
// The fields of the Follow_Up information TLV shall be as specified in Table 11-11 and in 11.4.4.3.2 through // 11.4.4.3.9. This TLV is a standard organization extension TLV for the Follow_Up message, as specified in // 14.3 of IEEE Std 1588-2019. // NOTE—The Follow_Up information TLV is different from the CUMULATIVE_RATE_RATIO TLV of IEEE Std 1588- // 2019 (see 16.10 and Table 52 of IEEE Std 1588-2019). While both TLVs carry cumulative rate offset information, the // Follow_Up information TLV also carries information on the Grandmaster Clock time base, most recent phase change, // and most recent frequency change. The CUMULATIVE_RATE_RATIO TLV is not used by gPTP. class GptpFollowUpInformationTlv extends GptpTlv { tlvType = GPTP_FOLLOW_UP_INFORMATION_TLV; uint16_t lengthField @bit(16) = B(GPTP_FOLLOW_UP_INFORMATION_TLV_BODYSIZE).get(); uint32_t organizationId @bit(24) = 0x0080C2; uint32_t organizationSubType @bit(24) = 1; double rateRatio @bit(32); // 11.4.4.3.6 The value of cumulativeScaledRateOffset is equal to (rateRatio – 1.0) / (2^41), truncated to the next smaller // signed integer, where rateRatio is the ratio of the frequency of the Grandmaster Clock to the frequency of the // LocalClock entity in the PTP Instance that sends the message. uint16_t gmTimeBaseIndicator @bit(16); // The value of gmTimeBaseIndicator is the timeBaseIndicator of the ClockSource entity for the current // Grandmaster PTP Instance (see 9.2.2.3). clocktime_t lastGmPhaseChange @bit(96); // The value of lastGmPhaseChange is the time of the current Grandmaster Clock minus the time of the // previous Grandmaster Clock, at the time that the current Grandmaster PTP Instance became the // Grandmaster PTP Instance. The value is copied from the lastGmPhaseChange member of the MDSyncSend // structure whose receipt causes the MD entity to send the Follow_Up message (see 11.2.11). int32_t scaledLastGmFreqChange @bit(32); // The value of scaledLastGmFreqChange is the fractional frequency offset of the current Grandmaster Clock // relative to the previous Grandmaster Clock, at the time that the current Grandmaster PTP Instance became // the Grandmaster PTP Instance, or relative to itself prior to the last change in gmTimeBaseIndicator, // multiplied by 241 and truncated to the next smaller signed integer. The value is obtained by multiplying the // lastGmFreqChange member of MDSyncSend whose receipt causes the MD entity to send the Follow_Up // message (see 11.2.11) by 241, and truncating to the next smaller signed integer. }File: src/inet/linklayer/ieee8021as/GptpPacket.msg