conncheck: do not always remove pair in triggered check list
authorFabrice Bellet <fabrice@bellet.info>
Tue, 19 May 2020 11:58:55 +0000 (13:58 +0200)
committerFabrice Bellet <fabrice@bellet.info>
Tue, 19 May 2020 12:39:06 +0000 (14:39 +0200)
commit4c53dc2f0eabbcd899f65e6cf427860fa2d93247
tree849681b543ca3b92aa7dde000f1a762e190fbe99
parenta03a242f9f9782a15e0d651a2291b84226e229dd
conncheck: do not always remove pair in triggered check list

This patch reenables an interesting side effect that existed before
commit 263c0903, when the state of a pair state in the triggered check
list was changed to in-progress. Such "triggered" pairs with this state
were selectively pruned from the conncheck list according to their
priority in priv_prune_pending_checks(), meaning that pairs with a high
priority were conserved, and quickly rechecked.

Retrospectively, I suspect that this side effect was the initial
motivation for changing the state of a "triggered" pair.

Commit 263c0903 disabled that behaviour, for the sake of clarity, but it
seems important to restore it, because these "triggered" pairs are often
retriggered for a good reason, and frequently lead to a nominated pair.
And loosing the opportunity to nominate a pair may be critical in
controlled role when the peer agent is in aggressive nomination mode.
agent/conncheck.c