vxlan(4) causing splassert when added to a pf(4) queue

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

vxlan(4) causing splassert when added to a pf(4) queue

Jason Tubnor
>Synopsis:      kernel/driver for vxlan(4) pf(4) queue issue 6.2 and above
>Category:      base/network
>Environment:
        System      : OpenBSD 6.2
        Details     : OpenBSD 6.2 (GENERIC.MP) #0: Thu Oct 12 19:53:18 CEST
2017
                         [hidden email]:
/usr/src/sys/arch/amd64/compile/GENERIC.MP

        Architecture: OpenBSD.amd64
        Machine     : amd64
>Description:
        Previous to 6.2, a vxlan(4) interface could be added to a queue to
control flows between two vxlan unicast end points.  Since 6.2 and tested
to 25 November 2017 snapshot, this now causes a splassert in the kernel and
depending on the underlying physical link, does not adhear to queue max
setting.

>How-To-Repeat:
        This can be replicated using either 6.2-Release, 6.2-Stable or
-CURRENT.  Set up 2 machines on a subnet with interfaces such as:

/etc/hostname.em0
inet 192.168.1.1 255.255.255.0

/etc/hostname.vxlan1
inet 10.2.2.1 255.255.255.252 10.2.2.3
tunnel 192.168.1.1 192.168.1.2 vnetid 1
up

other host:

/etc/hostname.em0
inet 192.168.1.2 255.255.255.0

/etc/hostname.vxlan1
inet 10.2.2.2 255.255.255.252 10.2.2.3
tunnel 192.168.1.2 192.168.1.1 vnetid 1
up

On both machines, simply add the following queue to the example pf.conf
file:

queue vxqueue on vxlan1 bandwidth 2M max 5M default

Using iperf from ports/packages, create a dataflow to/from the vxlan
interfaces (10.2.2.x), kernel output will appear on the console and in
/var/log/messages.  Below is an extract:

Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:36 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:36 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:36 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:37 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:37 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:37 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:38 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:38 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:38 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:52 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:52 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:52 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0

Both the em(4) and vio(4) interfaces were used to take other driver issues
out of the equation.

Depending on the setup, the splassert want can be 1 or 2 in our testing.

>Fix:
        Remove the vxlan(4) interface from the pf(4) queue or comment it
out.  At the moment, it is best to ensure that vxlan isn't part of any
queues as the amount of activity in the kernel and log files will impact
the  relinking of the kernel and could cause a host to become inoperable on
next boot.

This is not the ideal way of fixing the issue as production links running
on 6.2 are unprotected from pf queuing and can cause bandwidth constraints,
impacting other links terminating into the same firewall.

dmesg:
OpenBSD 6.2 (GENERIC.MP) #0: Thu Oct 12 19:53:18 CEST 2017
    [hidden email]:/usr/src/sys/arch/amd64/compile/
