Hi,

This patch is the first from a series of patches we'd like to contribute to
Linuxptp in order to enable gPTP features from Avnu Automotive Profile.

The automotive environment is unique in that it is a closed system. Every
network device is known prior to startup and devices do not enter or leave the
network, except in the case of failures. Because of the closed nature of the
automotive network, it is possible to simplify and improve gPTP startup
performance. Specifically, functions like election of a grand master and
calculations of wire delays are tasks that can be optimized for a closed
system. These gPTP features are specified in Chapter 6 from Avnu Automotive
Profile spec [1].


The patch following the cover letter adds avnu_ap config option, the most
important feature for the profile. avnu_ap will be used to determine whether
AVnu Automotive Profile is enabled. If so, Best Master Clock Algorithm (BMCA)
is disabled on the device and gmCapable is used to determine the device role
(grand master or slave). So, both the config options together implement the
‘isGM’ static gPTP value mentioned in Section 6.2.1.1 of AVnu Automotive
Profile [1]. 

There will be more features which we will submit soon, covering all gPTP
features from Avnu Automotive Profile. These will include:

- Switching Sync message interval and pdelay message intervals to a lower value
  once system stabilizes (Sections 6.2.3.1 and 6.2.3.2 in [1]). This will also
  add support for Message Interval request TLV (Section 10.5.4 in [2]).
- Setting asCapable to true only in case of 802.1AS. This will be followed by
  an ability to set asCapable to true whenever the link is up in order to speed
  up startup. (Section 6.2.1.2 in [1])
- Option to save some properties like neighborRateRatio when the program exits.
  (Sections 6.2.2.2 and 6.2.2.3 in [1])
- Option to continue adjusting the clock even when slave does not receive Sync
  messages from master. (Section 6.3 bullet 4 sub bullet 6 -- lines 228 to 230)

Please note that the above support is provided for ordinary clocks only
(boundary clock is not support at the moment). Also, this profile should always
be run along with 802.1AS profile.

Let me know if you need more details about the points mentioned above.

[1] Automotive Ethernet AVB Functional and Interoperability Specification -
http://avnu.org/wp-content/uploads/2014/05/
Automotive-Ethernet-AVB-Func-Interop-Spec-v1.5-Public.pdf


[2] IEEE Std 802.1AS™-2011 Specification:
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5741898&tag=1


Vedang Patel (1):
  Add avnu_ap to enable AVnu Automotive Profile

 clock.c             | 15 +++++++-
 clock.h             |  8 +++++
 config.c            |  1 +
 configs/AVnu.cfg    | 22 ++++++++++++
 configs/default.cfg |  1 +
 fsm.c               | 11 ++++++
 port.c              | 99 +++++++++++++++++++++++++++++++++++++++++++++++++----
 ptp4l.8             | 10 ++++++
 8 files changed, 159 insertions(+), 8 deletions(-)
 create mode 100644 configs/AVnu.cfg

-- 
2.7.3


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxptp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to