Re: [Linuxptp-devel] [PATCH 1/4] Schedule announce TX timeout also when in slave-only mode
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
|
From: Delio B. <dbr...@au...> - 2013-11-30 20:47:48
|
On Nov 30, 2013, at 5:34 PM, Richard Cochran <ric...@gm...> wrote: > On Sat, Nov 30, 2013 at 10:35:25AM +0100, Delio Brignoli wrote: >> >> From memory, the problem was that when running in slave-only mode linuxptp didn't start announcing when the port became asCapable. According to 802.1AS we should be announcing ourselves immediately when the port becomes asCapable even if we do not support being master. > > AFAICT, the only part of 802.1AS-2011 that mentions when to transmit an > announce message is Figure 10-15 on page 84. On the right hand side > there is the state TRANSMIT_ANNOUNCE which calls the txAnnounce method. Thanks for taking the time to look into this. See below for my comments. > That state is only reachable if (selectedRole == MasterPort), and so > it looks like we should not transmit when is slave only mode, just > like in 1588. Yes, but... 802.1AS does not have a different state machine for slave-only operation, instead a non grand-master capable time-aware system has a property1 value of 255 (see second paragraph of section 8.6.2.1). Additionally, according to point f.5 of section 10.3.12.1.4 updtRolesTree(), if the current portPriorityVector is the portPriorityVector of the time-aware system (i.e. we have not yet received an announce message with better portPriorityVector) the portRole should be set to MasterPort which makes the txAnnounce method reachable. Thanks -- Delio |