libunbound not always picking the first nameserver in /etc/resolv.conf

Dear community members,

hello, I have a small question and would like to get some insights..I am using openvswitch + sflow to connect network traffic and when posting data openvswitch seems to not resolving address correctly. after some debugging, I find that openvswitch uses libunbound to resolve dns and sometimes dns resolve does not work. I check the /etc/resolve.conf file, and find that there are dns nameservers configured and one of them cannot resolve the given dns name (because it is local dns and is not global resolvable). but the global dns is configured after the local nameserver, so in my opinion it should have a higher priority. but looks like libunbound does not respect the nameserver order.

My question is is my observation correct? if it is correct, is there anyway I can make libunbound to use dns nameservers in the order defined in resolv.conf? thank you

libunbound won't use your resolv.conf at all, unless the code using
libunbound calls ub_ctx_resolvconf(ctx, "/etc/resolv.conf") before
the first query is attempted.

Note also that if your system uses systemd and has "resolve" in
/etc/nsswitch.conf, glibc bypasses resolv.conf for gethostbyname()
to talk to systemd-resolved directly, but getaddrinfo() does use
resolv.conf.

Paul