Synopsis: Experiencing frequent but intermittent network delays for host bound and transit traffic on my OpenBSD router/firewall after upgrading from 7.2 to 7.3
Category: system kernel amd64 Environment:
        System      : OpenBSD 7.3
Details : OpenBSD 7.3 (GENERIC.MP) #1125: Sat Mar 25 10:36:29 MDT 2023
                         
dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP

        Architecture: OpenBSD.amd64
        Machine     : amd64
Description:
I noticed that after upgrading from 7.2 to 7.3, frequent but intermittent network delays. These delays are very brief but when they happen they typically last from 500 - 900 ms. If I ping my gateway, I generally get sub millisecond pings (0.400 - 0.700 ms) but intermittently I'll get an echo replies (typically 1 echo reply) that can range from 200 - 900ms. Then it returns to the sub millisecond echo responses for a period of time (no pattern). Because these "delays" are noticable for both host bound traffic (eg. SSH to the OpenBSD router) and transit traffic, it affects persistent connections destined to the router or passing through it.

It's noticible for things like SSH sessions to the OpenBSD router, video and voice calls, or any other persistent connection. I've looked at the system processes to see if there are any noticable spikes in CPU usage, but I'm not seeing anything that stands out.

I'm not noticing these same symptoms for other layer2 traffic. I can ping other hosts on my LAN and my switch and do not notice this behaviour, so it's only for connections to or transiting through the router.

        Here is a sample output from pinging my gateway:

        64 bytes from 10.77.1.1: icmp_seq=629 ttl=255 time=687.979 ms
        64 bytes from 10.77.1.1: icmp_seq=630 ttl=255 time=0.420 ms
        64 bytes from 10.77.1.1: icmp_seq=631 ttl=255 time=0.754 ms
        64 bytes from 10.77.1.1: icmp_seq=632 ttl=255 time=0.418 ms
        64 bytes from 10.77.1.1: icmp_seq=633 ttl=255 time=0.682 ms
        64 bytes from 10.77.1.1: icmp_seq=634 ttl=255 time=0.435 ms
        64 bytes from 10.77.1.1: icmp_seq=635 ttl=255 time=0.490 ms
        64 bytes from 10.77.1.1: icmp_seq=636 ttl=255 time=0.780 ms
        64 bytes from 10.77.1.1: icmp_seq=637 ttl=255 time=0.546 ms
        64 bytes from 10.77.1.1: icmp_seq=638 ttl=255 time=0.697 ms
        64 bytes from 10.77.1.1: icmp_seq=639 ttl=255 time=0.690 ms
        64 bytes from 10.77.1.1: icmp_seq=640 ttl=255 time=658.827 ms
        64 bytes from 10.77.1.1: icmp_seq=641 ttl=255 time=0.571 ms
        64 bytes from 10.77.1.1: icmp_seq=642 ttl=255 time=0.383 ms
        64 bytes from 10.77.1.1: icmp_seq=643 ttl=255 time=0.591 ms
        64 bytes from 10.77.1.1: icmp_seq=644 ttl=255 time=0.555 ms
        64 bytes from 10.77.1.1: icmp_seq=645 ttl=255 time=0.634 ms
        64 bytes from 10.77.1.1: icmp_seq=646 ttl=255 time=0.541 ms
        64 bytes from 10.77.1.1: icmp_seq=647 ttl=255 time=0.638 ms
        64 bytes from 10.77.1.1: icmp_seq=648 ttl=255 time=0.689 ms
        64 bytes from 10.77.1.1: icmp_seq=649 ttl=255 time=0.740 ms
        64 bytes from 10.77.1.1: icmp_seq=650 ttl=255 time=0.667 ms
        64 bytes from 10.77.1.1: icmp_seq=651 ttl=255 time=0.615 ms
        64 bytes from 10.77.1.1: icmp_seq=652 ttl=255 time=0.737 ms
        64 bytes from 10.77.1.1: icmp_seq=653 ttl=255 time=0.412 ms
        64 bytes from 10.77.1.1: icmp_seq=654 ttl=255 time=0.625 ms
        64 bytes from 10.77.1.1: icmp_seq=655 ttl=255 time=0.334 ms
        64 bytes from 10.77.1.1: icmp_seq=656 ttl=255 time=0.446 ms
        64 bytes from 10.77.1.1: icmp_seq=657 ttl=255 time=0.719 ms
        64 bytes from 10.77.1.1: icmp_seq=658 ttl=255 time=0.760 ms
        64 bytes from 10.77.1.1: icmp_seq=659 ttl=255 time=0.745 ms
        64 bytes from 10.77.1.1: icmp_seq=660 ttl=255 time=0.749 ms
        64 bytes from 10.77.1.1: icmp_seq=661 ttl=255 time=0.765 ms
        64 bytes from 10.77.1.1: icmp_seq=662 ttl=255 time=589.051 ms
        64 bytes from 10.77.1.1: icmp_seq=663 ttl=255 time=0.359 ms
        64 bytes from 10.77.1.1: icmp_seq=664 ttl=255 time=0.657 ms
        64 bytes from 10.77.1.1: icmp_seq=665 ttl=255 time=0.492 ms
        64 bytes from 10.77.1.1: icmp_seq=666 ttl=255 time=0.711 ms
        64 bytes from 10.77.1.1: icmp_seq=667 ttl=255 time=0.850 ms
        64 bytes from 10.77.1.1: icmp_seq=668 ttl=255 time=0.664 ms
        64 bytes from 10.77.1.1: icmp_seq=669 ttl=255 time=0.464 ms
        64 bytes from 10.77.1.1: icmp_seq=670 ttl=255 time=0.620 ms
        64 bytes from 10.77.1.1: icmp_seq=671 ttl=255 time=0.333 ms
        64 bytes from 10.77.1.1: icmp_seq=672 ttl=255 time=0.353 ms
        
        My network configuration is as follows:

        ls -las hostname.*
        4 -rw-r-----  1 root  wheel   31 May 15  2021 hostname.aggr0
        4 -rw-r-----  1 root  wheel    3 May 15  2021 hostname.em0
        4 -rw-r-----  1 root  wheel    3 May 18  2020 hostname.em1
        4 -rw-r-----  1 root  wheel   32 May 18  2020 hostname.lo1
        4 -rw-r-----  1 root  wheel   69 Apr 12 06:26 hostname.vlan100
        4 -rw-r-----  1 root  wheel   65 May 15  2021 hostname.vlan105
        4 -rw-r-----  1 root  wheel  125 May 16  2021 hostname.vlan2000
        4 -rw-r-----  1 root  wheel   80 Apr 12 06:23 hostname.vlan99
        4 -rw-r-----  1 root  wheel   91 Apr 12 06:27 hostname.vlan999
        4 -rw-r-----  1 root  wheel  247 Mar  4 11:45 hostname.wg0
        
        /etc/hostname.aggr0
        trunkport em0
        trunkport em1
        up

        /etc/hostname.em0
        up

        /etc/hostname.em1
        up

        /etc/hostname.lo1
        inet 10.199.0.7 255.255.255.255

        /etc/hostname.vlan100
        parent aggr0
        vnetid 100
        inet 10.77.100.1/24
        up
        
        /etc/hostname.vlan105
        parent aggr0
        vnetid 105
        inet 10.77.105.1/24
        up

        /etc/hostname.vlan2000
        parent aggr0
        vnetid 2000
        inet 10.254.0.1/30
        up
        !route add -net 10.76.8/24 10.254.0.2

        /etc/hostname.vlan99 (Home)
        
        parent aggr0
        vnetid 99
        inet 10.77.1.1/24
        inet6 autoconf
        up
        
        /etc/hostname.vlan999 (Internet circuit)

        parent aggr0
        vnetid 999
        inet autoconf
        inet6 autoconf
        up
        
