Merge "GM clock accuracy and offset scaled log variance"
This commit is contained in:
commit
a140a14ee4
|
@ -1,7 +1,7 @@
|
||||||
From 63b43924294da6cb177d0509120b2e957580441c Mon Sep 17 00:00:00 2001
|
From 63b43924294da6cb177d0509120b2e957580441c Mon Sep 17 00:00:00 2001
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Mon, 31 May 2021 11:07:52 +0200
|
Date: Mon, 31 May 2021 11:07:52 +0200
|
||||||
Subject: [PATCH 1/48] clock: Reset state when switching port with same best clock.
|
Subject: [PATCH 1/49] clock: Reset state when switching port with same best clock.
|
||||||
|
|
||||||
When the best port is changed, but the ID of the best clock doesn't
|
When the best port is changed, but the ID of the best clock doesn't
|
||||||
change (e.g. a passive port is activated on link failure), reset the
|
change (e.g. a passive port is activated on link failure), reset the
|
||||||
|
|
|
@ -4,7 +4,7 @@ In-Reply-To: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerv
|
||||||
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Mon, 31 May 2021 11:07:53 +0200
|
Date: Mon, 31 May 2021 11:07:53 +0200
|
||||||
Subject: [PATCH 2/48] clock: Reset clock check on best clock/port change.
|
Subject: [PATCH 2/49] clock: Reset clock check on best clock/port change.
|
||||||
|
|
||||||
Reset the clock check when the best clock or port changes, together with
|
Reset the clock check when the best clock or port changes, together with
|
||||||
the other state like current estimated delay and frequency. This avoids
|
the other state like current estimated delay and frequency. This avoids
|
||||||
|
|
|
@ -4,7 +4,7 @@ In-Reply-To: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerv
|
||||||
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Mon, 31 May 2021 11:07:54 +0200
|
Date: Mon, 31 May 2021 11:07:54 +0200
|
||||||
Subject: [PATCH 3/48] port: Don't check timestamps from non-slave ports.
|
Subject: [PATCH 3/49] port: Don't check timestamps from non-slave ports.
|
||||||
|
|
||||||
Don't perform the sanity check on receive timestamps from ports in
|
Don't perform the sanity check on receive timestamps from ports in
|
||||||
non-slave states to avoid false positives in the jbod mode, where
|
non-slave states to avoid false positives in the jbod mode, where
|
||||||
|
|
|
@ -4,7 +4,7 @@ In-Reply-To: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerv
|
||||||
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Mon, 31 May 2021 11:07:55 +0200
|
Date: Mon, 31 May 2021 11:07:55 +0200
|
||||||
Subject: [PATCH 4/48] port: Don't renew raw transport.
|
Subject: [PATCH 4/49] port: Don't renew raw transport.
|
||||||
|
|
||||||
Renewing of the transport on announce/sync timeout is needed in the
|
Renewing of the transport on announce/sync timeout is needed in the
|
||||||
client-only mode to avoid getting stuck with a broken multicast socket
|
client-only mode to avoid getting stuck with a broken multicast socket
|
||||||
|
|
|
@ -4,7 +4,7 @@ In-Reply-To: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630611367.git.Jim.Somerv
|
||||||
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630611367.git.Jim.Somerville@windriver.com>
|
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630611367.git.Jim.Somerville@windriver.com>
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Mon, 31 May 2021 11:07:56 +0200
|
Date: Mon, 31 May 2021 11:07:56 +0200
|
||||||
Subject: [PATCH 5/48] clockcheck: Increase minimum interval.
|
Subject: [PATCH 5/49] clockcheck: Increase minimum interval.
|
||||||
|
|
||||||
Increase the minimum check interval to 1 second to measure the frequency
|
Increase the minimum check interval to 1 second to measure the frequency
|
||||||
offset more accurately and with default configuration make false
|
offset more accurately and with default configuration make false
|
||||||
|
|
|
@ -4,7 +4,7 @@ In-Reply-To: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerv
|
||||||
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
|
||||||
From: Cole Walker <cole.walker@windriver.com>
|
From: Cole Walker <cole.walker@windriver.com>
|
||||||
Date: Wed, 23 Jun 2021 11:14:41 -0400
|
Date: Wed, 23 Jun 2021 11:14:41 -0400
|
||||||
Subject: [PATCH 6/48] Add option to disable default port selection in phc2sys
|
Subject: [PATCH 6/49] Add option to disable default port selection in phc2sys
|
||||||
|
|
||||||
This change serves to address an issue in phc2sys
|
This change serves to address an issue in phc2sys
|
||||||
where the local ptp clocks are not synced together properly if the local
|
where the local ptp clocks are not synced together properly if the local
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 6428c2628c013c408ec09355ad37eb12fa6bb20f Mon Sep 17 00:00:00 2001
|
From 6428c2628c013c408ec09355ad37eb12fa6bb20f Mon Sep 17 00:00:00 2001
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Wed, 18 May 2022 11:33:35 +0200
|
Date: Wed, 18 May 2022 11:33:35 +0200
|
||||||
Subject: [PATCH 7/48] sysoff: Change sysoff_measure() to return errno.
|
Subject: [PATCH 7/49] sysoff: Change sysoff_measure() to return errno.
|
||||||
|
|
||||||
Return -errno from failed ioctl instead of the SYSOFF_* enum from the
|
Return -errno from failed ioctl instead of the SYSOFF_* enum from the
|
||||||
measurement functions to allow the callers to check for specific errors.
|
measurement functions to allow the callers to check for specific errors.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 38a530d94fc5aa73bde424d05e2e38348e64d7e5 Mon Sep 17 00:00:00 2001
|
From 38a530d94fc5aa73bde424d05e2e38348e64d7e5 Mon Sep 17 00:00:00 2001
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Wed, 18 May 2022 11:33:36 +0200
|
Date: Wed, 18 May 2022 11:33:36 +0200
|
||||||
Subject: [PATCH 8/48] sysoff: Change log level of ioctl error messages.
|
Subject: [PATCH 8/49] sysoff: Change log level of ioctl error messages.
|
||||||
|
|
||||||
Change the log level of ioctl error messages to the error level to make
|
Change the log level of ioctl error messages to the error level to make
|
||||||
them visible in default configuration, with the exception of EOPNOTSUPP
|
them visible in default configuration, with the exception of EOPNOTSUPP
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 11ae077e31d9957df01aacfa17eea5b5d548b249 Mon Sep 17 00:00:00 2001
|
From 11ae077e31d9957df01aacfa17eea5b5d548b249 Mon Sep 17 00:00:00 2001
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Wed, 18 May 2022 11:33:37 +0200
|
Date: Wed, 18 May 2022 11:33:37 +0200
|
||||||
Subject: [PATCH 9/48] sysoff: Retry on EBUSY when probing supported ioctls.
|
Subject: [PATCH 9/49] sysoff: Retry on EBUSY when probing supported ioctls.
|
||||||
|
|
||||||
Handle EBUSY when probing support for a PTP_SYS_OFFSET ioctl. Try each
|
Handle EBUSY when probing support for a PTP_SYS_OFFSET ioctl. Try each
|
||||||
ioctl up to three times before giving up on it to make the detection
|
ioctl up to three times before giving up on it to make the detection
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From e4fd6a930213e6f0f009eb070d51b1e14db60d1b Mon Sep 17 00:00:00 2001
|
From e4fd6a930213e6f0f009eb070d51b1e14db60d1b Mon Sep 17 00:00:00 2001
|
||||||
From: Miroslav Lichvar <mlichvar@redhat.com>
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
||||||
Date: Wed, 18 May 2022 11:33:38 +0200
|
Date: Wed, 18 May 2022 11:33:38 +0200
|
||||||
Subject: [PATCH 10/48] phc2sys: Don't exit when reading of PHC fails with EBUSY.
|
Subject: [PATCH 10/49] phc2sys: Don't exit when reading of PHC fails with EBUSY.
|
||||||
|
|
||||||
Reading of the PHC can occasionally fail with some drivers, e.g. the ice
|
Reading of the PHC can occasionally fail with some drivers, e.g. the ice
|
||||||
driver returns EBUSY when it fails to get a lock. Continue in the loop
|
driver returns EBUSY when it fails to get a lock. Continue in the loop
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 0c5c39a8cd3675d91e872a75d75854907950957d Mon Sep 17 00:00:00 2001
|
From 0c5c39a8cd3675d91e872a75d75854907950957d Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 13:47:47 -0300
|
Date: Mon, 12 Jun 2023 13:47:47 -0300
|
||||||
Subject: [PATCH 11/48] phc2sys: extract PMC functionality into a smaller
|
Subject: [PATCH 11/49] phc2sys: extract PMC functionality into a smaller
|
||||||
struct pmc_node
|
struct pmc_node
|
||||||
|
|
||||||
This creates a smaller structure within phc2sys_private, which embeds
|
This creates a smaller structure within phc2sys_private, which embeds
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 87d8e7281e3e66813d0c669bea0b5335a8cbb6b6 Mon Sep 17 00:00:00 2001
|
From 87d8e7281e3e66813d0c669bea0b5335a8cbb6b6 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 13:59:48 -0300
|
Date: Mon, 12 Jun 2023 13:59:48 -0300
|
||||||
Subject: [PATCH 12/48] phc2sys: make PMC functions non-static
|
Subject: [PATCH 12/49] phc2sys: make PMC functions non-static
|
||||||
|
|
||||||
In preparation of a trivial movement of code to pmc_common.c, remove the
|
In preparation of a trivial movement of code to pmc_common.c, remove the
|
||||||
"static" keyword from the functions that will end up there, since they
|
"static" keyword from the functions that will end up there, since they
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From ba9c2ea0e1f7a96093bca1147d4745a7d0ce17b6 Mon Sep 17 00:00:00 2001
|
From ba9c2ea0e1f7a96093bca1147d4745a7d0ce17b6 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 14:34:19 -0300
|
Date: Mon, 12 Jun 2023 14:34:19 -0300
|
||||||
Subject: [PATCH 13/48] phc2sys: break out pmc code into pmc_common.c
|
Subject: [PATCH 13/49] phc2sys: break out pmc code into pmc_common.c
|
||||||
|
|
||||||
The code through which phc2sys sends various PTP management messages to
|
The code through which phc2sys sends various PTP management messages to
|
||||||
ptp4l via pmc can be reused.
|
ptp4l via pmc can be reused.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From c00e75286b2ad882cf8e89549ea58e438c877f95 Mon Sep 17 00:00:00 2001
|
From c00e75286b2ad882cf8e89549ea58e438c877f95 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 14:40:59 -0300
|
Date: Mon, 12 Jun 2023 14:40:59 -0300
|
||||||
Subject: [PATCH 14/48] Introduce the PMC agent module.
|
Subject: [PATCH 14/49] Introduce the PMC agent module.
|
||||||
|
|
||||||
The logic for placing PTP management queries migrated out of phc2sys into
|
The logic for placing PTP management queries migrated out of phc2sys into
|
||||||
pmc_common in order to be shared with other programs in the future. This
|
pmc_common in order to be shared with other programs in the future. This
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 82258917b8de7110545f3d4f99d3ac88a609f019 Mon Sep 17 00:00:00 2001
|
From 82258917b8de7110545f3d4f99d3ac88a609f019 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 14:47:36 -0300
|
Date: Mon, 12 Jun 2023 14:47:36 -0300
|
||||||
Subject: [PATCH 15/48] pmc_agent: Rename pmc_node to something more
|
Subject: [PATCH 15/49] pmc_agent: Rename pmc_node to something more
|
||||||
descriptive.
|
descriptive.
|
||||||
|
|
||||||
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From f6d7bb0a62f15fcca0343c42891f7e056f502949 Mon Sep 17 00:00:00 2001
|
From f6d7bb0a62f15fcca0343c42891f7e056f502949 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 14:55:29 -0300
|
Date: Mon, 12 Jun 2023 14:55:29 -0300
|
||||||
Subject: [PATCH 16/48] pmc_agent: Hide the implementation.
|
Subject: [PATCH 16/49] pmc_agent: Hide the implementation.
|
||||||
|
|
||||||
The PMC agent's implementation should not be exposed to its users. This
|
The PMC agent's implementation should not be exposed to its users. This
|
||||||
patch hides the details and provides a method to create an instance. In
|
patch hides the details and provides a method to create an instance. In
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 4ebb69f5c55e7f1f08d1a73df87d42fe70147ec9 Mon Sep 17 00:00:00 2001
|
From 4ebb69f5c55e7f1f08d1a73df87d42fe70147ec9 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 14:58:09 -0300
|
Date: Mon, 12 Jun 2023 14:58:09 -0300
|
||||||
Subject: [PATCH 17/48] Find a better home for the management TLV ID helper
|
Subject: [PATCH 17/49] Find a better home for the management TLV ID helper
|
||||||
function.
|
function.
|
||||||
|
|
||||||
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 6e4f8ea8531b7678a44a9b3ed021fda94eccdc27 Mon Sep 17 00:00:00 2001
|
From 6e4f8ea8531b7678a44a9b3ed021fda94eccdc27 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 14:59:57 -0300
|
Date: Mon, 12 Jun 2023 14:59:57 -0300
|
||||||
Subject: [PATCH 18/48] Find a better home for the management TLV data helper
|
Subject: [PATCH 18/49] Find a better home for the management TLV data helper
|
||||||
function.
|
function.
|
||||||
|
|
||||||
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 95e4983c9ab517b9dda1faf171721f0dd877e076 Mon Sep 17 00:00:00 2001
|
From 95e4983c9ab517b9dda1faf171721f0dd877e076 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:04:11 -0300
|
Date: Mon, 12 Jun 2023 15:04:11 -0300
|
||||||
Subject: [PATCH 19/48] Introduce error codes for the run_pmc method.
|
Subject: [PATCH 19/49] Introduce error codes for the run_pmc method.
|
||||||
|
|
||||||
The run_pmc function is used by several of the PMC agent methods, but it
|
The run_pmc function is used by several of the PMC agent methods, but it
|
||||||
breaks the pattern of returning zero on success. However, the user facing
|
breaks the pattern of returning zero on success. However, the user facing
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 8c1dd261683d27acba49e047d9f6da52dada3c98 Mon Sep 17 00:00:00 2001
|
From 8c1dd261683d27acba49e047d9f6da52dada3c98 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:08:01 -0300
|
Date: Mon, 12 Jun 2023 15:08:01 -0300
|
||||||
Subject: [PATCH 20/48] pmc_agent: Convert the subscribe method into the
|
Subject: [PATCH 20/49] pmc_agent: Convert the subscribe method into the
|
||||||
canonical form.
|
canonical form.
|
||||||
|
|
||||||
This patch renames the function to have the module prefix and corrects the
|
This patch renames the function to have the module prefix and corrects the
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 82a369b4fe44a7cea41fb0ccf408c02b1b6aa694 Mon Sep 17 00:00:00 2001
|
From 82a369b4fe44a7cea41fb0ccf408c02b1b6aa694 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:17:26 -0300
|
Date: Mon, 12 Jun 2023 15:17:26 -0300
|
||||||
Subject: [PATCH 21/48] pmc_agent: Simplify the update method.
|
Subject: [PATCH 21/49] pmc_agent: Simplify the update method.
|
||||||
|
|
||||||
The main method that causes the PMC agent to update its status takes a flag
|
The main method that causes the PMC agent to update its status takes a flag
|
||||||
that results in different behavior when push notifications are active.
|
that results in different behavior when push notifications are active.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 731e8938953e56578007a679dbaa29e9471650ac Mon Sep 17 00:00:00 2001
|
From 731e8938953e56578007a679dbaa29e9471650ac Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:18:36 -0300
|
Date: Mon, 12 Jun 2023 15:18:36 -0300
|
||||||
Subject: [PATCH 22/48] pmc_agent: Simplify logic in update method.
|
Subject: [PATCH 22/49] pmc_agent: Simplify logic in update method.
|
||||||
|
|
||||||
If the pmc pointer is not set, then there is no need to read the time only
|
If the pmc pointer is not set, then there is no need to read the time only
|
||||||
to later discard the result. This patch simplifies the flow by returning
|
to later discard the result. This patch simplifies the flow by returning
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 357e24c897e1e2d29cf011b3a38c3a6b2a7943c3 Mon Sep 17 00:00:00 2001
|
From 357e24c897e1e2d29cf011b3a38c3a6b2a7943c3 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:33:43 -0300
|
Date: Mon, 12 Jun 2023 15:33:43 -0300
|
||||||
Subject: [PATCH 23/48] pmc_agent: Remove bogus comparison between last update
|
Subject: [PATCH 23/49] pmc_agent: Remove bogus comparison between last update
|
||||||
and now.
|
and now.
|
||||||
|
|
||||||
The monotonic clock can never go backwards. If you take T1 and later T2
|
The monotonic clock can never go backwards. If you take T1 and later T2
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From d5421e4d4d86907648a59810ab9c27e739591971 Mon Sep 17 00:00:00 2001
|
From d5421e4d4d86907648a59810ab9c27e739591971 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:35:23 -0300
|
Date: Mon, 12 Jun 2023 15:35:23 -0300
|
||||||
Subject: [PATCH 24/48] pmc_agent: Perform time comparison using positive
|
Subject: [PATCH 24/49] pmc_agent: Perform time comparison using positive
|
||||||
logic.
|
logic.
|
||||||
|
|
||||||
In the update_pmc_node() method, reduce the expression
|
In the update_pmc_node() method, reduce the expression
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From a304d4df86a76c187fc7074755fe9b5ad349efbe Mon Sep 17 00:00:00 2001
|
From a304d4df86a76c187fc7074755fe9b5ad349efbe Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:36:38 -0300
|
Date: Mon, 12 Jun 2023 15:36:38 -0300
|
||||||
Subject: [PATCH 25/48] pmc_agent: Rename the update method and attempt to
|
Subject: [PATCH 25/49] pmc_agent: Rename the update method and attempt to
|
||||||
document it.
|
document it.
|
||||||
|
|
||||||
This patch renames the function to have the module prefix and tries to
|
This patch renames the function to have the module prefix and tries to
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 5aacbe319db97907a15741005e2790bbf4c742a0 Mon Sep 17 00:00:00 2001
|
From 5aacbe319db97907a15741005e2790bbf4c742a0 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 15:37:46 -0300
|
Date: Mon, 12 Jun 2023 15:37:46 -0300
|
||||||
Subject: [PATCH 26/48] phc2sys: Fix null pointer de-reference in manual mode.
|
Subject: [PATCH 26/49] phc2sys: Fix null pointer de-reference in manual mode.
|
||||||
|
|
||||||
If both the -w and -O command line options are specified (or when
|
If both the -w and -O command line options are specified (or when
|
||||||
using -w when both source and destination clocks are PHCs), then
|
using -w when both source and destination clocks are PHCs), then
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From b8188a4fd51bc8983e5d19f18fe37b8ca39d03a6 Mon Sep 17 00:00:00 2001
|
From b8188a4fd51bc8983e5d19f18fe37b8ca39d03a6 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 17:20:04 -0300
|
Date: Mon, 12 Jun 2023 17:20:04 -0300
|
||||||
Subject: [PATCH 27/48] pmc_agent: Convert the method that queries TAI-UTC
|
Subject: [PATCH 27/49] pmc_agent: Convert the method that queries TAI-UTC
|
||||||
offset into the canonical form.
|
offset into the canonical form.
|
||||||
|
|
||||||
This patch renames the function to have the module prefix and corrects the
|
This patch renames the function to have the module prefix and corrects the
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From acdf74df9fa69b81c1e9332f10d4efcd3e9bae48 Mon Sep 17 00:00:00 2001
|
From acdf74df9fa69b81c1e9332f10d4efcd3e9bae48 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 17:23:29 -0300
|
Date: Mon, 12 Jun 2023 17:23:29 -0300
|
||||||
Subject: [PATCH 28/48] pmc_agent: Convert the method that queries the port
|
Subject: [PATCH 28/49] pmc_agent: Convert the method that queries the port
|
||||||
properties.
|
properties.
|
||||||
|
|
||||||
Prefix the function with the module name and correct the return code
|
Prefix the function with the module name and correct the return code
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 3e6dd047083625ca03df9b4bbdc781e7dd079ff2 Mon Sep 17 00:00:00 2001
|
From 3e6dd047083625ca03df9b4bbdc781e7dd079ff2 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 17:29:30 -0300
|
Date: Mon, 12 Jun 2023 17:29:30 -0300
|
||||||
Subject: [PATCH 29/48] pmc_agent: Generalize the method that queries the local
|
Subject: [PATCH 29/49] pmc_agent: Generalize the method that queries the local
|
||||||
clock identity.
|
clock identity.
|
||||||
|
|
||||||
When started in automatic mode, the phc2sys program first queries the
|
When started in automatic mode, the phc2sys program first queries the
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From d3b877cae9576beddb00d4c5db67bf49c944b222 Mon Sep 17 00:00:00 2001
|
From d3b877cae9576beddb00d4c5db67bf49c944b222 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 17:30:57 -0300
|
Date: Mon, 12 Jun 2023 17:30:57 -0300
|
||||||
Subject: [PATCH 30/48] pmc_agent: Simplify the method that gets of the number
|
Subject: [PATCH 30/49] pmc_agent: Simplify the method that gets of the number
|
||||||
of local ports.
|
of local ports.
|
||||||
|
|
||||||
The number of ports is already available in the cached default data
|
The number of ports is already available in the cached default data
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 156728d14591dd2b3131bcff49959e806523c1bb Mon Sep 17 00:00:00 2001
|
From 156728d14591dd2b3131bcff49959e806523c1bb Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 17:32:27 -0300
|
Date: Mon, 12 Jun 2023 17:32:27 -0300
|
||||||
Subject: [PATCH 31/48] pmc_agent: Let the update method poll for push events.
|
Subject: [PATCH 31/49] pmc_agent: Let the update method poll for push events.
|
||||||
|
|
||||||
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 0e504e57af6c576202bbe1abe5a99eb24a981b73 Mon Sep 17 00:00:00 2001
|
From 0e504e57af6c576202bbe1abe5a99eb24a981b73 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 17:51:10 -0300
|
Date: Mon, 12 Jun 2023 17:51:10 -0300
|
||||||
Subject: [PATCH 32/48] phc2sys: Fix regression in the automatic mode.
|
Subject: [PATCH 32/49] phc2sys: Fix regression in the automatic mode.
|
||||||
|
|
||||||
Commit ac7d69bbc476 ("pmc_agent: Convert the method that queries the
|
Commit ac7d69bbc476 ("pmc_agent: Convert the method that queries the
|
||||||
port properties.") had the well meant intention of the cleaning up the
|
port properties.") had the well meant intention of the cleaning up the
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 06a6734e3350e4020b4bb7b24a15d43aa42b4ca7 Mon Sep 17 00:00:00 2001
|
From 06a6734e3350e4020b4bb7b24a15d43aa42b4ca7 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 17:57:11 -0300
|
Date: Mon, 12 Jun 2023 17:57:11 -0300
|
||||||
Subject: [PATCH 33/48] Implement push notification for TIME_STATUS_NP
|
Subject: [PATCH 33/49] Implement push notification for TIME_STATUS_NP
|
||||||
|
|
||||||
Subscribers to NOTIFY_TIME_SYNC will be notified on every clock
|
Subscribers to NOTIFY_TIME_SYNC will be notified on every clock
|
||||||
synchronization.
|
synchronization.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From babbe47ab091071e16fcd527bf1aad06e5aec377 Mon Sep 17 00:00:00 2001
|
From babbe47ab091071e16fcd527bf1aad06e5aec377 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 18:16:31 -0300
|
Date: Mon, 12 Jun 2023 18:16:31 -0300
|
||||||
Subject: [PATCH 34/48] clock: Rename UDS variables to read-write.
|
Subject: [PATCH 34/49] clock: Rename UDS variables to read-write.
|
||||||
|
|
||||||
In preparation for a new read-only UDS port, rename variables of the
|
In preparation for a new read-only UDS port, rename variables of the
|
||||||
current UDS port to make it clear it is read-write, as opposed to
|
current UDS port to make it clear it is read-write, as opposed to
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 4af24949b94eda84b4b74d77b9164cf3fe0eccf9 Mon Sep 17 00:00:00 2001
|
From 4af24949b94eda84b4b74d77b9164cf3fe0eccf9 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 18:18:29 -0300
|
Date: Mon, 12 Jun 2023 18:18:29 -0300
|
||||||
Subject: [PATCH 35/48] clock: Add read-only UDS port for monitoring.
|
Subject: [PATCH 35/49] clock: Add read-only UDS port for monitoring.
|
||||||
|
|
||||||
Add a second UDS port to allow untrusted applications to monitor ptp4l.
|
Add a second UDS port to allow untrusted applications to monitor ptp4l.
|
||||||
On this "read-only" UDS port disable non-GET actions and forwarding.
|
On this "read-only" UDS port disable non-GET actions and forwarding.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 019f50868bc4300c591025d364898035ea9817b9 Mon Sep 17 00:00:00 2001
|
From 019f50868bc4300c591025d364898035ea9817b9 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 12 Jun 2023 18:20:50 -0300
|
Date: Mon, 12 Jun 2023 18:20:50 -0300
|
||||||
Subject: [PATCH 36/48] Rename management ID macros.
|
Subject: [PATCH 36/49] Rename management ID macros.
|
||||||
|
|
||||||
The management ID macros are prefixed with TLV. This is confusing,
|
The management ID macros are prefixed with TLV. This is confusing,
|
||||||
because the true TLV tags have the same prefix. Make the code more
|
because the true TLV tags have the same prefix. Make the code more
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 2a6ddfe1b9700ce8e0c62da8a7a4f2edcd4e1cad Mon Sep 17 00:00:00 2001
|
From 2a6ddfe1b9700ce8e0c62da8a7a4f2edcd4e1cad Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Sun, 18 Jun 2023 20:58:34 -0300
|
Date: Sun, 18 Jun 2023 20:58:34 -0300
|
||||||
Subject: [PATCH 37/48] Enhance phc2sys to accept multiple ptp4l inputs
|
Subject: [PATCH 37/49] Enhance phc2sys to accept multiple ptp4l inputs
|
||||||
|
|
||||||
A new configuration option called ha_enabled was created. When it is set 1
|
A new configuration option called ha_enabled was created. When it is set 1
|
||||||
multiple ptp4l inputs are accepted and the high availability algorithms
|
multiple ptp4l inputs are accepted and the high availability algorithms
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 142b30b1f996a5bd48f0edc9b5fb0f51af0b97fd Mon Sep 17 00:00:00 2001
|
From 142b30b1f996a5bd48f0edc9b5fb0f51af0b97fd Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Tue, 4 Jul 2023 17:27:50 -0300
|
Date: Tue, 4 Jul 2023 17:27:50 -0300
|
||||||
Subject: [PATCH 38/48] Best source selection algorithm
|
Subject: [PATCH 38/49] Best source selection algorithm
|
||||||
|
|
||||||
An algorithm to select the best available clock and use it
|
An algorithm to select the best available clock and use it
|
||||||
as clock source.
|
as clock source.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From c61a91f5da1c07a783b0922e713c9f1d32adfa80 Mon Sep 17 00:00:00 2001
|
From c61a91f5da1c07a783b0922e713c9f1d32adfa80 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Sat, 8 Jul 2023 19:02:50 -0300
|
Date: Sat, 8 Jul 2023 19:02:50 -0300
|
||||||
Subject: [PATCH 39/48] Select best source clock after state changes
|
Subject: [PATCH 39/49] Select best source clock after state changes
|
||||||
|
|
||||||
During operation, the clock states might change and require a new clock
|
During operation, the clock states might change and require a new clock
|
||||||
to be selected. For example, the local clock class of the current active
|
to be selected. For example, the local clock class of the current active
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 7d5061d971a8abc2ba8443edccde38e9a7a6f0ce Mon Sep 17 00:00:00 2001
|
From 7d5061d971a8abc2ba8443edccde38e9a7a6f0ce Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Wed, 26 Jul 2023 15:08:15 -0300
|
Date: Wed, 26 Jul 2023 15:08:15 -0300
|
||||||
Subject: [PATCH 40/48] Forced lock a clock source in configuration
|
Subject: [PATCH 40/49] Forced lock a clock source in configuration
|
||||||
|
|
||||||
To help on maintenance and debuging tasks was implemented a configuration
|
To help on maintenance and debuging tasks was implemented a configuration
|
||||||
to forced lock to a single clock. It disables the automatic clock
|
to forced lock to a single clock. It disables the automatic clock
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From fce993dd36e481aace337a62ff81331cd2411bec Mon Sep 17 00:00:00 2001
|
From fce993dd36e481aace337a62ff81331cd2411bec Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Thu, 27 Jul 2023 14:22:47 -0300
|
Date: Thu, 27 Jul 2023 14:22:47 -0300
|
||||||
Subject: [PATCH 41/48] HA phc2sys com socket
|
Subject: [PATCH 41/49] HA phc2sys com socket
|
||||||
|
|
||||||
A new communication path was created to retrieve status and to control
|
A new communication path was created to retrieve status and to control
|
||||||
the high availability algorithm.
|
the high availability algorithm.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From e77783a9873baeeda277cfa59059021ce121a693 Mon Sep 17 00:00:00 2001
|
From e77783a9873baeeda277cfa59059021ce121a693 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Fri, 4 Aug 2023 15:44:12 -0300
|
Date: Fri, 4 Aug 2023 15:44:12 -0300
|
||||||
Subject: [PATCH 42/48] Commands 'enable lock' and 'disable lock.
|
Subject: [PATCH 42/49] Commands 'enable lock' and 'disable lock.
|
||||||
|
|
||||||
The 'enable lock' command is used to lock to a single clock
|
The 'enable lock' command is used to lock to a single clock
|
||||||
source and disable the HA clock selection algorithm. The
|
source and disable the HA clock selection algorithm. The
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 27b5c6afff470053b30ade14537be43f1c1c376d Mon Sep 17 00:00:00 2001
|
From 27b5c6afff470053b30ade14537be43f1c1c376d Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Fri, 4 Aug 2023 19:01:57 -0300
|
Date: Fri, 4 Aug 2023 19:01:57 -0300
|
||||||
Subject: [PATCH 43/48] Commands 'enable source' and 'disable source'.
|
Subject: [PATCH 43/49] Commands 'enable source' and 'disable source'.
|
||||||
|
|
||||||
These commands controls the list of clocks available to clock
|
These commands controls the list of clocks available to clock
|
||||||
selection algorithm.
|
selection algorithm.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 2d40cc7cf52bbf054856c34902e4bda9f13ebb79 Mon Sep 17 00:00:00 2001
|
From 2d40cc7cf52bbf054856c34902e4bda9f13ebb79 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 7 Aug 2023 14:55:12 -0300
|
Date: Mon, 7 Aug 2023 14:55:12 -0300
|
||||||
Subject: [PATCH 44/48] Stream type phc2sys com socket
|
Subject: [PATCH 44/49] Stream type phc2sys com socket
|
||||||
|
|
||||||
The type of the socket was changed from datagram to stream.
|
The type of the socket was changed from datagram to stream.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 2896553d6dfa975102cba4cc45105b000ec0ae52 Mon Sep 17 00:00:00 2001
|
From 2896553d6dfa975102cba4cc45105b000ec0ae52 Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Tue, 8 Aug 2023 13:10:50 -0300
|
Date: Tue, 8 Aug 2023 13:10:50 -0300
|
||||||
Subject: [PATCH 45/48] Functions starts_with and str_at_column
|
Subject: [PATCH 45/49] Functions starts_with and str_at_column
|
||||||
|
|
||||||
Renaming starts_with and str_at_column functions to match ptp4l code
|
Renaming starts_with and str_at_column functions to match ptp4l code
|
||||||
style.
|
style.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From f480fb54182da36baeb35bac90154abafcaf854a Mon Sep 17 00:00:00 2001
|
From f480fb54182da36baeb35bac90154abafcaf854a Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Tue, 8 Aug 2023 14:06:55 -0300
|
Date: Tue, 8 Aug 2023 14:06:55 -0300
|
||||||
Subject: [PATCH 46/48] Robustness improvements to phc2sys socket
|
Subject: [PATCH 46/49] Robustness improvements to phc2sys socket
|
||||||
|
|
||||||
When phc2sys abnormally exits the socket file might remain created.
|
When phc2sys abnormally exits the socket file might remain created.
|
||||||
To avoid error when phc2sys is relaunched, the exixting file is
|
To avoid error when phc2sys is relaunched, the exixting file is
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From c5e1599748877f16bfd1dea6910f6b8b57be7ddd Mon Sep 17 00:00:00 2001
|
From c5e1599748877f16bfd1dea6910f6b8b57be7ddd Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 7 Aug 2023 18:19:37 -0300
|
Date: Mon, 7 Aug 2023 18:19:37 -0300
|
||||||
Subject: [PATCH 47/48] phc2sys without -w option.
|
Subject: [PATCH 47/49] phc2sys without -w option.
|
||||||
|
|
||||||
Fix bad clock and pmc initialization when -w command argument
|
Fix bad clock and pmc initialization when -w command argument
|
||||||
is not provided.
|
is not provided.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From c9a2a5398bace2f000ecc5ae6185b331cefa3a2c Mon Sep 17 00:00:00 2001
|
From c9a2a5398bace2f000ecc5ae6185b331cefa3a2c Mon Sep 17 00:00:00 2001
|
||||||
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
Date: Mon, 21 Aug 2023 14:28:20 -0300
|
Date: Mon, 21 Aug 2023 14:28:20 -0300
|
||||||
Subject: [PATCH] HA domain number
|
Subject: [PATCH 48/49] HA domain number
|
||||||
|
|
||||||
Support multiple domain numbers for each uds socket used in HA phc2sys.
|
Support multiple domain numbers for each uds socket used in HA phc2sys.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,263 @@
|
||||||
|
From 52c6fd7f9212902a2c5195e5a7b2c19a5956633f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
|
Date: Wed, 23 Aug 2023 19:18:08 -0300
|
||||||
|
Subject: [PATCH 49/49] GM clock accuracy and offset scaled log variance
|
||||||
|
|
||||||
|
Include GM clock quality parameters clock accuracy and offset
|
||||||
|
scaled log variance to the clock selection algorithm. Those
|
||||||
|
checks together with clock class can check the remote clock
|
||||||
|
quality, enhancing T-BC support.
|
||||||
|
|
||||||
|
The existing ha_min_local_clockClass, ha_min_clockAccuracy,
|
||||||
|
ha_min_gm_offsetScaledLogVariance and ha_min_gm_ClockClass were
|
||||||
|
renamed. Now their names are ha_max* because they represent the
|
||||||
|
maximum value the clock can present to be considered valid.
|
||||||
|
|
||||||
|
The existing ha_timeTraceable and ha_frequencyTraceable were
|
||||||
|
renamed. Now their names contains gm to explitly show they
|
||||||
|
correspond to the GM time and frequency traceability.
|
||||||
|
|
||||||
|
The ha_min_local_clockClass is now ha_max_local_clockClass, and
|
||||||
|
its default value was changed to 255.
|
||||||
|
|
||||||
|
The ha_min_clockAccuracy is now ha_max_local_clockAccuracy, its
|
||||||
|
name now contains the local key to differentiate from the GM
|
||||||
|
configuration option.
|
||||||
|
|
||||||
|
The ha_min_offsetScaledLogVariance is now
|
||||||
|
ha_max_local_offsetScaledLogVar. Its name now contains the
|
||||||
|
local key to differentiate from the GM configuration option,
|
||||||
|
and the word Variace was shortened Var due to the size limit
|
||||||
|
of the name.
|
||||||
|
|
||||||
|
The ha_min_gm_ClockClass is now ha_max_gm_clockClass, and its
|
||||||
|
default value was changed to 6.
|
||||||
|
|
||||||
|
The ha_max_local_clockClass and ha_max_gm_clockClass default values
|
||||||
|
were changed to make easier to configure both T-GM and T-BC
|
||||||
|
scenarios.
|
||||||
|
|
||||||
|
The new ha_max_gm_clockAccuracy option is a global setting for the
|
||||||
|
maximum GM clock accuracy requirement. It ranges from 0x00 to 0xff
|
||||||
|
and its default is 0xfe.
|
||||||
|
|
||||||
|
The new ha_max_gm_offsetScaledLogVar option is a global setting for
|
||||||
|
the maximum GM offset scaled log variance requirement. It ranges
|
||||||
|
from 0x0000 to 0xffff and its default is 0xffff.
|
||||||
|
|
||||||
|
The status command now includes the GM clock accuracy and offset scaled
|
||||||
|
log variance values.
|
||||||
|
|
||||||
|
Test plan: new GM fields
|
||||||
|
PASS Verify the clock is discarded because GM clock accuracy is out of
|
||||||
|
requirement
|
||||||
|
PASS Verify the clock is discarded because GM offset scaled log
|
||||||
|
variance is out of requirement
|
||||||
|
PASS Verify the status command shows the new fields gm.clockAcc and
|
||||||
|
gm.offset
|
||||||
|
|
||||||
|
Test plan: new default values
|
||||||
|
PASS Verify the ha_max_gm_ClockClass and ha_max_local_clockClass
|
||||||
|
default values.
|
||||||
|
|
||||||
|
Test plan: renamed fields
|
||||||
|
PASS Verify tha a configuration containing all HA configuration options
|
||||||
|
is accepted.
|
||||||
|
|
||||||
|
Signed-off-by: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
||||||
|
---
|
||||||
|
config.c | 15 +++++------
|
||||||
|
phc2sys.c | 75 +++++++++++++++++++++++++++++++++++--------------------
|
||||||
|
2 files changed, 56 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config.c b/config.c
|
||||||
|
index 1b7ed51..d405589 100644
|
||||||
|
--- a/config.c
|
||||||
|
+++ b/config.c
|
||||||
|
@@ -252,15 +252,17 @@ struct config_item config_tab[] = {
|
||||||
|
GLOB_ITEM_INT("gmCapable", 1, 0, 1),
|
||||||
|
PORT_ITEM_INT("ha_domainNumber", 0, 0, 127),
|
||||||
|
GLOB_ITEM_INT("ha_enabled", 0, 0, 1),
|
||||||
|
- GLOB_ITEM_INT("ha_frequencyTraceable", 0, 0, 1),
|
||||||
|
- GLOB_ITEM_INT("ha_min_clockAccuracy", 0xfe, 0, 0xff),
|
||||||
|
- GLOB_ITEM_INT("ha_min_gm_ClockClass", 135, 6, 255),
|
||||||
|
- GLOB_ITEM_INT("ha_min_local_clockClass", 135, 6, 255),
|
||||||
|
- GLOB_ITEM_INT("ha_min_offsetScaledLogVariance", 65535, 0, 65535),
|
||||||
|
+ GLOB_ITEM_INT("ha_gm_frequencyTraceable", 0, 0, 1),
|
||||||
|
+ GLOB_ITEM_INT("ha_gm_timeTraceable", 0, 0, 1),
|
||||||
|
+ GLOB_ITEM_INT("ha_max_gm_clockAccuracy", 0xfe, 0, 0xff),
|
||||||
|
+ GLOB_ITEM_INT("ha_max_gm_clockClass", 6, 6, 255),
|
||||||
|
+ GLOB_ITEM_INT("ha_max_gm_offsetScaledLogVar", 0xffff, 0, 0xffff),
|
||||||
|
+ GLOB_ITEM_INT("ha_max_local_clockAccuracy", 0xfe, 0, 0xff),
|
||||||
|
+ GLOB_ITEM_INT("ha_max_local_clockClass", 255, 6, 255),
|
||||||
|
+ GLOB_ITEM_INT("ha_max_local_offsetScaledLogVar", 0xffff, 0, 0xffff),
|
||||||
|
GLOB_ITEM_STR("ha_phc2sys_com_socket", "/var/run/phc2sys-phc-inst1"),
|
||||||
|
PORT_ITEM_INT("ha_priority", 0, 0, 254),
|
||||||
|
PORT_ITEM_INT("ha_stability_timer", 0, 0, INT_MAX),
|
||||||
|
- GLOB_ITEM_INT("ha_timeTraceable", 0, 0, 1),
|
||||||
|
PORT_ITEM_STR("ha_uds_address", "/var/run/ptp4l"),
|
||||||
|
GLOB_ITEM_ENU("hwts_filter", HWTS_FILTER_NORMAL, hwts_filter_enu),
|
||||||
|
PORT_ITEM_INT("hybrid_e2e", 0, 0, 1),
|
||||||
|
@@ -1032,7 +1034,6 @@ bool config_is_option_set(struct config *cfg, const char *section,
|
||||||
|
} else {
|
||||||
|
ci = config_global_item(cfg, option);
|
||||||
|
}
|
||||||
|
- fprintf(stderr, "section: %s option: %s ci:%p\n", section, option, ci);
|
||||||
|
return !!ci;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/phc2sys.c b/phc2sys.c
|
||||||
|
index be7b07a..1dd8c0f 100644
|
||||||
|
--- a/phc2sys.c
|
||||||
|
+++ b/phc2sys.c
|
||||||
|
@@ -306,9 +306,9 @@ static size_t clock_count_enabled_sources(struct phc2sys_private *priv,
|
||||||
|
static bool clock_match_ha_dds_requirements(struct clock *clock, struct config *cfg)
|
||||||
|
{
|
||||||
|
/* get requirements */
|
||||||
|
- int local_clock_class, min_local_clock_class = config_get_int(cfg, NULL, "ha_min_local_clockClass");
|
||||||
|
- unsigned int clock_accuracy, min_clock_accuracy = config_get_int(cfg, NULL, "ha_min_clockAccuracy");
|
||||||
|
- unsigned int offset, min_offset_scaled_log_variance = config_get_int(cfg, NULL, "ha_min_offsetScaledLogVariance");
|
||||||
|
+ int local_clock_class, max_local_clock_class = config_get_int(cfg, NULL, "ha_max_local_clockClass");
|
||||||
|
+ unsigned int clock_accuracy, max_clock_accuracy = config_get_int(cfg, NULL, "ha_max_local_clockAccuracy");
|
||||||
|
+ unsigned int offset, max_offset_scaled_log_variance = config_get_int(cfg, NULL, "ha_max_local_offsetScaledLogVar");
|
||||||
|
|
||||||
|
/* sanity check */
|
||||||
|
if (clock->node == NULL) {
|
||||||
|
@@ -321,27 +321,27 @@ static bool clock_match_ha_dds_requirements(struct clock *clock, struct config *
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* min local clock class (lower is better) */
|
||||||
|
+ /* max local clock class (lower is better) */
|
||||||
|
local_clock_class = clock->node->dds.clockQuality.clockClass;
|
||||||
|
- if (local_clock_class > min_local_clock_class) {
|
||||||
|
- pr_debug("clock %s local clock class %d > min local clock class %d",
|
||||||
|
- clock->device, local_clock_class, min_local_clock_class);
|
||||||
|
+ if (local_clock_class > max_local_clock_class) {
|
||||||
|
+ pr_debug("clock %s local clock class %d > max local clock class %d",
|
||||||
|
+ clock->device, local_clock_class, max_local_clock_class);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* min clock accuracy (lower is better) */
|
||||||
|
+ /* max clock accuracy (lower is better) */
|
||||||
|
clock_accuracy = clock->node->dds.clockQuality.clockAccuracy;
|
||||||
|
- if (clock_accuracy > min_clock_accuracy) {
|
||||||
|
- pr_debug("clock %s clock accuracy %d > min clock accuracy %d",
|
||||||
|
- clock->device, clock_accuracy, min_clock_accuracy);
|
||||||
|
+ if (clock_accuracy > max_clock_accuracy) {
|
||||||
|
+ pr_debug("clock %s clock accuracy %d > max clock accuracy %d",
|
||||||
|
+ clock->device, clock_accuracy, max_clock_accuracy);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* min offset scaled log variance (lower is better) */
|
||||||
|
+ /* max offset scaled log variance (lower is better) */
|
||||||
|
offset = clock->node->dds.clockQuality.offsetScaledLogVariance;
|
||||||
|
- if (offset > min_offset_scaled_log_variance) {
|
||||||
|
- pr_debug("clock %s offset scaled log variance 0x%x > min offset 0x%x",
|
||||||
|
- clock->device, offset, min_offset_scaled_log_variance);
|
||||||
|
+ if (offset > max_offset_scaled_log_variance) {
|
||||||
|
+ pr_debug("clock %s offset scaled log variance 0x%x > max offset 0x%x",
|
||||||
|
+ clock->device, offset, max_offset_scaled_log_variance);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -351,8 +351,8 @@ static bool clock_match_ha_dds_requirements(struct clock *clock, struct config *
|
||||||
|
static bool clock_match_ha_tpds_requirements(struct clock *clock, struct config *cfg)
|
||||||
|
{
|
||||||
|
/* get requirements */
|
||||||
|
- bool check_time_traceable = config_get_int(cfg, NULL, "ha_timeTraceable");
|
||||||
|
- bool check_freq_traceable = config_get_int(cfg, NULL, "ha_frequencyTraceable");
|
||||||
|
+ bool check_time_traceable = config_get_int(cfg, NULL, "ha_gm_timeTraceable");
|
||||||
|
+ bool check_freq_traceable = config_get_int(cfg, NULL, "ha_gm_frequencyTraceable");
|
||||||
|
|
||||||
|
/* sanity check */
|
||||||
|
if (clock->node == NULL) {
|
||||||
|
@@ -378,7 +378,9 @@ static bool clock_match_ha_tpds_requirements(struct clock *clock, struct config
|
||||||
|
static bool clock_match_ha_pds_requirements(struct clock *clock, struct config *cfg)
|
||||||
|
{
|
||||||
|
/* get requirements */
|
||||||
|
- int gm_clock_class, min_gm_clock_class = config_get_int(cfg, NULL, "ha_min_gm_ClockClass");
|
||||||
|
+ int gm_clock_class, max_gm_clock_class = config_get_int(cfg, NULL, "ha_max_gm_clockClass");
|
||||||
|
+ unsigned int clock_accuracy, max_clock_accuracy = config_get_int(cfg, NULL, "ha_max_gm_clockAccuracy");
|
||||||
|
+ unsigned int offset, max_offset_scaled_log_variance = config_get_int(cfg, NULL, "ha_max_gm_offsetScaledLogVar");
|
||||||
|
|
||||||
|
/* sanity check */
|
||||||
|
if (clock->node == NULL) {
|
||||||
|
@@ -391,11 +393,27 @@ static bool clock_match_ha_pds_requirements(struct clock *clock, struct config *
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* min gm clock class (lower is better) */
|
||||||
|
+ /* max gm clock class (lower is better) */
|
||||||
|
gm_clock_class = clock->node->pds.grandmasterClockQuality.clockClass;
|
||||||
|
- if (gm_clock_class > min_gm_clock_class) {
|
||||||
|
- pr_debug("clock %s GM clock class %d > min clock class %d",
|
||||||
|
- clock->device, gm_clock_class, min_gm_clock_class);
|
||||||
|
+ if (gm_clock_class > max_gm_clock_class) {
|
||||||
|
+ pr_debug("clock %s GM clock class %d > max clock class %d",
|
||||||
|
+ clock->device, gm_clock_class, max_gm_clock_class);
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* max clock accuracy (lower is better) */
|
||||||
|
+ clock_accuracy = clock->node->pds.grandmasterClockQuality.clockAccuracy;
|
||||||
|
+ if (clock_accuracy > max_clock_accuracy) {
|
||||||
|
+ pr_debug("clock %s GM clock accuracy %d > max clock accuracy %d",
|
||||||
|
+ clock->device, clock_accuracy, max_clock_accuracy);
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* max offset scaled log variance (lower is better) */
|
||||||
|
+ offset = clock->node->pds.grandmasterClockQuality.offsetScaledLogVariance;
|
||||||
|
+ if (offset > max_offset_scaled_log_variance) {
|
||||||
|
+ pr_debug("clock %s GM offset scaled log variance 0x%x > max offset 0x%x",
|
||||||
|
+ clock->device, offset, max_offset_scaled_log_variance);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -411,8 +429,8 @@ static int clock_available_ha_src_clocks(struct phc2sys_private *priv, struct co
|
||||||
|
|
||||||
|
LIST_INIT(available_clocks);
|
||||||
|
|
||||||
|
- check_time_traceable = config_get_int(cfg, NULL, "ha_timeTraceable");
|
||||||
|
- check_freq_traceable = config_get_int(cfg, NULL, "ha_frequencyTraceable");
|
||||||
|
+ check_time_traceable = config_get_int(cfg, NULL, "ha_gm_timeTraceable");
|
||||||
|
+ check_freq_traceable = config_get_int(cfg, NULL, "ha_gm_frequencyTraceable");
|
||||||
|
|
||||||
|
LIST_FOREACH(clock, &priv->clocks, list) {
|
||||||
|
pr_debug("clock %s state %d", clock->device, clock->state);
|
||||||
|
@@ -1288,7 +1306,7 @@ static int ha_handle_status_msg(struct phc2sys_private *priv, char *response,
|
||||||
|
/* header */
|
||||||
|
curlen = snprintf(response, resplen,
|
||||||
|
"act interface priority clockClass clockAcc offset time freq "
|
||||||
|
- "gm.clockClass\n\n");
|
||||||
|
+ "gm.clockClass gm.clockAcc gm.offset\n\n");
|
||||||
|
|
||||||
|
LIST_FOREACH(clock, &priv->clocks, list) {
|
||||||
|
|
||||||
|
@@ -1301,7 +1319,8 @@ static int ha_handle_status_msg(struct phc2sys_private *priv, char *response,
|
||||||
|
continue;
|
||||||
|
|
||||||
|
curlen += snprintf(response + curlen, resplen - curlen,
|
||||||
|
- " %c %9s %8d %10d 0x%2x 0x%4x %s %s %d\n",
|
||||||
|
+ " %c %9s %8d %10d 0x%2x 0x%4x %s %s %13d "
|
||||||
|
+ " 0x%2x 0x%4x\n",
|
||||||
|
(priv->master == clock) ? '*' :
|
||||||
|
(priv->better == clock) ? '-' :
|
||||||
|
(!clock->enabled) ? 'x' : ' ',
|
||||||
|
@@ -1311,7 +1330,9 @@ static int ha_handle_status_msg(struct phc2sys_private *priv, char *response,
|
||||||
|
clock->node->dds.clockQuality.offsetScaledLogVariance,
|
||||||
|
clock->node->utc_offset_traceable ? "yes" : "no ",
|
||||||
|
clock->node->freq_traceable ? "yes" : "no ",
|
||||||
|
- clock->node->pds.grandmasterClockQuality.clockClass);
|
||||||
|
+ clock->node->pds.grandmasterClockQuality.clockClass,
|
||||||
|
+ clock->node->pds.grandmasterClockQuality.clockAccuracy,
|
||||||
|
+ clock->node->pds.grandmasterClockQuality.offsetScaledLogVariance);
|
||||||
|
}
|
||||||
|
|
||||||
|
curlen += snprintf(response + curlen, resplen - curlen,
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
|
@ -45,4 +45,5 @@
|
||||||
0045-Functions-starts_with-and-str_at_column.patch
|
0045-Functions-starts_with-and-str_at_column.patch
|
||||||
0046-Robustness-improvements-to-phc2sys-socket.patch
|
0046-Robustness-improvements-to-phc2sys-socket.patch
|
||||||
0047-phc2sys-without-w-option.patch
|
0047-phc2sys-without-w-option.patch
|
||||||
0048-HA-domain-number.patch
|
0048-HA-domain-number.patch
|
||||||
|
0049-GM-clock-accuracy-and-offset-scaled-log-variance.patch
|
Loading…
Reference in New Issue