On Wed Sep 17, 2025 at 09:33:00AM +0100, Stuart Henderson wrote:
> > $ netstat -i
> > Name Mtu Network Address Ipkts Ifail Opkts Ofail
> > Colls
> > ix3 1500 <Link> f8:f2:1e:3c:9c:09 195418012 0 144748154
> > 149426 0
> > wg0 1420 <Link> 95659816 367058 64488271 3933
> > 0
>
> do the Ofail figure rise over time or are they steady (i.e. relating to
> a past event or ongoing?)
>
> are they drops or errs? conpare these:
>
> netstat -I ix3 -nd
> netstat -I ix3 -ne
>
> is your cable ok and is there anything reported on the switch?
Thanks Stuart for the feedback. I've done some additional debugging with
dlg@ and can provide more detailed information:
The Ofail counters are ongoing and increasing during WireGuard traffic:
# Before iperf test:
netstat -d -I ix3: Odrop 149596
netstat -e -I ix3: Oerrs 0
# After iperf test:
netstat -d -I ix3: Odrop 149944 # +348 drops
netstat -e -I ix3: Oerrs 0 # No errors
ix3 shows queue drops (not errors) that increase during WireGuard
traffic, while the WireGuard interface itself shows no drops
during the test period.
kstat ix3:0:txq:0
qdrops: 14855 packets
maxqlen: 255 packets
oactives: 53
txq:0 shows drops and some of the other queues also have drops. More below.
>
> > cpu39: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz, 2202.15 MHz, 06-4f-01,
> > patch 0b000040
> > cpu39: smt 1, core 12, package 1
>
> that is quite a lot of cores to be running OpenBSD on, how do the cpu%
> look in top? much in spin? I don't suppose the machine config menu has a
> way to restrict to fewer cores that you could try?
>
I didn't look at the CPU yet. I also did additional tests:
- MTU reduction to 1280: No improvement
- Different packet sizes: Same poor performance
- Bridge/vport counters: Clean, no drops
- PF ruleset: No traffic shaping configured
dlg@ suggests this might be a transmit queue flooding issue where
WireGuard traffic patterns are overwhelming ix3's queue
management.
Planning to test with em(4) interfaces to determine if this is
ix(4)-specific or a broader stack interaction issue.
ix3:0:txq:0
packets: 47980738 packets
bytes: 17851188838 bytes
qdrops: 14855 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 53
ix3:0:txq:1
packets: 2249656 packets
bytes: 798920844 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 0
ix3:0:txq:2
packets: 2309610 packets
bytes: 894950881 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 0
ix3:0:txq:3
packets: 2402681 packets
bytes: 964639072 bytes
qdrops: 841 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 7
ix3:0:txq:4
packets: 2240063 packets
bytes: 828578641 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 0
ix3:0:txq:5
packets: 2300461 packets
bytes: 914357224 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 0
ix3:0:txq:6
packets: 2327136 packets
bytes: 936085924 bytes
qdrops: 521 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 3
ix3:0:txq:7
packets: 2321399 packets
bytes: 854627772 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 3
ix3:0:txq:8
packets: 2245480 packets
bytes: 826073851 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 0
ix3:0:txq:9
packets: 2273747 packets
bytes: 845524882 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 0
ix3:0:txq:10
packets: 2419627 packets
bytes: 1039010010 bytes
qdrops: 348 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 3
ix3:0:txq:11
packets: 2285475 packets
bytes: 857632258 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 1
ix3:0:txq:12
packets: 2301126 packets
bytes: 910506241 bytes
qdrops: 13 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 3
ix3:0:txq:13
packets: 2296768 packets
bytes: 825786710 bytes
qdrops: 0 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 0
ix3:0:txq:14
packets: 67513870 packets
bytes: 15270433200 bytes
qdrops: 133186 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 732
ix3:0:txq:15
packets: 2269433 packets
bytes: 838095368 bytes
qdrops: 465 packets
errors: 0 packets
qlen: 0 packets
maxqlen: 255 packets
oactive: false
oactives: 128