net: gptp: Allow user to tweak priority1 and priority2 values
Instead of hardcoding the priority1 and priority2 values used in BMCA, let the user tweak the values via Kconfig. Fixes #28151 Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This commit is contained in:
parent
b22c95b746
commit
744fadc998
|
@ -34,7 +34,12 @@ extern "C" {
|
||||||
|
|
||||||
#define GPTP_PRIORITY1_NON_GM_CAPABLE 255
|
#define GPTP_PRIORITY1_NON_GM_CAPABLE 255
|
||||||
#define GPTP_PRIORITY1_GM_CAPABLE 248
|
#define GPTP_PRIORITY1_GM_CAPABLE 248
|
||||||
|
|
||||||
|
#if defined(CONFIG_NET_GPTP_BMCA_PRIORITY2)
|
||||||
|
#define GPTP_PRIORITY2_DEFAULT CONFIG_NET_GPTP_BMCA_PRIORITY2
|
||||||
|
#else
|
||||||
#define GPTP_PRIORITY2_DEFAULT 248
|
#define GPTP_PRIORITY2_DEFAULT 248
|
||||||
|
#endif
|
||||||
|
|
||||||
/** @endcond */
|
/** @endcond */
|
||||||
|
|
||||||
|
|
|
@ -198,6 +198,31 @@ config NET_GPTP_PATH_TRACE_ELEMENTS
|
||||||
Announce message. Each array element takes 8 bytes. If this value
|
Announce message. Each array element takes 8 bytes. If this value
|
||||||
is set to 8, then 8 * 8 = 64 bytes of memory is used.
|
is set to 8, then 8 * 8 = 64 bytes of memory is used.
|
||||||
|
|
||||||
|
config NET_GPTP_BMCA_PRIORITY1
|
||||||
|
int "BMCA priority1 value"
|
||||||
|
default 248 if NET_GPTP_GM_CAPABLE
|
||||||
|
default 255
|
||||||
|
range 0 255
|
||||||
|
help
|
||||||
|
The priority1 attribute of the local clock. It is used in the
|
||||||
|
Best Master Clock selection Algorithm (BMCA), lower values take
|
||||||
|
precedence. The default value is 255 if the device is non grand
|
||||||
|
master capable, and 248 if it is GM capable.
|
||||||
|
See Chapter 8.6.2.1 of IEEE 802.1AS for a more detailed description
|
||||||
|
of priority1. Note that if the system is non GM capable, then the
|
||||||
|
value 255 is used always and this setting is ignored.
|
||||||
|
|
||||||
|
config NET_GPTP_BMCA_PRIORITY2
|
||||||
|
int "BMCA priority2 value"
|
||||||
|
default 248
|
||||||
|
range 0 255
|
||||||
|
help
|
||||||
|
The priority2 attribute of the local clock. It is used in the BMCA
|
||||||
|
(Best Master Clock selection Algorithm), lower values take
|
||||||
|
precedence. The default value is 248.
|
||||||
|
See Chapter 8.6.2.5 of IEEE 802.1AS for a more detailed description
|
||||||
|
of priority2.
|
||||||
|
|
||||||
config NET_GPTP_STATISTICS
|
config NET_GPTP_STATISTICS
|
||||||
bool "Collect gPTP statistics"
|
bool "Collect gPTP statistics"
|
||||||
help
|
help
|
||||||
|
|
|
@ -383,7 +383,15 @@ static void gptp_init_clock_ds(void)
|
||||||
GPTP_OFFSET_SCALED_LOG_VAR_UNKNOWN;
|
GPTP_OFFSET_SCALED_LOG_VAR_UNKNOWN;
|
||||||
|
|
||||||
if (default_ds->gm_capable) {
|
if (default_ds->gm_capable) {
|
||||||
default_ds->priority1 = GPTP_PRIORITY1_GM_CAPABLE;
|
/* The priority1 value cannot be 255 for GM capable
|
||||||
|
* system.
|
||||||
|
*/
|
||||||
|
if (CONFIG_NET_GPTP_BMCA_PRIORITY1 ==
|
||||||
|
GPTP_PRIORITY1_NON_GM_CAPABLE) {
|
||||||
|
default_ds->priority1 = GPTP_PRIORITY1_GM_CAPABLE;
|
||||||
|
} else {
|
||||||
|
default_ds->priority1 = CONFIG_NET_GPTP_BMCA_PRIORITY1;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
default_ds->priority1 = GPTP_PRIORITY1_NON_GM_CAPABLE;
|
default_ds->priority1 = GPTP_PRIORITY1_NON_GM_CAPABLE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue