ok, I've managed to use multiple threads without errors by setting
so-reuseport: yes
Although the manual says that it's on by default it's not. It is only
enabled on Linux and Dragonfly.
Does it make sense to report this upstream and enable REUSEPORT_DEFAULT
on OpenBSD as well?
Other findings just for the record:
net.inet.udp.recvspace / net.inet.udp.sendspace are just default values
and not max values.
In unbound these are probably controlled by so-rcvbuf / so-sndbuf, up to
2m which is system max.
Thanks for all replies,
G
ps. It would also help, instead of rdr-to all incoming 53 traffic to
localhost, to listen on all interfaces
On 29/04/2025 18:11, Otto Moerbeek wrote:
On Tue, Apr 29, 2025 at 04:32:01PM +0300, Kapetanakis Giannis wrote:
Can it be related to this: dropped due to no socket?
IIRC OpenBSD does handle sending to a non-blocking socket in the
multi-threaded case very well. If multiple threads try to do that
simulteneously, some of them will get a EAGAIN. To test this
hypothesis, try running with a single thread and see if the errors
disappear.
-Otto
# netstat -ss|grep -A7 ^udp
udp:
819120 datagrams received
15494 with no checksum
22621 dropped due to no socket
170569 broadcast/multicast datagrams dropped due to no socket
625930 delivered
6497322 datagrams output
341480 missed PCB cache
G
On 29/04/2025 15:36, Kapetanakis Giannis wrote:
Hi,
I'm having this busy router with multiple private networks behind which is also
doing dns caching services.
vlans and carp are also involved.
I'm getting this almost every second on my logs from multiple/different vlans
and IPs (had it also on 7.6 as well on 7.7 now).
Apr 29 15:11:49 unbound: [18412:1] notice: remote address is 10.14.0.196 port
44886
Apr 29 15:11:54 unbound: [18412:1] notice: sendto failed: Resource temporarily
unavailable
tcpdump on this shows:
15:11:49.420280 10.14.0.196.44886 > 10.14.0.1.domain: 13+ [2au] A?
google.com.(74) (DF) [tos 0xe0]
15:11:52.519896 10.14.0.196.44886 > 10.14.0.1.domain: 13+ [2au] A?
google.com.(74) (DF) [tos 0xe0]
15:11:52.520048 10.14.0.1.domain > 10.14.0.196.44886: 13 FormErr- 0/0/2(74)
I believe I'm hitting some kind of limit either in the OS or in unbound.
What I have and tested so far:
kern.maxfiles=32768
login.conf:
unbound:\
:openfiles=32768:\
:tc=daemon:
unbound.conf:
num-threads: 4
num-queries-per-thread: 4096
outgoing-range: 16384
so-rcvbuf: 2m
so-sndbuf: 2m
no luck so far.
pf states ~ 30K (hard limit 200K)
load 1.2 (mostly by pmacctd)
hw.machine=amd64
hw.model=Intel(R) Xeon(R) CPU X5660 @ 2.80GHz
hw.ncpu=6
Any ideas?
Thanks,
G