GENERIC.MP
real mem = 2129870848 (2031MB)
avail mem = 2058366976 (1963MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 3.0 @ 0x7f967000 (10 entries)
bios0: vendor BHYVE version "1.00" date 03/14/2014
bios0: bhyve BHYVE
acpi0 at bios0: rev 2
acpi0: sleep states S5
acpi0: tables DSDT FACP HPET APIC MCFG SPCR
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpihpet0 at acpi0: 10000000 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Atom(TM) CPU C2758 @ 2.40GHz, 2399.97 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,PBE,SSE3,PCLMUL,DTES64,DS-CPL,SSSE3,CX16,xTPR,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,RDRAND,HV,NXE,LONG,LAHF,3DNOWP,ITSC,ERMS,ARAT
cpu0: 1MB 64b/line 16-way L2 cache
cpu0: TSC frequency 2399973120 Hz
cpu0: smt 0, core 0, package 0
mtrr: CPU supports MTRRs but not enabled by BIOS
cpu0: apic clock running at 134MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Atom(TM) CPU C2758 @ 2.40GHz, 2399.89 MHz
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,PBE,SSE3,PCLMUL,DTES64,DS-CPL,SSSE3,CX16,xTPR,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,RDRAND,HV,NXE,LONG,LAHF,3DNOWP,ITSC,ERMS,ARAT
cpu1: 1MB 64b/line 16-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 11, 24 pins
, remapped to apid 2
acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
acpiprt0 at acpi0: bus 0 (PC00)
"PNP0F03" at acpi0 not configured
pvbus0 at mainbus0: bhyve
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 vendor "AMD", unknown product 0x7432 rev 0x00
ahci0 at pci0 dev 3 function 0 "Intel 82801H AHCI" rev 0x00: msi, AHCI 1.3
ahci0: port 0: 6.0Gb/s
scsibus1 at ahci0: 32 targets
cd0 at scsibus1 targ 0 lun 0: <BHYVE, BHYVE DVD-ROM, 001> ATAPI 5/cdrom
removable
ahci1 at pci0 dev 4 function 0 "Intel 82801H AHCI" rev 0x00: msi, AHCI 1.3
ahci1: port 0: 6.0Gb/s
scsibus2 at ahci1: 32 targets
sd0 at scsibus2 targ 0 lun 0: <ATA, BHYVE SATA DISK, 001> SCSI3 0/direct
fixed t10.ATA_BHYVE_SATA_DISK_BHYVE-0882-2786-49F5
sd0: 9216MB, 512 bytes/sector, 18874368 sectors, thin
ahci2 at pci0 dev 5 function 0 "Intel 82801H AHCI" rev 0x00: msi, AHCI 1.3
ahci2: port 0: 6.0Gb/s
scsibus3 at ahci2: 32 targets
sd1 at scsibus3 targ 0 lun 0: <ATA, BHYVE SATA DISK, 001> SCSI3 0/direct
fixed t10.ATA_BHYVE_SATA_DISK_BHYVE-4FB8-BFAE-BEEE
sd1: 360MB, 512 bytes/sector, 738240 sectors
virtio0 at pci0 dev 6 function 0 "Qumranet Virtio Network" rev 0x00
vio0 at virtio0: address 58:9c:fc:08:56:52
virtio0: msix shared
virtio1 at pci0 dev 6 function 1 "Qumranet Virtio Network" rev 0x00
vio1 at virtio1: address 58:9c:fc:01:11:f5
virtio1: msix shared
virtio2 at pci0 dev 6 function 2 "Qumranet Virtio Network" rev 0x00
vio2 at virtio2: address 58:9c:fc:0e:4d:b3
virtio2: msix shared
virtio3 at pci0 dev 6 function 3 "Qumranet Virtio Network" rev 0x00
vio3 at virtio3: address 58:9c:fc:09:c3:e9
virtio3: msix shared
virtio4 at pci0 dev 6 function 4 "Qumranet Virtio Network" rev 0x00
vio4 at virtio4: address 58:9c:fc:0b:c4:0b
virtio4: msix shared
virtio5 at pci0 dev 6 function 5 "Qumranet Virtio Network" rev 0x00
vio5 at virtio5: address 58:9c:fc:06:4a:83
virtio5: msix shared
unknown vendor 0xfb5d product 0x40fb (class display subclass VGA, rev 0x00)
at pci0 dev 7 function 0 not configured
xhci0 at pci0 dev 8 function 0 "Intel 7 Series xHCI" rev 0x00: msi
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
pcib0 at pci0 dev 31 function 0 "Intel 82371SB ISA" rev 0x00
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
efifb0 at mainbus0: 1920x1200, 32bpp
wsdisplay0 at efifb0 mux 1: console (std, vt100 emulation), using wskbd0
wsdisplay0: screen 1-5 added (std, vt100 emulation)
uhidev0 at uhub0 port 1 configuration 1 interface 0 "BHYVE HID Tablet" rev
3.00/0.00 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z dir
wsmouse1 at ums0 mux 0
vscsi0 at root
scsibus4 at vscsi0: 256 targets
softraid0 at root
scsibus5 at softraid0: 256 targets
root on sd0a (4c4700902e8dff9b.a) swap on sd0b dump on sd0b

usbdevs:
Controller /dev/usb0:
addr 1: super speed, self powered, config 1, xHCI root hub(0x0000),
Intel(0x8086), rev 1.00
 port 1 addr 2: high speed, self powered, config 1, HID Tablet(0x0001),
BHYVE(0xfb5d), rev 0.00, iSerialNumber 01
 port 2 disabled
 port 3 disabled
 port 4 disabled
 port 5 disabled
 port 6 disabled
 port 7 disabled
 port 8 disabled

pcidump:
Domain /dev/pci0:
 0:0:0: AMD unknown
        0x0000: Vendor ID: 1022 Product ID: 7432
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 06 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s Link Width: x1 / x1
        0x0100: Enhanced Capability 0x00: Unknown
        0x0000: 74321022 00100007 06000000 00000000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000040 00000000 000000ff
        0x0040: 00420010 00000000 00000000 00000411
        0x0050: 00110000 00000000 00010000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:3:0: Intel 82801H AHCI
        0x0000: Vendor ID: 8086 Product ID: 2821
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 01 Subclass: 06 Interface: 01 Revision: 00
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR mem 32bit addr: 0xc0000000/0x00000400
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 28218086 00100007 01060100 00000000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 c0000000 00000000 00000000
        0x0030: 00000000 00000040 00000000 00000105
        0x0040: 00870005 fee00000 00000000 00000060
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:4:0: Intel 82801H AHCI
        0x0000: Vendor ID: 8086 Product ID: 2821
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 01 Subclass: 06 Interface: 01 Revision: 00
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR mem 32bit addr: 0xc0000400/0x00000400
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 06 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 28218086 00100007 01060100 00000000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 c0000400 00000000 00000000
        0x0030: 00000000 00000040 00000000 00000106
        0x0040: 00870005 fee00000 00000000 00000061
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:5:0: Intel 82801H AHCI
        0x0000: Vendor ID: 8086 Product ID: 2821
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 01 Subclass: 06 Interface: 01 Revision: 00
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR mem 32bit addr: 0xc0000800/0x00000400
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 07 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 28218086 00100007 01060100 00000000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 c0000800 00000000 00000000
        0x0030: 00000000 00000040 00000000 00000107
        0x0040: 00870005 fee00000 00000000 00000062
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:6:0: Qumranet Virtio Network
        0x0000: Vendor ID: 1af4 Product ID: 1000
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x00002000/0x0020
        0x0014: BAR mem 32bit addr: 0xc0002000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 0a Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
        0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 10001af4 00100007 02000000 00800000
        0x0010: 00002001 c0002000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00011af4
        0x0030: 00000000 00000040 00000000 0000010a
        0x0040: 80024c11 00000001 00001001 00800005
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:6:1: Qumranet Virtio Network
        0x0000: Vendor ID: 1af4 Product ID: 1000
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x00002020/0x0020
        0x0014: BAR mem 32bit addr: 0xc0004000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 02 Line: 0b Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
        0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 10001af4 00100007 02000000 00800000
        0x0010: 00002021 c0004000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00011af4
        0x0030: 00000000 00000040 00000000 0000020b
        0x0040: 80024c11 00000001 00001001 00800005
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:6:2: Qumranet Virtio Network
        0x0000: Vendor ID: 1af4 Product ID: 1000
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x00002040/0x0020
        0x0014: BAR mem 32bit addr: 0xc0006000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 03 Line: 0c Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
        0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 10001af4 00100007 02000000 00800000
        0x0010: 00002041 c0006000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00011af4
        0x0030: 00000000 00000040 00000000 0000030c
        0x0040: 80024c11 00000001 00001001 00800005
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:6:3: Qumranet Virtio Network
        0x0000: Vendor ID: 1af4 Product ID: 1000
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x00002060/0x0020
        0x0014: BAR mem 32bit addr: 0xc0008000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 04 Line: 0e Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
        0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 10001af4 00100007 02000000 00800000
        0x0010: 00002061 c0008000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00011af4
        0x0030: 00000000 00000040 00000000 0000040e
        0x0040: 80024c11 00000001 00001001 00800005
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:6:4: Qumranet Virtio Network
        0x0000: Vendor ID: 1af4 Product ID: 1000
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x00002080/0x0020
        0x0014: BAR mem 32bit addr: 0xc000a000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 0a Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
        0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 10001af4 00100007 02000000 00800000
        0x0010: 00002081 c000a000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00011af4
        0x0030: 00000000 00000040 00000000 0000010a
        0x0040: 80024c11 00000001 00001001 00800005
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:6:5: Qumranet Virtio Network
        0x0000: Vendor ID: 1af4 Product ID: 1000
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x000020a0/0x0020
        0x0014: BAR mem 32bit addr: 0xc000c000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 02 Line: 0b Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
        0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 10001af4 00100007 02000000 00800000
        0x0010: 000020a1 c000c000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00011af4
        0x0030: 00000000 00000040 00000000 0000020b
        0x0040: 80024c11 00000001 00001001 00800005
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:7:0: unknown unknown
        0x0000: Vendor ID: fb5d Product ID: 40fb
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 03 Subclass: 00 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR mem 32bit addr: 0xc000e000/0x00000080
        0x0014: BAR mem 32bit addr: 0xc1000000/0x01000000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 40fbfb5d 00100007 03000000 00000000
        0x0010: c000e000 c1000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000040 00000000 000000ff
        0x0040: 00840005 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:8:0: Intel 7 Series xHCI
        0x0000: Vendor ID: 8086 Product ID: 1e31
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 0c Subclass: 03 Interface: 30 Revision: 00
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR mem 32bit addr: 0xc2000000/0x00001000
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 0f Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 1e318086 00100007 0c033000 00000000
        0x0010: c2000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000040 00000000 0000010f
        0x0040: 00810005 fee00000 00000000 00000063
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000030 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:31:0: Intel 82371SB ISA
        0x0000: Vendor ID: 8086 Product ID: 7000
        0x0004: Command: 0007 Status: 0000
        0x0008: Class: 06 Subclass: 01 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
        0x0000: 70008086 00000007 06010000 00000000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000000 00000000 000000ff
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 0a070605 00000000 0f0e0c0b 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000

acpidump:
begin-base64 644 APIC.4
QVBJQ1IAAAAB60JIWVZFIEJWTUFEVCAgAQAAAEJIWVYBAAAAAADg/gEAAAAACAAAAQAAAAAIAQEB
AAAAAQwCAAAAwP4AAAAAAgoAAAIAAAAAAA==
====
begin-base64 644 DSDT.2
RFNEVKMJAAAC6kJIWVZFAEJWRFNEVAAAAQAAAElOVEwDAxcgCF9TNV8SBQIKBQAIUElDTQAUDF9Q
SUMBcGhQSUNNEEeSX1NCX1uCT5FQQzAwCF9ISUQMQdAKAwhfQURSABQIX0JCTgCkAAhfQ1JTEUIM
Cr6IDQACDAAAAAAA/wAAAAABRwHAA8ADACBHAfgM+AwBCIgNAAEMAwAAAAD3DAAA+AyIDQABDAMA
AAAN//8AAADzhxcAAAwDAAAAAAAACgD//wsAAAAAAAAAAgCHFwAADAEAAAAAAAAAwP///98AAAAA
AAAAIIcXAAAMAQAAAAAAAADw//9/8AAAAAAAAIAAiisAAAwBAAAAAAAAAAAAAAAA0AAAAP//DwDQ
AAAAAAAAAAAAAAAAABAAAAAAAHkACFBQUlQSTwQEEhIEDP//AwAALkxQQ19MTktBABISBAz//wQA
AC5MUENfTE5LQgASEgQM//8FAAAuTFBDX0xOS0MAEhIEDP//BgAALkxQQ19MTktEAAhBUFJUEjIE
EgsEDP//AwAAAAoQEgsEDP//BAAAAAoREgsEDP//BQAAAAoSEgsEDP//BgAAAAoTFBhfUFJUAKAK
UElDTaRBUFJUoQakUFBSVFuCQHlMUENfCF9BRFIMAAAfAFuATFBDUgIACwABW4EzTFBDUgAAQDBQ
SVJBCFBJUkIIUElSQwhQSVJECAAgUElSRQhQSVJGCFBJUkcIUElSSAhbgjdLQkRfCF9ISUQMQdAD
AwhfQ0lEDEHQAwsIX0NSUxEYChVHAWAAYAAAAUcBZABkAAABIgIAeQBbgidNT1VfCF9ISUQMQdAP
AwhfQ0lEDEHQDxMIX0NSUxEICgUiABB5ABQuUElSVgGgCHtoCoAApAB7aAoPYKAHlWAKA6QAoAeT
YAoIpACgB5NgCg2kAKQBW4JKCkxOS0EIX0hJRAxB0AwPCF9VSUQBFBhfU1RBAKAMUElSVlBJUkGk
CguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjAxEQkKBiMAABh5AItDQjAxAUNJUkEUKV9DUlMAe1BJ
UkEKj2CgDVBJUlZgeQFgQ0lSQaEHcABDSVJBpENCMDEUDV9ESVMAcAqAUElSQRQaX1NSUwGLaAFT
SVJBglNJUkFgcHZgUElSQVuCSwpMTktCCF9ISUQMQdAMDwhfVUlECgIUGF9TVEEAoAxQSVJWUElS
QqQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDIRCQoGIwAAGHkAi0NCMDIBQ0lSQhQpX0NSUwB7
UElSQgqPYKANUElSVmB5AWBDSVJCoQdwAENJUkKkQ0IwMhQNX0RJUwBwCoBQSVJCFBpfU1JTAYto
AVNJUkKCU0lSQmBwdmBQSVJCW4JLCkxOS0MIX0hJRAxB0AwPCF9VSUQKAxQYX1NUQQCgDFBJUlZQ
SVJDpAoLoQSkCgkIX1BSUxEJCgYj+N4YeQAIQ0IwMxEJCgYjAAAYeQCLQ0IwMwFDSVJDFClfQ1JT
AHtQSVJDCo9goA1QSVJWYHkBYENJUkOhB3AAQ0lSQ6RDQjAzFA1fRElTAHAKgFBJUkMUGl9TUlMB
i2gBU0lSQ4JTSVJDYHB2YFBJUkNbgksKTE5LRAhfSElEDEHQDA8IX1VJRAoEFBhfU1RBAKAMUElS
VlBJUkSkCguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjA0EQkKBiMAABh5AItDQjA0AUNJUkQUKV9D
UlMAe1BJUkQKj2CgDVBJUlZgeQFgQ0lSRKEHcABDSVJEpENCMDQUDV9ESVMAcAqAUElSRBQaX1NS
UwGLaAFTSVJEglNJUkRgcHZgUElSRFuCSwpMTktFCF9ISUQMQdAMDwhfVUlECgUUGF9TVEEAoAxQ
SVJWUElSRaQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDURCQoGIwAAGHkAi0NCMDUBQ0lSRRQp
X0NSUwB7UElSRQqPYKANUElSVmB5AWBDSVJFoQdwAENJUkWkQ0IwNRQNX0RJUwBwCoBQSVJFFBpf
U1JTAYtoAVNJUkWCU0lSRWBwdmBQSVJFW4JLCkxOS0YIX0hJRAxB0AwPCF9VSUQKBhQYX1NUQQCg
DFBJUlZQSVJGpAoLoQSkCgkIX1BSUxEJCgYj+N4YeQAIQ0IwNhEJCgYjAAAYeQCLQ0IwNgFDSVJG
FClfQ1JTAHtQSVJGCo9goA1QSVJWYHkBYENJUkahB3AAQ0lSRqRDQjA2FA1fRElTAHAKgFBJUkYU
Gl9TUlMBi2gBU0lSRoJTSVJGYHB2YFBJUkZbgksKTE5LRwhfSElEDEHQDA8IX1VJRAoHFBhfU1RB
AKAMUElSVlBJUkekCguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjA3EQkKBiMAABh5AItDQjA3AUNJ
UkcUKV9DUlMAe1BJUkcKj2CgDVBJUlZgeQFgQ0lSR6EHcABDSVJHpENCMDcUDV9ESVMAcAqAUElS
RxQaX1NSUwGLaAFTSVJHglNJUkdgcHZgUElSR1uCSwpMTktICF9ISUQMQdAMDwhfVUlECggUGF9T
VEEAoAxQSVJWUElSSKQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDgRCQoGIwAAGHkAi0NCMDgB
Q0lSSBQpX0NSUwB7UElSSAqPYKANUElSVmB5AWBDSVJIoQdwAENJUkikQ0IwOBQNX0RJUwBwCoBQ
SVJIFBpfU1JTAYtoAVNJUkiCU0lSSGBwdmBQSVJIW4JIBlNJT18IX0hJRAxB0AwCCF9DUlMRQgUK
TkcBIAIgAgEERwEkAiQCAQSGCQABAAAA4AAAABBHAdAE0AQBAkcBYQBhAAEBRwEABAAEAQhHAbIA
sgABAUcBhACEAAEBRwFyAHIAAQZ5AFuCK0NPTTEIX0hJRAxB0AUBCF9VSUQBCF9DUlMREAoNRwH4
A/gDAQgiEAB5AFuCLENPTTIIX0hJRAxB0AUBCF9VSUQKAghfQ1JTERAKDUcB+AL4AgEIIggAeQBb
gi1SVENfCF9ISUQMQdALAAhfQ1JTERgKFUcBcABwAAACIgABRwFyAHIAAgZ5AFuCK1BJQ18IX0hJ
RAtB0AhfQ1JTERgKFUcBIAAgAAECRwGgAKAAAQIiBAB5AFuCJVRJTVIIX0hJRAxB0AEACF9DUlMR
EAoNRwFAAEAAAQQiAQB5ABA4Ll9TQl9QQzAwW4IsSFBFVAhfSElEDEHQAQMIX1VJRAAIX0NSUxER
Cg6GCQABAADQ/gAEAAB5AA==
====
begin-base64 644 FACP.1
RkFDUPQAAAAE60JIWVZFIEJWRkFDUCAgAQAAAEJIWVYBAAAAAJCZfwDgmH8BAAkAsgAAAKChAAAA
BAAAAAAAAAQEAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAQCAAQAAAAAAAAAAAAAAAAAAAAAMhIAACUF
AAABCAAB+QwAAAAAAAAGAAAAAAAAAAAAAAAA4Jh/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA==
====
begin-base64 644 HPET.3
SFBFVDgAAAABQkJIWVZFIEJWSFBFVCAgAQAAAEJIWVYBAAAAAKQAAAAAAAAAAND+AAAAAAAAAAA=
====
begin-base64 644 MCFG.5
TUNGRzwAAAAB+UJIWVZFIEJWTUNGRyAgAQAAAEJIWVYBAAAAAAAAAAAAAAAAAADgAAAAAAAAAP8A
AAAA
====
begin-base64 644 RSDT.0
UlNEVDgAAAABnkJIWVZFIEJWRkFDUCAgAQAAACAgICATAAABADCZfwAgmX8AEJl/AACZfwDwmH8=
====
begin-base64 644 SPCR.6
U1BDUlAAAAABeEJIWVZFIEJWU1BDUiAgAQAAAEJIWVYBAAAAAAAAAAEIAAD4AwAAAAAAAAEEAAAA
AAcAAQMCAAAAAAAAAAAAAAAAAAAAAAA=
====
begin-base64 644 headers
ClJTRCBQVFI6IENoZWNrc3VtPTExNywgT0VNSUQ9QkhZVkUsIFJzZHRBZGRyZXNzPTB4N2Y5OTQw
NzQKCgpSU0RUOiBMZW5ndGg9NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE1OCwKCU9FTUlEPUJI
WVZFLCBPRU0gVGFibGUgSUQ9QlZGQUNQLCBPRU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD0s
IENyZWF0b3IgUmV2aXNpb249MHgxMDAwMDEzCgoKCUVudHJpZXM9eyAweDdmOTkzMDAwLCAweDdm
OTkyMDAwLCAweDdmOTkxMDAwLCAweDdmOTkwMDAwLCAweDdmOThmMDAwIH0KCgoJRFNEVD0weDdm
OThlMDAwCglJTlRfTU9ERUw9QVBJQwoJU0NJX0lOVD05CglTTUlfQ01EPTB4YjIsIEFDUElfRU5B
QkxFPTB4YTAsIEFDUElfRElTQUJMRT0weGExLCBTNEJJT1NfUkVRPTB4MAoJUE0xYV9FVlRfQkxL
PTB4NDAwLTB4NDAzCglQTTFhX0NOVF9CTEs9MHg0MDQtMHg0MDUKCVBNMl9UTVJfQkxLPTB4NDA4
LTB4NDBiCglQX0xWTDJfTEFUPTBtcywgUF9MVkwzX0xBVD0wbXMKCUZMVVNIX1NJWkU9MCwgRkxV
U0hfU1RSSURFPTAKCURVVFlfT0ZGU0VUPTAsIERVVFlfV0lEVEg9MAoJREFZX0FMUk09MCwgTU9O
X0FMUk09MCwgQ0VOVFVSWT01MAoJRmxhZ3M9e1dCSU5WRCxQUk9DX0MxLFNMUF9CVVRUT04sVE1S
X1ZBTF9FWFR9CgoKRFNEVDogTGVuZ3RoPTI0NjcsIFJldmlzaW9uPTIsIENoZWNrc3VtPTIzNCwK
CU9FTUlEPUJIWVZFLCBPRU0gVGFibGUgSUQ9QlZEU0RULCBPRU0gUmV2aXNpb249MHgxLAoJQ3Jl
YXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAxNzAzMDMKCgpIUEVUOiBMZW5ndGg9
NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTY2LAoJT0VNSUQ9QkhZVkUsIE9FTSBUYWJsZSBJRD1C
VkhQRVQsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUJIWVYsIENyZWF0b3IgUmV2aXNp
b249MHgxCgoKQVBJQzogTGVuZ3RoPTgyLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yMzUsCglPRU1J
RD1CSFlWRSwgT0VNIFRhYmxlIElEPUJWTUFEVCwgT0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0b3Ig
SUQ9QkhZViwgQ3JlYXRvciBSZXZpc2lvbj0weDEKCgpNQ0ZHOiBMZW5ndGg9NjAsIFJldmlzaW9u
PTEsIENoZWNrc3VtPTI0OSwKCU9FTUlEPUJIWVZFLCBPRU0gVGFibGUgSUQ9QlZNQ0ZHLCBPRU0g
UmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD1CSFlWLCBDcmVhdG9yIFJldmlzaW9uPTB4MQoKClNQ
Q1I6IExlbmd0aD04MCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTIwLAoJT0VNSUQ9QkhZVkUsIE9F
TSBUYWJsZSBJRD1CVlNQQ1IsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUJIWVYsIENy
ZWF0b3IgUmV2aXNpb249MHgxCgo=
====
Reply | Threaded
Open this post in threaded view
|

Re: vxlan(4) causing splassert when added to a pf(4) queue

Martin Pieuchot
Hello Jason,

Could you do:

# sysctl kern.splassert=2

And report the tracebacks?

On 28/11/17(Tue) 10:49, Jason Tubnor wrote:

> >Synopsis:      kernel/driver for vxlan(4) pf(4) queue issue 6.2 and above
> >Category:      base/network
> >Environment:
>         System      : OpenBSD 6.2
>         Details     : OpenBSD 6.2 (GENERIC.MP) #0: Thu Oct 12 19:53:18 CEST
> 2017
>                          [hidden email]:
> /usr/src/sys/arch/amd64/compile/GENERIC.MP
>
>         Architecture: OpenBSD.amd64
>         Machine     : amd64
> >Description:
>         Previous to 6.2, a vxlan(4) interface could be added to a queue to
> control flows between two vxlan unicast end points.  Since 6.2 and tested
> to 25 November 2017 snapshot, this now causes a splassert in the kernel and
> depending on the underlying physical link, does not adhear to queue max
> setting.
>
> >How-To-Repeat:
>         This can be replicated using either 6.2-Release, 6.2-Stable or
> -CURRENT.  Set up 2 machines on a subnet with interfaces such as:
>
> /etc/hostname.em0
> inet 192.168.1.1 255.255.255.0
>
> /etc/hostname.vxlan1
> inet 10.2.2.1 255.255.255.252 10.2.2.3
> tunnel 192.168.1.1 192.168.1.2 vnetid 1
> up
>
> other host:
>
> /etc/hostname.em0
> inet 192.168.1.2 255.255.255.0
>
> /etc/hostname.vxlan1
> inet 10.2.2.2 255.255.255.252 10.2.2.3
> tunnel 192.168.1.2 192.168.1.1 vnetid 1
> up
>
> On both machines, simply add the following queue to the example pf.conf
> file:
>
> queue vxqueue on vxlan1 bandwidth 2M max 5M default
>
> Using iperf from ports/packages, create a dataflow to/from the vxlan
> interfaces (10.2.2.x), kernel output will appear on the console and in
> /var/log/messages.  Below is an extract:
>
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:20 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:36 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:36 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:36 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:37 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:37 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:37 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:38 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:38 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:38 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:52 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:52 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:52 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:53 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: ip_output: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: rt_match: want 1 have 0
> Nov 27 10:50:56 q4 /bsd: splassert: pfsync_update_state: want 1 have 0
>
> Both the em(4) and vio(4) interfaces were used to take other driver issues
> out of the equation.
>
> Depending on the setup, the splassert want can be 1 or 2 in our testing.
>
> >Fix:
>         Remove the vxlan(4) interface from the pf(4) queue or comment it
> out.  At the moment, it is best to ensure that vxlan isn't part of any
> queues as the amount of activity in the kernel and log files will impact
> the  relinking of the kernel and could cause a host to become inoperable on
> next boot.
>
> This is not the ideal way of fixing the issue as production links running
> on 6.2 are unprotected from pf queuing and can cause bandwidth constraints,
> impacting other links terminating into the same firewall.
>
> dmesg:
> OpenBSD 6.2 (GENERIC.MP) #0: Thu Oct 12 19:53:18 CEST 2017
>     [hidden email]:/usr/src/sys/arch/amd64/compile/
> GENERIC.MP
> real mem = 2129870848 (2031MB)
> avail mem = 2058366976 (1963MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 3.0 @ 0x7f967000 (10 entries)
> bios0: vendor BHYVE version "1.00" date 03/14/2014
> bios0: bhyve BHYVE
> acpi0 at bios0: rev 2
> acpi0: sleep states S5
> acpi0: tables DSDT FACP HPET APIC MCFG SPCR
> acpi0: wakeup devices
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpihpet0 at acpi0: 10000000 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Atom(TM) CPU C2758 @ 2.40GHz, 2399.97 MHz
> cpu0:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,PBE,SSE3,PCLMUL,DTES64,DS-CPL,SSSE3,CX16,xTPR,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,RDRAND,HV,NXE,LONG,LAHF,3DNOWP,ITSC,ERMS,ARAT
> cpu0: 1MB 64b/line 16-way L2 cache
> cpu0: TSC frequency 2399973120 Hz
> cpu0: smt 0, core 0, package 0
> mtrr: CPU supports MTRRs but not enabled by BIOS
> cpu0: apic clock running at 134MHz
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Atom(TM) CPU C2758 @ 2.40GHz, 2399.89 MHz
> cpu1:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,PBE,SSE3,PCLMUL,DTES64,DS-CPL,SSSE3,CX16,xTPR,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,RDRAND,HV,NXE,LONG,LAHF,3DNOWP,ITSC,ERMS,ARAT
> cpu1: 1MB 64b/line 16-way L2 cache
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 11, 24 pins
> , remapped to apid 2
> acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
> acpiprt0 at acpi0: bus 0 (PC00)
> "PNP0F03" at acpi0 not configured
> pvbus0 at mainbus0: bhyve
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 vendor "AMD", unknown product 0x7432 rev 0x00
> ahci0 at pci0 dev 3 function 0 "Intel 82801H AHCI" rev 0x00: msi, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> scsibus1 at ahci0: 32 targets
> cd0 at scsibus1 targ 0 lun 0: <BHYVE, BHYVE DVD-ROM, 001> ATAPI 5/cdrom
> removable
> ahci1 at pci0 dev 4 function 0 "Intel 82801H AHCI" rev 0x00: msi, AHCI 1.3
> ahci1: port 0: 6.0Gb/s
> scsibus2 at ahci1: 32 targets
> sd0 at scsibus2 targ 0 lun 0: <ATA, BHYVE SATA DISK, 001> SCSI3 0/direct
> fixed t10.ATA_BHYVE_SATA_DISK_BHYVE-0882-2786-49F5
> sd0: 9216MB, 512 bytes/sector, 18874368 sectors, thin
> ahci2 at pci0 dev 5 function 0 "Intel 82801H AHCI" rev 0x00: msi, AHCI 1.3
> ahci2: port 0: 6.0Gb/s
> scsibus3 at ahci2: 32 targets
> sd1 at scsibus3 targ 0 lun 0: <ATA, BHYVE SATA DISK, 001> SCSI3 0/direct
> fixed t10.ATA_BHYVE_SATA_DISK_BHYVE-4FB8-BFAE-BEEE
> sd1: 360MB, 512 bytes/sector, 738240 sectors
> virtio0 at pci0 dev 6 function 0 "Qumranet Virtio Network" rev 0x00
> vio0 at virtio0: address 58:9c:fc:08:56:52
> virtio0: msix shared
> virtio1 at pci0 dev 6 function 1 "Qumranet Virtio Network" rev 0x00
> vio1 at virtio1: address 58:9c:fc:01:11:f5
> virtio1: msix shared
> virtio2 at pci0 dev 6 function 2 "Qumranet Virtio Network" rev 0x00
> vio2 at virtio2: address 58:9c:fc:0e:4d:b3
> virtio2: msix shared
> virtio3 at pci0 dev 6 function 3 "Qumranet Virtio Network" rev 0x00
> vio3 at virtio3: address 58:9c:fc:09:c3:e9
> virtio3: msix shared
> virtio4 at pci0 dev 6 function 4 "Qumranet Virtio Network" rev 0x00
> vio4 at virtio4: address 58:9c:fc:0b:c4:0b
> virtio4: msix shared
> virtio5 at pci0 dev 6 function 5 "Qumranet Virtio Network" rev 0x00
> vio5 at virtio5: address 58:9c:fc:06:4a:83
> virtio5: msix shared
> unknown vendor 0xfb5d product 0x40fb (class display subclass VGA, rev 0x00)
> at pci0 dev 7 function 0 not configured
> xhci0 at pci0 dev 8 function 0 "Intel 7 Series xHCI" rev 0x00: msi
> 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
> pcib0 at pci0 dev 31 function 0 "Intel 82371SB ISA" rev 0x00
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard
> pms0 at pckbc0 (aux slot)
> wsmouse0 at pms0 mux 0
> efifb0 at mainbus0: 1920x1200, 32bpp
> wsdisplay0 at efifb0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> uhidev0 at uhub0 port 1 configuration 1 interface 0 "BHYVE HID Tablet" rev
> 3.00/0.00 addr 2
> uhidev0: iclass 3/1
> ums0 at uhidev0: 3 buttons, Z dir
> wsmouse1 at ums0 mux 0
> vscsi0 at root
> scsibus4 at vscsi0: 256 targets
> softraid0 at root
> scsibus5 at softraid0: 256 targets
> root on sd0a (4c4700902e8dff9b.a) swap on sd0b dump on sd0b
>
> usbdevs:
> Controller /dev/usb0:
> addr 1: super speed, self powered, config 1, xHCI root hub(0x0000),
> Intel(0x8086), rev 1.00
>  port 1 addr 2: high speed, self powered, config 1, HID Tablet(0x0001),
> BHYVE(0xfb5d), rev 0.00, iSerialNumber 01
>  port 2 disabled
>  port 3 disabled
>  port 4 disabled
>  port 5 disabled
>  port 6 disabled
>  port 7 disabled
>  port 8 disabled
>
> pcidump:
> Domain /dev/pci0:
>  0:0:0: AMD unknown
>         0x0000: Vendor ID: 1022 Product ID: 7432
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 06 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR empty (00000000)
>         0x0014: BAR empty (00000000)
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x10: PCI Express
>                 Link Speed: 2.5 / 2.5 GT/s Link Width: x1 / x1
>         0x0100: Enhanced Capability 0x00: Unknown
>         0x0000: 74321022 00100007 06000000 00000000
>         0x0010: 00000000 00000000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00000000
>         0x0030: 00000000 00000040 00000000 000000ff
>         0x0040: 00420010 00000000 00000000 00000411
>         0x0050: 00110000 00000000 00010000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:3:0: Intel 82801H AHCI
>         0x0000: Vendor ID: 8086 Product ID: 2821
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 01 Subclass: 06 Interface: 01 Revision: 00
>         0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR empty (00000000)
>         0x0014: BAR empty (00000000)
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR mem 32bit addr: 0xc0000000/0x00000400
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 28218086 00100007 01060100 00000000
>         0x0010: 00000000 00000000 00000000 00000000
>         0x0020: 00000000 c0000000 00000000 00000000
>         0x0030: 00000000 00000040 00000000 00000105
>         0x0040: 00870005 fee00000 00000000 00000060
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:4:0: Intel 82801H AHCI
>         0x0000: Vendor ID: 8086 Product ID: 2821
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 01 Subclass: 06 Interface: 01 Revision: 00
>         0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR empty (00000000)
>         0x0014: BAR empty (00000000)
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR mem 32bit addr: 0xc0000400/0x00000400
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 01 Line: 06 Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 28218086 00100007 01060100 00000000
>         0x0010: 00000000 00000000 00000000 00000000
>         0x0020: 00000000 c0000400 00000000 00000000
>         0x0030: 00000000 00000040 00000000 00000106
>         0x0040: 00870005 fee00000 00000000 00000061
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:5:0: Intel 82801H AHCI
>         0x0000: Vendor ID: 8086 Product ID: 2821
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 01 Subclass: 06 Interface: 01 Revision: 00
>         0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR empty (00000000)
>         0x0014: BAR empty (00000000)
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR mem 32bit addr: 0xc0000800/0x00000400
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 01 Line: 07 Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 28218086 00100007 01060100 00000000
>         0x0010: 00000000 00000000 00000000 00000000
>         0x0020: 00000000 c0000800 00000000 00000000
>         0x0030: 00000000 00000040 00000000 00000107
>         0x0040: 00870005 fee00000 00000000 00000062
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:6:0: Qumranet Virtio Network
>         0x0000: Vendor ID: 1af4 Product ID: 1000
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR io addr: 0x00002000/0x0020
>         0x0014: BAR mem 32bit addr: 0xc0002000/0x00002000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 01 Line: 0a Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>         0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 10001af4 00100007 02000000 00800000
>         0x0010: 00002001 c0002000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00011af4
>         0x0030: 00000000 00000040 00000000 0000010a
>         0x0040: 80024c11 00000001 00001001 00800005
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:6:1: Qumranet Virtio Network
>         0x0000: Vendor ID: 1af4 Product ID: 1000
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR io addr: 0x00002020/0x0020
>         0x0014: BAR mem 32bit addr: 0xc0004000/0x00002000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 02 Line: 0b Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>         0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 10001af4 00100007 02000000 00800000
>         0x0010: 00002021 c0004000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00011af4
>         0x0030: 00000000 00000040 00000000 0000020b
>         0x0040: 80024c11 00000001 00001001 00800005
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:6:2: Qumranet Virtio Network
>         0x0000: Vendor ID: 1af4 Product ID: 1000
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR io addr: 0x00002040/0x0020
>         0x0014: BAR mem 32bit addr: 0xc0006000/0x00002000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 03 Line: 0c Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>         0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 10001af4 00100007 02000000 00800000
>         0x0010: 00002041 c0006000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00011af4
>         0x0030: 00000000 00000040 00000000 0000030c
>         0x0040: 80024c11 00000001 00001001 00800005
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:6:3: Qumranet Virtio Network
>         0x0000: Vendor ID: 1af4 Product ID: 1000
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR io addr: 0x00002060/0x0020
>         0x0014: BAR mem 32bit addr: 0xc0008000/0x00002000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 04 Line: 0e Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>         0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 10001af4 00100007 02000000 00800000
>         0x0010: 00002061 c0008000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00011af4
>         0x0030: 00000000 00000040 00000000 0000040e
>         0x0040: 80024c11 00000001 00001001 00800005
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:6:4: Qumranet Virtio Network
>         0x0000: Vendor ID: 1af4 Product ID: 1000
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR io addr: 0x00002080/0x0020
>         0x0014: BAR mem 32bit addr: 0xc000a000/0x00002000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 01 Line: 0a Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>         0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 10001af4 00100007 02000000 00800000
>         0x0010: 00002081 c000a000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00011af4
>         0x0030: 00000000 00000040 00000000 0000010a
>         0x0040: 80024c11 00000001 00001001 00800005
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:6:5: Qumranet Virtio Network
>         0x0000: Vendor ID: 1af4 Product ID: 1000
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR io addr: 0x000020a0/0x0020
>         0x0014: BAR mem 32bit addr: 0xc000c000/0x00002000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 1af4 Product ID: 0001
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 02 Line: 0b Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>         0x004c: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 10001af4 00100007 02000000 00800000
>         0x0010: 000020a1 c000c000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00011af4
>         0x0030: 00000000 00000040 00000000 0000020b
>         0x0040: 80024c11 00000001 00001001 00800005
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:7:0: unknown unknown
>         0x0000: Vendor ID: fb5d Product ID: 40fb
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 03 Subclass: 00 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR mem 32bit addr: 0xc000e000/0x00000080
>         0x0014: BAR mem 32bit addr: 0xc1000000/0x01000000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 40fbfb5d 00100007 03000000 00000000
>         0x0010: c000e000 c1000000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00000000
>         0x0030: 00000000 00000040 00000000 000000ff
>         0x0040: 00840005 00000000 00000000 00000000
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000000 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:8:0: Intel 7 Series xHCI
>         0x0000: Vendor ID: 8086 Product ID: 1e31
>         0x0004: Command: 0007 Status: 0010
>         0x0008: Class: 0c Subclass: 03 Interface: 30 Revision: 00
>         0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR mem 32bit addr: 0xc2000000/0x00001000
>         0x0014: BAR empty (00000000)
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 01 Line: 0f Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x05: Message Signalled Interrupts (MSI)
>         0x0000: 1e318086 00100007 0c033000 00000000
>         0x0010: c2000000 00000000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00000000
>         0x0030: 00000000 00000040 00000000 0000010f
>         0x0040: 00810005 fee00000 00000000 00000063
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 00000030 00000000 00000000 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>  0:31:0: Intel 82371SB ISA
>         0x0000: Vendor ID: 8086 Product ID: 7000
>         0x0004: Command: 0007 Status: 0000
>         0x0008: Class: 06 Subclass: 01 Interface: 00 Revision: 00
>         0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size:
> 00
>         0x0010: BAR empty (00000000)
>         0x0014: BAR empty (00000000)
>         0x0018: BAR empty (00000000)
>         0x001c: BAR empty (00000000)
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
>         0x0000: 70008086 00000007 06010000 00000000
>         0x0010: 00000000 00000000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00000000
>         0x0030: 00000000 00000000 00000000 000000ff
>         0x0040: 00000000 00000000 00000000 00000000
>         0x0050: 00000000 00000000 00000000 00000000
>         0x0060: 0a070605 00000000 0f0e0c0b 00000000
>         0x0070: 00000000 00000000 00000000 00000000
>         0x0080: 00000000 00000000 00000000 00000000
>         0x0090: 00000000 00000000 00000000 00000000
>         0x00a0: 00000000 00000000 00000000 00000000
>         0x00b0: 00000000 00000000 00000000 00000000
>         0x00c0: 00000000 00000000 00000000 00000000
>         0x00d0: 00000000 00000000 00000000 00000000
>         0x00e0: 00000000 00000000 00000000 00000000
>         0x00f0: 00000000 00000000 00000000 00000000
>
> acpidump:
> begin-base64 644 APIC.4
> QVBJQ1IAAAAB60JIWVZFIEJWTUFEVCAgAQAAAEJIWVYBAAAAAADg/gEAAAAACAAAAQAAAAAIAQEB
> AAAAAQwCAAAAwP4AAAAAAgoAAAIAAAAAAA==
> ====
> begin-base64 644 DSDT.2
> RFNEVKMJAAAC6kJIWVZFAEJWRFNEVAAAAQAAAElOVEwDAxcgCF9TNV8SBQIKBQAIUElDTQAUDF9Q
> SUMBcGhQSUNNEEeSX1NCX1uCT5FQQzAwCF9ISUQMQdAKAwhfQURSABQIX0JCTgCkAAhfQ1JTEUIM
> Cr6IDQACDAAAAAAA/wAAAAABRwHAA8ADACBHAfgM+AwBCIgNAAEMAwAAAAD3DAAA+AyIDQABDAMA
> AAAN//8AAADzhxcAAAwDAAAAAAAACgD//wsAAAAAAAAAAgCHFwAADAEAAAAAAAAAwP///98AAAAA
> AAAAIIcXAAAMAQAAAAAAAADw//9/8AAAAAAAAIAAiisAAAwBAAAAAAAAAAAAAAAA0AAAAP//DwDQ
> AAAAAAAAAAAAAAAAABAAAAAAAHkACFBQUlQSTwQEEhIEDP//AwAALkxQQ19MTktBABISBAz//wQA
> AC5MUENfTE5LQgASEgQM//8FAAAuTFBDX0xOS0MAEhIEDP//BgAALkxQQ19MTktEAAhBUFJUEjIE
> EgsEDP//AwAAAAoQEgsEDP//BAAAAAoREgsEDP//BQAAAAoSEgsEDP//BgAAAAoTFBhfUFJUAKAK
> UElDTaRBUFJUoQakUFBSVFuCQHlMUENfCF9BRFIMAAAfAFuATFBDUgIACwABW4EzTFBDUgAAQDBQ
> SVJBCFBJUkIIUElSQwhQSVJECAAgUElSRQhQSVJGCFBJUkcIUElSSAhbgjdLQkRfCF9ISUQMQdAD
> AwhfQ0lEDEHQAwsIX0NSUxEYChVHAWAAYAAAAUcBZABkAAABIgIAeQBbgidNT1VfCF9ISUQMQdAP
> AwhfQ0lEDEHQDxMIX0NSUxEICgUiABB5ABQuUElSVgGgCHtoCoAApAB7aAoPYKAHlWAKA6QAoAeT
> YAoIpACgB5NgCg2kAKQBW4JKCkxOS0EIX0hJRAxB0AwPCF9VSUQBFBhfU1RBAKAMUElSVlBJUkGk
> CguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjAxEQkKBiMAABh5AItDQjAxAUNJUkEUKV9DUlMAe1BJ
> UkEKj2CgDVBJUlZgeQFgQ0lSQaEHcABDSVJBpENCMDEUDV9ESVMAcAqAUElSQRQaX1NSUwGLaAFT
> SVJBglNJUkFgcHZgUElSQVuCSwpMTktCCF9ISUQMQdAMDwhfVUlECgIUGF9TVEEAoAxQSVJWUElS
> QqQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDIRCQoGIwAAGHkAi0NCMDIBQ0lSQhQpX0NSUwB7
> UElSQgqPYKANUElSVmB5AWBDSVJCoQdwAENJUkKkQ0IwMhQNX0RJUwBwCoBQSVJCFBpfU1JTAYto
> AVNJUkKCU0lSQmBwdmBQSVJCW4JLCkxOS0MIX0hJRAxB0AwPCF9VSUQKAxQYX1NUQQCgDFBJUlZQ
> SVJDpAoLoQSkCgkIX1BSUxEJCgYj+N4YeQAIQ0IwMxEJCgYjAAAYeQCLQ0IwMwFDSVJDFClfQ1JT
> AHtQSVJDCo9goA1QSVJWYHkBYENJUkOhB3AAQ0lSQ6RDQjAzFA1fRElTAHAKgFBJUkMUGl9TUlMB
> i2gBU0lSQ4JTSVJDYHB2YFBJUkNbgksKTE5LRAhfSElEDEHQDA8IX1VJRAoEFBhfU1RBAKAMUElS
> VlBJUkSkCguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjA0EQkKBiMAABh5AItDQjA0AUNJUkQUKV9D
> UlMAe1BJUkQKj2CgDVBJUlZgeQFgQ0lSRKEHcABDSVJEpENCMDQUDV9ESVMAcAqAUElSRBQaX1NS
> UwGLaAFTSVJEglNJUkRgcHZgUElSRFuCSwpMTktFCF9ISUQMQdAMDwhfVUlECgUUGF9TVEEAoAxQ
> SVJWUElSRaQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDURCQoGIwAAGHkAi0NCMDUBQ0lSRRQp
> X0NSUwB7UElSRQqPYKANUElSVmB5AWBDSVJFoQdwAENJUkWkQ0IwNRQNX0RJUwBwCoBQSVJFFBpf
> U1JTAYtoAVNJUkWCU0lSRWBwdmBQSVJFW4JLCkxOS0YIX0hJRAxB0AwPCF9VSUQKBhQYX1NUQQCg
> DFBJUlZQSVJGpAoLoQSkCgkIX1BSUxEJCgYj+N4YeQAIQ0IwNhEJCgYjAAAYeQCLQ0IwNgFDSVJG
> FClfQ1JTAHtQSVJGCo9goA1QSVJWYHkBYENJUkahB3AAQ0lSRqRDQjA2FA1fRElTAHAKgFBJUkYU
> Gl9TUlMBi2gBU0lSRoJTSVJGYHB2YFBJUkZbgksKTE5LRwhfSElEDEHQDA8IX1VJRAoHFBhfU1RB
> AKAMUElSVlBJUkekCguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjA3EQkKBiMAABh5AItDQjA3AUNJ
> UkcUKV9DUlMAe1BJUkcKj2CgDVBJUlZgeQFgQ0lSR6EHcABDSVJHpENCMDcUDV9ESVMAcAqAUElS
> RxQaX1NSUwGLaAFTSVJHglNJUkdgcHZgUElSR1uCSwpMTktICF9ISUQMQdAMDwhfVUlECggUGF9T
> VEEAoAxQSVJWUElSSKQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDgRCQoGIwAAGHkAi0NCMDgB
> Q0lSSBQpX0NSUwB7UElSSAqPYKANUElSVmB5AWBDSVJIoQdwAENJUkikQ0IwOBQNX0RJUwBwCoBQ
> SVJIFBpfU1JTAYtoAVNJUkiCU0lSSGBwdmBQSVJIW4JIBlNJT18IX0hJRAxB0AwCCF9DUlMRQgUK
> TkcBIAIgAgEERwEkAiQCAQSGCQABAAAA4AAAABBHAdAE0AQBAkcBYQBhAAEBRwEABAAEAQhHAbIA
> sgABAUcBhACEAAEBRwFyAHIAAQZ5AFuCK0NPTTEIX0hJRAxB0AUBCF9VSUQBCF9DUlMREAoNRwH4
> A/gDAQgiEAB5AFuCLENPTTIIX0hJRAxB0AUBCF9VSUQKAghfQ1JTERAKDUcB+AL4AgEIIggAeQBb
> gi1SVENfCF9ISUQMQdALAAhfQ1JTERgKFUcBcABwAAACIgABRwFyAHIAAgZ5AFuCK1BJQ18IX0hJ
> RAtB0AhfQ1JTERgKFUcBIAAgAAECRwGgAKAAAQIiBAB5AFuCJVRJTVIIX0hJRAxB0AEACF9DUlMR
> EAoNRwFAAEAAAQQiAQB5ABA4Ll9TQl9QQzAwW4IsSFBFVAhfSElEDEHQAQMIX1VJRAAIX0NSUxER
> Cg6GCQABAADQ/gAEAAB5AA==
> ====
> begin-base64 644 FACP.1
> RkFDUPQAAAAE60JIWVZFIEJWRkFDUCAgAQAAAEJIWVYBAAAAAJCZfwDgmH8BAAkAsgAAAKChAAAA
> BAAAAAAAAAQEAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAQCAAQAAAAAAAAAAAAAAAAAAAAAMhIAACUF
> AAABCAAB+QwAAAAAAAAGAAAAAAAAAAAAAAAA4Jh/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAA==
> ====
> begin-base64 644 HPET.3
> SFBFVDgAAAABQkJIWVZFIEJWSFBFVCAgAQAAAEJIWVYBAAAAAKQAAAAAAAAAAND+AAAAAAAAAAA=
> ====
> begin-base64 644 MCFG.5
> TUNGRzwAAAAB+UJIWVZFIEJWTUNGRyAgAQAAAEJIWVYBAAAAAAAAAAAAAAAAAADgAAAAAAAAAP8A
> AAAA
> ====
> begin-base64 644 RSDT.0
> UlNEVDgAAAABnkJIWVZFIEJWRkFDUCAgAQAAACAgICATAAABADCZfwAgmX8AEJl/AACZfwDwmH8=
> ====
> begin-base64 644 SPCR.6
> U1BDUlAAAAABeEJIWVZFIEJWU1BDUiAgAQAAAEJIWVYBAAAAAAAAAAEIAAD4AwAAAAAAAAEEAAAA
> AAcAAQMCAAAAAAAAAAAAAAAAAAAAAAA=
> ====
> begin-base64 644 headers
> ClJTRCBQVFI6IENoZWNrc3VtPTExNywgT0VNSUQ9QkhZVkUsIFJzZHRBZGRyZXNzPTB4N2Y5OTQw
> NzQKCgpSU0RUOiBMZW5ndGg9NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE1OCwKCU9FTUlEPUJI
> WVZFLCBPRU0gVGFibGUgSUQ9QlZGQUNQLCBPRU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD0s
> IENyZWF0b3IgUmV2aXNpb249MHgxMDAwMDEzCgoKCUVudHJpZXM9eyAweDdmOTkzMDAwLCAweDdm
> OTkyMDAwLCAweDdmOTkxMDAwLCAweDdmOTkwMDAwLCAweDdmOThmMDAwIH0KCgoJRFNEVD0weDdm
> OThlMDAwCglJTlRfTU9ERUw9QVBJQwoJU0NJX0lOVD05CglTTUlfQ01EPTB4YjIsIEFDUElfRU5B
> QkxFPTB4YTAsIEFDUElfRElTQUJMRT0weGExLCBTNEJJT1NfUkVRPTB4MAoJUE0xYV9FVlRfQkxL
> PTB4NDAwLTB4NDAzCglQTTFhX0NOVF9CTEs9MHg0MDQtMHg0MDUKCVBNMl9UTVJfQkxLPTB4NDA4
> LTB4NDBiCglQX0xWTDJfTEFUPTBtcywgUF9MVkwzX0xBVD0wbXMKCUZMVVNIX1NJWkU9MCwgRkxV
> U0hfU1RSSURFPTAKCURVVFlfT0ZGU0VUPTAsIERVVFlfV0lEVEg9MAoJREFZX0FMUk09MCwgTU9O
> X0FMUk09MCwgQ0VOVFVSWT01MAoJRmxhZ3M9e1dCSU5WRCxQUk9DX0MxLFNMUF9CVVRUT04sVE1S
> X1ZBTF9FWFR9CgoKRFNEVDogTGVuZ3RoPTI0NjcsIFJldmlzaW9uPTIsIENoZWNrc3VtPTIzNCwK
> CU9FTUlEPUJIWVZFLCBPRU0gVGFibGUgSUQ9QlZEU0RULCBPRU0gUmV2aXNpb249MHgxLAoJQ3Jl
> YXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAxNzAzMDMKCgpIUEVUOiBMZW5ndGg9
> NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTY2LAoJT0VNSUQ9QkhZVkUsIE9FTSBUYWJsZSBJRD1C
> VkhQRVQsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUJIWVYsIENyZWF0b3IgUmV2aXNp
> b249MHgxCgoKQVBJQzogTGVuZ3RoPTgyLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yMzUsCglPRU1J
> RD1CSFlWRSwgT0VNIFRhYmxlIElEPUJWTUFEVCwgT0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0b3Ig
> SUQ9QkhZViwgQ3JlYXRvciBSZXZpc2lvbj0weDEKCgpNQ0ZHOiBMZW5ndGg9NjAsIFJldmlzaW9u
> PTEsIENoZWNrc3VtPTI0OSwKCU9FTUlEPUJIWVZFLCBPRU0gVGFibGUgSUQ9QlZNQ0ZHLCBPRU0g
> UmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD1CSFlWLCBDcmVhdG9yIFJldmlzaW9uPTB4MQoKClNQ
> Q1I6IExlbmd0aD04MCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTIwLAoJT0VNSUQ9QkhZVkUsIE9F
> TSBUYWJsZSBJRD1CVlNQQ1IsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUJIWVYsIENy
> ZWF0b3IgUmV2aXNpb249MHgxCgo=
> ====

Reply | Threaded
Open this post in threaded view
|

Re: vxlan(4) causing splassert when added to a pf(4) queue

Jason Tubnor
On 28 November 2017 at 20:33, Martin Pieuchot <[hidden email]> wrote:

>
> Could you do:
>
> # sysctl kern.splassert=2
>
> And report the tracebacks?
>

Hi Martin,

Please find attached a compressed /var/log/messages file.  This only
contains data gathered when conducting the iperf tests.  Please advise if
there are any further tests or data you need.

Thanks,

Jason.

messages.gz (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: vxlan(4) causing splassert when added to a pf(4) queue

Martin Pieuchot
On 29/11/17(Wed) 12:13, Jason Tubnor wrote:

> On 28 November 2017 at 20:33, Martin Pieuchot <[hidden email]> wrote:
>
> >
> > Could you do:
> >
> > # sysctl kern.splassert=2
> >
> > And report the tracebacks?
> >
>
> Hi Martin,
>
> Please find attached a compressed /var/log/messages file.  This only
> contains data gathered when conducting the iperf tests.  Please advise if
> there are any further tests or data you need.

Thanks, the problem is that vxlan(4)+HFSC is currently broken as it
doesn't grab the NET_LOCK():

  splassert: ip_output: want 2 have 0
  Starting stack trace...
  ip_output(ffff8000005024b8,2,0,ffffff0036bd1f00,ffff800000502000,cae9f2e3efe2f
0bc) at ip_output+0x79
  vxlan_output(ffff800000502230,ffff800000502000) at vxlan_output+0x2f1
  vxlanstart(4) at vxlanstart+0x2b
  if_qstart_compat(ffff8000005022a8) at if_qstart_compat+0x33
  ifq_serialize(ffffffff81b17700,ffff800000502230) at ifq_serialize+0xe7
  hfsc_deferred(ffffffff81b17700) at hfsc_deferred+0x42
  softclock(ffffffff81aac260) at softclock+0xd6
  softintr_dispatch(ffff80000001a8a0) at softintr_dispatch+0xcb
  Xsoftclock() at Xsoftclock+0x1f
  --- interrupt ---

I guess the correct solution would be to use a task in vxlanstart()...

Reply | Threaded
Open this post in threaded view
|

Re: vxlan(4) causing splassert when added to a pf(4) queue

Martin Pieuchot
In reply to this post by Jason Tubnor
Hello Jason,

On 29/11/17(Wed) 12:13, Jason Tubnor wrote:

> On 28 November 2017 at 20:33, Martin Pieuchot <[hidden email]> wrote:
> > Could you do:
> >
> > # sysctl kern.splassert=2
> >
> > And report the tracebacks?
> >
>
> Hi Martin,
>
> Please find attached a compressed /var/log/messages file.  This only
> contains data gathered when conducting the iperf tests.  Please advise if
> there are any further tests or data you need.

Here's a diff that should fix the problem, do you confirm?

Index: net/if_vxlan.c
===================================================================
RCS file: /cvs/src/sys/net/if_vxlan.c,v
retrieving revision 1.64
diff -u -p -r1.64 if_vxlan.c
--- net/if_vxlan.c 20 Nov 2017 10:35:24 -0000 1.64
+++ net/if_vxlan.c 14 Dec 2017 11:43:10 -0000
@@ -73,6 +73,8 @@ struct vxlan_softc {
  int64_t sc_vnetid;
  u_int8_t sc_ttl;
 
+ struct task sc_sendtask;
+
  LIST_ENTRY(vxlan_softc) sc_entry;
 };
 
@@ -91,6 +93,7 @@ int vxlan_output(struct ifnet *, struct
 void vxlan_addr_change(void *);
 void vxlan_if_change(void *);
 void vxlan_link_change(void *);
+void vxlan_send_dispatch(void *);
 
 int vxlan_sockaddr_cmp(struct sockaddr *, struct sockaddr *);
 uint16_t vxlan_sockaddr_port(struct sockaddr *);
@@ -135,6 +138,7 @@ vxlan_clone_create(struct if_clone *ifc,
  sc->sc_imo.imo_max_memberships = IP_MIN_MEMBERSHIPS;
  sc->sc_dstport = htons(VXLAN_PORT);
  sc->sc_vnetid = VXLAN_VNI_UNSET;
+ task_set(&sc->sc_sendtask, vxlan_send_dispatch, sc);
 
  ifp = &sc->sc_ac.ac_if;
  snprintf(ifp->if_xname, sizeof ifp->if_xname, "vxlan%d", unit);
@@ -189,6 +193,10 @@ vxlan_clone_destroy(struct ifnet *ifp)
  ifmedia_delete_instance(&sc->sc_media, IFM_INST_ANY);
  ether_ifdetach(ifp);
  if_detach(ifp);
+
+ if (!task_del(net_tq(ifp->if_index), &sc->sc_sendtask))
+ taskq_barrier(net_tq(ifp->if_index));
+
  free(sc->sc_imo.imo_membership, M_IPMOPTS, 0);
  free(sc, M_DEVBUF, sizeof(*sc));
 
@@ -302,8 +310,20 @@ vxlan_multicast_join(struct ifnet *ifp,
 void
 vxlanstart(struct ifnet *ifp)
 {
+ struct vxlan_softc *sc = (struct vxlan_softc *)ifp->if_softc;
+
+ task_add(net_tq(ifp->if_index), &sc->sc_sendtask);
+}
+
+void
+vxlan_send_dispatch(void *xsc)
+{
+ struct vxlan_softc *sc = xsc;
+ struct ifnet *ifp = &sc->sc_ac.ac_if;
  struct mbuf *m;
+ struct mbuf_list ml;
 
+ ml_init(&ml);
  for (;;) {
  IFQ_DEQUEUE(&ifp->if_snd, m);
  if (m == NULL)
@@ -314,9 +334,19 @@ vxlanstart(struct ifnet *ifp)
  bpf_mtap(ifp->if_bpf, m, BPF_DIRECTION_OUT);
 #endif
 
+ ml_enqueue(&ml, m);
+ }
+
+ if (ml_empty(&ml))
+ return;
+
+ NET_RLOCK();
+ while ((m = ml_dequeue(&ml)) != NULL) {
  vxlan_output(ifp, m);
  }
+ NET_RUNLOCK();
 }
+
 
 int
 vxlan_config(struct ifnet *ifp, struct sockaddr *src, struct sockaddr *dst)