openvpn and no buffer space available (13.2-stable)

From: void <void_at_f-m.fm>
Date: Thu, 21 Sep 2023 18:16:34 UTC
Hello @net,

tl;dr : is there anything specific to freebsd that needs to be set
in order for openvpn to perform well? What buffer space is ping
complaining about?

context is recent 13.2 stable, on amd64, and it's a bhyve guest.
The openvpn client uses UDP, on tun0.

The problem is that when the connection becomes heavily
used, the client end finds that sites that would normally
immediately load often wont; one has to sit there clicking
multiple times to get any site to load.

ping shows this:

64 bytes from 93.184.216.34: icmp_seq=37 ttl=53 time=147.407 ms
ping: sendto: No buffer space available
64 bytes from 93.184.216.34: icmp_seq=40 ttl=53 time=174.738 ms
64 bytes from 93.184.216.34: icmp_seq=41 ttl=53 time=119.048 ms
64 bytes from 93.184.216.34: icmp_seq=42 ttl=53 time=169.223 ms
ping: sendto: No buffer space available
64 bytes from 93.184.216.34: icmp_seq=44 ttl=53 time=183.493 ms
64 bytes from 93.184.216.34: icmp_seq=45 ttl=53 time=162.594 ms
^C
--- example.org ping statistics ---
46 packets transmitted, 36 packets received, 21.7% packet loss
round-trip min/avg/max/stddev = 118.258/156.360/184.931/19.508 ms

I've ran mtu-test on the client, which gives these results

Empirical MTU test completed [Tried,Actual] local->remote=[1455,1455] remote->local=[1427,1427]

in /etc/sysctl.conf, I've changed these values:

net.inet.udp.recvspace=524288
kern.ipc.shm_use_phys=1
net.inet.tcp.sendspace=524288
net.inet.tcp.recvspace=524288
net.inet.tcp.rfc1323=1
net.inet.tcp.always_keepalive=0
kern.ipc.soacceptqueue=524288

in /boot/loader.conf, these:

kern.maxusers="4096"
vm.vnode_pbufs="10240"
kern.ipc.nmbclusters="5000000"

tia,
--