How-To-Repeat:
        Happens consistently and even after reboots
Fix:
        No fix that I've been able to figure out

dmesg:
OpenBSD 7.3 (GENERIC.MP) #1125: Sat Mar 25 10:36:29 MDT 2023
    dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 8519643136 (8124MB)
avail mem = 8242040832 (7860MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0x7cd0b020 (14 entries)
bios0: vendor coreboot version "v4.12.0.3" date 10/28/2020
bios0: Protectli FW4B
acpi0 at bios0: ACPI 6.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SSDT MCFG APIC
acpi0: wakeup devices XHCI(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Celeron(R) CPU J3160 @ 1.60GHz, 2240.46 MHz, 06-4c-04
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN cpu0: 24KB 64b/line 6-way D-cache, 32KB 64b/line 8-way I-cache, 1MB 64b/line 16-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 79MHz
cpu0: mwait min=64, max=64, C-substates=0.2, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Celeron(R) CPU J3160 @ 1.60GHz, 2240.95 MHz, 06-4c-04
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN cpu1: 24KB 64b/line 6-way D-cache, 32KB 64b/line 8-way I-cache, 1MB 64b/line 16-way L2 cache
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 4 (application processor)
cpu2: Intel(R) Celeron(R) CPU J3160 @ 1.60GHz, 2240.68 MHz, 06-4c-04
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN cpu2: 24KB 64b/line 6-way D-cache, 32KB 64b/line 8-way I-cache, 1MB 64b/line 16-way L2 cache
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 6 (application processor)
cpu3: Intel(R) Celeron(R) CPU J3160 @ 1.60GHz, 2241.25 MHz, 06-4c-04
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN cpu3: 24KB 64b/line 6-way D-cache, 32KB 64b/line 8-way I-cache, 1MB 64b/line 16-way L2 cache
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 115 pins, remapped
acpiprt0 at acpi0: bus 0 (PCI0)
acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
"INT33BD" at acpi0 not configured
acpicmos0 at acpi0
com0 at acpi0 COM1 addr 0x3f8/0x8 irq 4: ns16550a, 16 byte fifo
com0: console
chvgpio0 at acpi0 GPSW uid 1 addr 0xfed80000/0x8000 irq 49, 56 pins
chvgpio1 at acpi0 GPNC uid 2 addr 0xfed88000/0x8000 irq 48, 59 pins
chvgpio2 at acpi0 GPEC uid 3 addr 0xfed90000/0x8000 irq 50, 24 pins
chvgpio3 at acpi0 GPSE uid 4 addr 0xfed98000/0x8000 irq 91, 55 pins
"BOOT0000" at acpi0 not configured
acpicpu0 at acpi0: C2 bad (state 6 has no substates): C3 bad (state 6 has no substates): C1(1000@1 mwait.1), PSS acpicpu1 at acpi0: C2 bad (state 6 has no substates): C3 bad (state 6 has no substates): C1(1000@1 mwait.1), PSS acpicpu2 at acpi0: C2 bad (state 6 has no substates): C3 bad (state 6 has no substates): C1(1000@1 mwait.1), PSS acpicpu3 at acpi0: C2 bad (state 6 has no substates): C3 bad (state 6 has no substates): C1(1000@1 mwait.1), PSS
cpu0: using VERW MDS workaround
cpu0: Enhanced SpeedStep 2240 MHz: speeds: 1601, 1600, 1520, 1440, 1360, 1280, 1200, 1120, 1040, 960, 880, 800, 720, 640, 560, 480 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Braswell Host" rev 0x35
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics" rev 0x35
drm0 at inteldrm0
inteldrm0: msi, CHERRYVIEW, gen 8
ahci0 at pci0 dev 19 function 0 "Intel Braswell AHCI" rev 0x35: msi, AHCI 1.3.1
ahci0: port 0: 6.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, KINGSTON SUV500M, 0030> naa.50026b77836de374
sd0: 228936MB, 512 bytes/sector, 468862128 sectors, thin
xhci0 at pci0 dev 20 function 0 "Intel Braswell xHCI" rev 0x35: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1 azalia0 at pci0 dev 27 function 0 "Intel Braswell HD Audio" rev 0x35: msi
azalia0: codecs: Realtek ALC662, Intel/0x2883, using Realtek ALC662
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel Braswell PCIE" rev 0x35: msi
pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:e0:67:22:36:a4
ppb1 at pci0 dev 28 function 1 "Intel Braswell PCIE" rev 0x35: msi
pci2 at ppb1 bus 2
em1 at pci2 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:e0:67:22:36:a5
ppb2 at pci0 dev 28 function 2 "Intel Braswell PCIE" rev 0x35: msi
pci3 at ppb2 bus 3
em2 at pci3 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:e0:67:22:36:a6
ppb3 at pci0 dev 28 function 3 "Intel Braswell PCIE" rev 0x35: msi
pci4 at ppb3 bus 4
em3 at pci4 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:e0:67:22:36:a7
pcib0 at pci0 dev 31 function 0 "Intel Braswell PCU LPC" rev 0x35
ichiic0 at pci0 dev 31 function 3 "Intel Braswell SMBus" rev 0x35: apic 2 int 18
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 8GB DDR3 SDRAM PC3-12800 SO-DIMM
isa0 at pcib0
isadma0 at isa0
vga0 at isa0 port 0x3b0/48 iomem 0xa0000/131072
wsdisplay at vga0 not configured
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX/EPT (using slow L1TF mitigation)
umass0 at uhub0 port 1 configuration 1 interface 0 "SanDisk Cruzer Fit" rev 2.00/1.27 addr 2
umass0: using SCSI over Bulk-Only
scsibus2 at umass0: 2 targets, initiator 0
sd1 at scsibus2 targ 1 lun 0: <SanDisk, Cruzer Fit, 1.27> removable serial.07815571870804115450
sd1: 7633MB, 512 bytes/sector, 15633408 sectors
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
root on sd0a (993900eb51631b95.a) swap on sd0b dump on sd0b
inteldrm0: 1024x768, 32bpp
wsdisplay0 at inteldrm0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)

usbdevs:
Controller /dev/usb0:
addr 01: 8086:0000 Intel, xHCI root hub
         super speed, self powered, config 1, rev 1.00
         driver: uhub0
addr 02: 0781:5571 SanDisk, Cruzer Fit
high speed, power 200 mA, config 1, rev 1.27, iSerial 4C530102870804115450
         driver: umass0

Reply via email to