ntp: don't send useless requests in interleaved client mode

In interleaved client mode, when so many consecutive requests were lost
that the first valid (interleaved) response would be dropped for being
too old, switch to basic mode so the response can be accepted if it
doesn't fail in the other tests.

This reworks commit 16afa8eb50.
This commit is contained in:
Miroslav Lichvar
2017-08-02 10:54:50 +02:00
parent 64c2fd9888
commit b896bb5a78
2 changed files with 13 additions and 10 deletions

View File

@@ -251,7 +251,8 @@ test_unit(void)
for (j = 0; j < 50; j++) {
DEBUG_LOG("iteration %d, %d", i, j);
interleaved = random() % 2;
interleaved = random() % 2 && (inst->mode != MODE_CLIENT ||
inst->tx_count <= MAX_CLIENT_INTERLEAVED_TX);
authenticated = random() % 2;
valid = (!interleaved || (source.params.interleaved && has_updated)) &&
(!source.params.authkey || authenticated);