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

Reply via email to