Maintained by: NLnet Labs

Multiple forward-addr: _ order of evaluation?

Ralph Dolmans
Wed Jan 10 11:28:12 CET 2018

Hi Harry,

On 10-01-18 06:31, Harry Schmalzbauer wrote:
>  Bezüglich Ralph Dolmans via Unbound-users's Nachricht vom 09.01.2018
> 10:53 (localtime):
>> Hi Harry,
>> Unbound selects forward addresses in the same way as it selects
>> addresses for normal delegations. That is a random selection over the
>> list of addresses with an RTT band of 400 msec.
> Thank you very much, Ralph.
> Unfortunately I'm not sure how to understand RTT in that context.
> Is it "wait 400msec for an answer and take next available on it there
> was no answer within that timeout?
> Of is it, prepare to use new forwarder from list every 400ms, regardless
> if there were succesfull or unsuccessfull queries?

Unbound keeps track of the round-trip time per address and uses this
information in the server selection. All addresses with an RTT of not
more than 400msec above the lowest RTT are used for the selection. From
this list of suitable addresses one is randomly picked.

So, assuming that the RTT difference between your two addresses is less
then 400msec, they are both considered for selection and one of them is
randomly picked.

> Is there any way to influence the round-robin behaviour for a forward
> zone clause (besides getting to source code)?

No, this is currently not possible.

-- Ralph

> My intention is to have ai failover forwardern, not a load-baöancing.
> For multi-A-records, bind has a static override and I think I remember
> that I read something similar for unbound too (I'm new to unbound and
> broke my glasses – not much reading for today :-( – so I'm not trying to
> verify utilizing the man page ;-)
> Thanks,
> -harry