Hi,
Thank you for your reply.
I believe I understand the original problem and how to overcome it very well. But my point is different.
In the original thread where you discussed this issue with Ondrej, there was the following proposal:
> "For example bird can check that the hold timer proposed by a peer is at least 2 times greater than the local keepalive timer as in the attached patch"
> "I think that rejecting session when hold timer is smaller than local keepalive (so it is clear misconfiguration), and just a warning when it is smaller than 2*keepalive would be a good approach."
And my point regarding minimum-hold-timer addresses exactly this. IMHO, it doesn't really make sense to compare local keepalive with remote holdtime and then reject the session for some reason. If you want to limit the value of holdtime that your router accepts, it makes more sense to set minimum-hold-timer for that, not keepalive.
For example, you could configure:
hold 30;
keepalive 10;
minimum-hold-timer 30;
And this won't let your peer set hold timer lower than 30. And this makes the behavior pretty straightforward.
Otherwise, with approach like "hold timer proposed by a peer is at least 2 times greater than the local keepalive timer", you end up with some obscure logic, so that people would have to go read the source code to understand why the session is not establishing.