telecom: Add a configuration option for G.8275.portDS.localPriority.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
This commit is contained in:
		
							parent
							
								
									c7fb525721
								
							
						
					
					
						commit
						4545fd1150
					
				
							
								
								
									
										1
									
								
								config.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								config.c
									
									
									
									
									
								
							@ -193,6 +193,7 @@ struct config_item config_tab[] = {
 | 
				
			|||||||
	GLOB_ITEM_INT("free_running", 0, 0, 1),
 | 
						GLOB_ITEM_INT("free_running", 0, 0, 1),
 | 
				
			||||||
	PORT_ITEM_INT("freq_est_interval", 1, 0, INT_MAX),
 | 
						PORT_ITEM_INT("freq_est_interval", 1, 0, INT_MAX),
 | 
				
			||||||
	GLOB_ITEM_INT("G.8275.defaultDS.localPriority", 128, 1, UINT8_MAX),
 | 
						GLOB_ITEM_INT("G.8275.defaultDS.localPriority", 128, 1, UINT8_MAX),
 | 
				
			||||||
 | 
						PORT_ITEM_INT("G.8275.portDS.localPriority", 128, 1, UINT8_MAX),
 | 
				
			||||||
	GLOB_ITEM_INT("gmCapable", 1, 0, 1),
 | 
						GLOB_ITEM_INT("gmCapable", 1, 0, 1),
 | 
				
			||||||
	PORT_ITEM_INT("hybrid_e2e", 0, 0, 1),
 | 
						PORT_ITEM_INT("hybrid_e2e", 0, 0, 1),
 | 
				
			||||||
	PORT_ITEM_INT("ignore_transport_specific", 0, 0, 1),
 | 
						PORT_ITEM_INT("ignore_transport_specific", 0, 0, 1),
 | 
				
			||||||
 | 
				
			|||||||
@ -28,6 +28,7 @@ syncReceiptTimeout	0
 | 
				
			|||||||
delayAsymmetry		0
 | 
					delayAsymmetry		0
 | 
				
			||||||
fault_reset_interval	4
 | 
					fault_reset_interval	4
 | 
				
			||||||
neighborPropDelayThresh	20000000
 | 
					neighborPropDelayThresh	20000000
 | 
				
			||||||
 | 
					G.8275.portDS.localPriority	128
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Run time options
 | 
					# Run time options
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								gPTP.cfg
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								gPTP.cfg
									
									
									
									
									
								
							@ -26,6 +26,7 @@ delayAsymmetry		0
 | 
				
			|||||||
fault_reset_interval	4
 | 
					fault_reset_interval	4
 | 
				
			||||||
neighborPropDelayThresh	800
 | 
					neighborPropDelayThresh	800
 | 
				
			||||||
min_neighbor_prop_delay	-20000000
 | 
					min_neighbor_prop_delay	-20000000
 | 
				
			||||||
 | 
					G.8275.portDS.localPriority	128
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Run time options
 | 
					# Run time options
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								port.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								port.c
									
									
									
									
									
								
							@ -77,7 +77,7 @@ static void announce_to_dataset(struct ptp_message *m, struct port *p,
 | 
				
			|||||||
	out->identity     = a->grandmasterIdentity;
 | 
						out->identity     = a->grandmasterIdentity;
 | 
				
			||||||
	out->quality      = a->grandmasterClockQuality;
 | 
						out->quality      = a->grandmasterClockQuality;
 | 
				
			||||||
	out->priority2    = a->grandmasterPriority2;
 | 
						out->priority2    = a->grandmasterPriority2;
 | 
				
			||||||
	out->localPriority = 128;
 | 
						out->localPriority = p->localPriority;
 | 
				
			||||||
	out->stepsRemoved = a->stepsRemoved;
 | 
						out->stepsRemoved = a->stepsRemoved;
 | 
				
			||||||
	out->sender       = m->header.sourcePortIdentity;
 | 
						out->sender       = m->header.sourcePortIdentity;
 | 
				
			||||||
	out->receiver     = p->portIdentity;
 | 
						out->receiver     = p->portIdentity;
 | 
				
			||||||
@ -1568,6 +1568,7 @@ int port_initialize(struct port *p)
 | 
				
			|||||||
	p->transportSpecific       = config_get_int(cfg, p->name, "transportSpecific");
 | 
						p->transportSpecific       = config_get_int(cfg, p->name, "transportSpecific");
 | 
				
			||||||
	p->transportSpecific     <<= 4;
 | 
						p->transportSpecific     <<= 4;
 | 
				
			||||||
	p->match_transport_specific = !config_get_int(cfg, p->name, "ignore_transport_specific");
 | 
						p->match_transport_specific = !config_get_int(cfg, p->name, "ignore_transport_specific");
 | 
				
			||||||
 | 
						p->localPriority           = config_get_int(cfg, p->name, "G.8275.portDS.localPriority");
 | 
				
			||||||
	p->logSyncInterval         = config_get_int(cfg, p->name, "logSyncInterval");
 | 
						p->logSyncInterval         = config_get_int(cfg, p->name, "logSyncInterval");
 | 
				
			||||||
	p->logMinPdelayReqInterval = config_get_int(cfg, p->name, "logMinPdelayReqInterval");
 | 
						p->logMinPdelayReqInterval = config_get_int(cfg, p->name, "logMinPdelayReqInterval");
 | 
				
			||||||
	p->neighborPropDelayThresh = config_get_int(cfg, p->name, "neighborPropDelayThresh");
 | 
						p->neighborPropDelayThresh = config_get_int(cfg, p->name, "neighborPropDelayThresh");
 | 
				
			||||||
 | 
				
			|||||||
@ -100,6 +100,7 @@ struct port {
 | 
				
			|||||||
	int                 announce_span;
 | 
						int                 announce_span;
 | 
				
			||||||
	UInteger8           syncReceiptTimeout;
 | 
						UInteger8           syncReceiptTimeout;
 | 
				
			||||||
	UInteger8           transportSpecific;
 | 
						UInteger8           transportSpecific;
 | 
				
			||||||
 | 
						UInteger8           localPriority;
 | 
				
			||||||
	Integer8            logSyncInterval;
 | 
						Integer8            logSyncInterval;
 | 
				
			||||||
	Enumeration8        delayMechanism;
 | 
						Enumeration8        delayMechanism;
 | 
				
			||||||
	Integer8            logMinPdelayReqInterval;
 | 
						Integer8            logMinPdelayReqInterval;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										15
									
								
								ptp4l.8
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								ptp4l.8
									
									
									
									
									
								
							@ -245,6 +245,21 @@ The default is UDPv4.
 | 
				
			|||||||
Upper limit for peer delay in nanoseconds. If the estimated peer delay is
 | 
					Upper limit for peer delay in nanoseconds. If the estimated peer delay is
 | 
				
			||||||
greater than this value the port is marked as not 802.1AS capable.
 | 
					greater than this value the port is marked as not 802.1AS capable.
 | 
				
			||||||
.TP
 | 
					.TP
 | 
				
			||||||
 | 
					.B G.8275.portDS.localPriority
 | 
				
			||||||
 | 
					The Telecom Profiles (ITU-T G.8275.1 and G.8275.2) specify an
 | 
				
			||||||
 | 
					alternate Best Master Clock Algorithm (BMCA) with a unique data set
 | 
				
			||||||
 | 
					comparison algorithm.  The value of this option is associated with
 | 
				
			||||||
 | 
					Announce messages arriving on a particular port and is used as a tie
 | 
				
			||||||
 | 
					breaker whenever clockClass, clockAccuracy, offsetScaledLogVariance,
 | 
				
			||||||
 | 
					and priority2 are equal. This option is only used when
 | 
				
			||||||
 | 
					"dataset_comparison" is set to "telecom".
 | 
				
			||||||
 | 
					The default value is 128.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Warning: the BMCA is guaranteed to produce a spanning tree (that is, a
 | 
				
			||||||
 | 
					timing network without loops) only when using the default values of
 | 
				
			||||||
 | 
					G.8275.defaultDS.localPriority and G.8275.portDS.localPriority.
 | 
				
			||||||
 | 
					Careful network engineering is needed when using non-default values.
 | 
				
			||||||
 | 
					.TP
 | 
				
			||||||
.B min_neighbor_prop_delay
 | 
					.B min_neighbor_prop_delay
 | 
				
			||||||
Lower limit for peer delay in nanoseconds. If the estimated peer delay is
 | 
					Lower limit for peer delay in nanoseconds. If the estimated peer delay is
 | 
				
			||||||
smaller than this value the port is marked as not 802.1AS capable.
 | 
					smaller than this value the port is marked as not 802.1AS capable.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user