Burkhard Ilsen
2017-04-03 13:52:13 UTC
Hello,
I tested two-step peer_delay measurement with two peers with a high nrate
ratio.
I noticed that the first two measured delays are erronous because the nrate
is not known yet, and 1.0 is assumed.
The next raw delay measurements are correct but the two first errors still
affect the filtered_delay.
I would like to discuss two issues regarding the function port_peer_delay().
1.
For the first measurement the nrate ratio cannot be calculated.
To avoid an erroneous measurement the calculation could be aborted if the
nrate is not valid,
e.g. by placing a "if(!p->nrate.ratio_valid) return;" between
port_nrate_calculate() and tsproc_update_delay().
The drawback is that peer_delay is not available after the first
delay_response.
I prefer a later but correct measurement instead of an incorrect value
affecting the following filtered values as well.
2.
For the second measurement the nrate ratio is calculated, after the delay
was calculated based on the old (invalid) nrate ratio.
The nrate ratio should be calculated before the delay,
e.g. by moving port_nrate_calculate() in front
of tsproc_set_clock_rate_ratio().
Please tell me if there is a reason for the current sequence of
calculations.
Best regards,
Burkhard
I tested two-step peer_delay measurement with two peers with a high nrate
ratio.
I noticed that the first two measured delays are erronous because the nrate
is not known yet, and 1.0 is assumed.
The next raw delay measurements are correct but the two first errors still
affect the filtered_delay.
I would like to discuss two issues regarding the function port_peer_delay().
1.
For the first measurement the nrate ratio cannot be calculated.
To avoid an erroneous measurement the calculation could be aborted if the
nrate is not valid,
e.g. by placing a "if(!p->nrate.ratio_valid) return;" between
port_nrate_calculate() and tsproc_update_delay().
The drawback is that peer_delay is not available after the first
delay_response.
I prefer a later but correct measurement instead of an incorrect value
affecting the following filtered values as well.
2.
For the second measurement the nrate ratio is calculated, after the delay
was calculated based on the old (invalid) nrate ratio.
The nrate ratio should be calculated before the delay,
e.g. by moving port_nrate_calculate() in front
of tsproc_set_clock_rate_ratio().
Please tell me if there is a reason for the current sequence of
calculations.
Best regards,
Burkhard