Append the follow up information TLV when enabled.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>master
parent
226bd355af
commit
d04deb8ba6
15
port.c
15
port.c
|
@ -265,6 +265,18 @@ static int add_foreign_master(struct port *p, struct ptp_message *m)
|
||||||
return broke_threshold || diff;
|
return broke_threshold || diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int follow_up_info_append(struct port *p, struct ptp_message *m)
|
||||||
|
{
|
||||||
|
struct follow_up_info_tlv *fui;
|
||||||
|
fui = (struct follow_up_info_tlv *) m->follow_up.suffix;
|
||||||
|
fui->type = TLV_ORGANIZATION_EXTENSION;
|
||||||
|
fui->length = sizeof(*fui) - sizeof(fui->type) - sizeof(fui->length);
|
||||||
|
memcpy(fui->id, ieee8021_id, sizeof(ieee8021_id));
|
||||||
|
fui->subtype[2] = 1;
|
||||||
|
m->tlv_count = 1;
|
||||||
|
return sizeof(*fui);
|
||||||
|
}
|
||||||
|
|
||||||
static void free_foreign_masters(struct port *p)
|
static void free_foreign_masters(struct port *p)
|
||||||
{
|
{
|
||||||
struct foreign_clock *fc;
|
struct foreign_clock *fc;
|
||||||
|
@ -616,6 +628,9 @@ static int port_tx_sync(struct port *p)
|
||||||
pdulen = sizeof(struct follow_up_msg);
|
pdulen = sizeof(struct follow_up_msg);
|
||||||
fup->hwts.type = p->timestamping;
|
fup->hwts.type = p->timestamping;
|
||||||
|
|
||||||
|
if (p->pod.follow_up_info)
|
||||||
|
pdulen += follow_up_info_append(p, fup);
|
||||||
|
|
||||||
fup->header.tsmt = FOLLOW_UP | p->transportSpecific;
|
fup->header.tsmt = FOLLOW_UP | p->transportSpecific;
|
||||||
fup->header.ver = PTP_VERSION;
|
fup->header.ver = PTP_VERSION;
|
||||||
fup->header.messageLength = pdulen;
|
fup->header.messageLength = pdulen;
|
||||||
|
|
Loading…
Reference in New Issue