[Linuxptp-devel] [RFC 0/1] Adding support for AVnu Automotive Profile
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Vedang P. <ved...@in...> - 2018-07-16 21:35:27
|
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 |