ntp: increment sequence id in PTP messages
This commit is contained in:
parent
e949e1d991
commit
c3e4e3e47a
2 changed files with 9 additions and 1 deletions
3
ntp_io.c
3
ntp_io.c
|
@ -528,6 +528,8 @@ NIO_UnwrapMessage(SCK_Message *message, int sock_fd)
|
||||||
static int
|
static int
|
||||||
wrap_message(SCK_Message *message, int sock_fd)
|
wrap_message(SCK_Message *message, int sock_fd)
|
||||||
{
|
{
|
||||||
|
static uint16_t sequence_id = 0;
|
||||||
|
|
||||||
assert(PTP_NTP_PREFIX_LENGTH == 48);
|
assert(PTP_NTP_PREFIX_LENGTH == 48);
|
||||||
|
|
||||||
if (!is_ptp_socket(sock_fd))
|
if (!is_ptp_socket(sock_fd))
|
||||||
|
@ -548,6 +550,7 @@ wrap_message(SCK_Message *message, int sock_fd)
|
||||||
ptp_message->header.length = htons(PTP_NTP_PREFIX_LENGTH + message->length);
|
ptp_message->header.length = htons(PTP_NTP_PREFIX_LENGTH + message->length);
|
||||||
ptp_message->header.domain = PTP_DOMAIN_NTP;
|
ptp_message->header.domain = PTP_DOMAIN_NTP;
|
||||||
ptp_message->header.flags = htons(PTP_FLAG_UNICAST);
|
ptp_message->header.flags = htons(PTP_FLAG_UNICAST);
|
||||||
|
ptp_message->header.sequence_id = htons(sequence_id++);
|
||||||
ptp_message->tlv_header.type = htons(PTP_TLV_NTP);
|
ptp_message->tlv_header.type = htons(PTP_TLV_NTP);
|
||||||
ptp_message->tlv_header.length = htons(message->length);
|
ptp_message->tlv_header.length = htons(message->length);
|
||||||
memcpy((char *)ptp_message + PTP_NTP_PREFIX_LENGTH, message->data, message->length);
|
memcpy((char *)ptp_message + PTP_NTP_PREFIX_LENGTH, message->data, message->length);
|
||||||
|
|
7
ptp.h
7
ptp.h
|
@ -44,7 +44,12 @@ typedef struct {
|
||||||
uint8_t domain;
|
uint8_t domain;
|
||||||
uint8_t min_sdoid;
|
uint8_t min_sdoid;
|
||||||
uint16_t flags;
|
uint16_t flags;
|
||||||
uint8_t rest[26];
|
uint8_t correction[8];
|
||||||
|
uint8_t msg_specific[4];
|
||||||
|
uint8_t port_id[10];
|
||||||
|
uint16_t sequence_id;
|
||||||
|
uint8_t control;
|
||||||
|
int8_t interval;
|
||||||
} PTP_Header;
|
} PTP_Header;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
Loading…
Reference in a new issue