This implements transmission and receipt of message interval requests.
Using this mechanism, a time-aware device can request change in sync,
link delay and announce intervals on the device connected on the other
end.
As part of the commit, we are also saving the initial values of Announce
and Sync Interval.
For more information look at sections 10.2.4.4, 10.3.9.5, 10.3.14, 10.4,
10.5.4 and 11.2.17 of 802.1AS standard
Please note that this commit does not implement logic related to
computeNeighborRateRatio and computeNeighborPropDelay flags mentioned in
Section 10.5.4.3.9 of 802.1AS Standard.
[ RC - memset the targetPortIdentity to all ones. ]
Signed-off-by: Vedang Patel <vedang.patel@intel.com>
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Make port_signaling_construct() to create a generic signaling
ptp_message. Move the unicast specific code to
port_signaling_uc_construct().
This is done to support the creation of Message Interval Request TLV (as
defined in 802.1AS Section 10.5.4.3). This TLV can be used to request
change in Announce Interval, Sync Interval or Link Delay Interval on a
remote system.
[ RC - fix trivial rebase conflict on top of targetPortIdentity check. ]
Signed-off-by: Vedang Patel <vedang.patel@intel.com>
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
IEEE 1588 specifies dropping signaling messages if the
targetPortIdentity does not match the receiving port. Up until now
the unicast code did check that field, but only for the unicast
transmission request and cancel operations.
This patch moves the target port identity check so that it applies to
each and every received signaling message.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>