clock: reset master/local rr when best clock id changes
This fixes an issue with free running clocks. When the master clock id changes the measured master/local ratio should be reset. If it isn't, and the local clock becomes master, then the last measured ratio to the old master continues to be used in peer delay calculations. If a bad master/local ration calculation triggers this state change the port can get "stuck" in not "asCapable" mode. Signed-off-by: Erik Hons <erik.hons@ni.com>
This commit is contained in:
		
							parent
							
								
									ee6930a884
								
							
						
					
					
						commit
						a380afc482
					
				
							
								
								
									
										1
									
								
								clock.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								clock.c
									
									
									
									
									
								
							@ -1775,6 +1775,7 @@ static void handle_state_decision_event(struct clock *c)
 | 
				
			|||||||
			tsproc_set_delay(c->tsproc, c->initial_delay);
 | 
								tsproc_set_delay(c->tsproc, c->initial_delay);
 | 
				
			||||||
		c->ingress_ts = tmv_zero();
 | 
							c->ingress_ts = tmv_zero();
 | 
				
			||||||
		c->path_delay = c->initial_delay;
 | 
							c->path_delay = c->initial_delay;
 | 
				
			||||||
 | 
							c->master_local_rr = 1.0;
 | 
				
			||||||
		c->nrr = 1.0;
 | 
							c->nrr = 1.0;
 | 
				
			||||||
		fresh_best = 1;
 | 
							fresh_best = 1;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user