On Wed, Feb 18, 2015 at 12:14:15PM +0100, Matthieu Herrb wrote: > Hi, > > I'm setting up a new pair of firewalls, running -current. When I bring > up the carp0 interface, I get (running with kern.splassert=2): > > Feb 18 12:09:59 castor /bsd: splassert: rtrequest1: want 5 have 0 > Feb 18 12:09:59 castor /bsd: Starting stack trace... > Feb 18 12:09:59 castor /bsd: splassert_check() at splassert_check+0x78 > Feb 18 12:09:59 castor /bsd: rtrequest1() at rtrequest1+0x5e > Feb 18 12:09:59 castor /bsd: nd6_prefix_offlink() at > nd6_prefix_offlink+0x1bf > Feb 18 12:09:59 castor /bsd: pfxlist_onlink_check() at > pfxlist_onlink_check+0x25e > Feb 18 12:09:59 castor /bsd: in6_control() at in6_control+0x894 > Feb 18 12:09:59 castor /bsd: ifioctl() at ifioctl+0x175 > Feb 18 12:09:59 castor /bsd: sys_ioctl() at sys_ioctl+0x169 > Feb 18 12:09:59 castor /bsd: syscall() at syscall+0x297 > Feb 18 12:09:59 castor /bsd: --- syscall (number 54) --- > Feb 18 12:09:59 castor /bsd: end of kernel > Feb 18 12:09:59 castor /bsd: end trace frame: 0xc8115948400, count: > 249 > Feb 18 12:09:59 castor /bsd: 0xc8115715cda: > Feb 18 12:09:59 castor /bsd: End of stack trace. > Feb 18 12:10:00 castor /bsd: carp0: state transition: BACKUP -> > MASTER
I notided that only one rtrequest1() call in nd6_rtr.c is protected by splsoftnet()/splx() explicitely. Should I add that to the call in nd6_prefix_offlink (and maybe the others too) ? > > I do have an IPv6 address configured on carp0: > > castor$ cat /etc/hostname.carp0 > vhid 100 carpdev em0 pass suppressed0 > inet 140.93.56.3 255.255.248.0 > inet6 2001:660:6602:13::3 64 > > OpenBSD 5.7-beta (GENERIC.MP) #3: Tue Feb 17 11:03:09 CET 2015 > matthieu@castor:/share/OpenBSD/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 17115840512 (16322MB) > avail mem = 16656306176 (15884MB) > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xcf42c000 (77 entries) > bios0: vendor Dell Inc. version "2.3.3" date 07/10/2014 > bios0: Dell Inc. PowerEdge R420 > acpi0 at bios0: rev 2 > acpi0: sleep states S0 S4 S5 > acpi0: tables DSDT FACP APIC SPCR HPET DMAR MCFG WD__ SLIC ERST HEST BERT > EINJ TCPA PC__ SRAT SSDT > acpi0: wakeup devices PCI0(S5) EHC1(S3) EHC2(S3) PCI1(S5) > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Intel(R) Xeon(R) CPU E5-2407 v2 @ 2.40GHz, 2400.34 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,DCA,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS > cpu0: 256KB 64b/line 8-way L2 cache > cpu0: smt 0, core 0, package 0 > mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges > cpu0: apic clock running at 100MHz > cpu0: mwait min=64, max=64, C-substates=0.2.1.1.0, IBE > cpu1 at mainbus0: apid 2 (application processor) > cpu1: Intel(R) Xeon(R) CPU E5-2407 v2 @ 2.40GHz, 2400.01 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,DCA,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS > cpu1: 256KB 64b/line 8-way L2 cache > cpu1: smt 0, core 1, package 0 > cpu2 at mainbus0: apid 4 (application processor) > cpu2: Intel(R) Xeon(R) CPU E5-2407 v2 @ 2.40GHz, 2400.01 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,DCA,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS > cpu2: 256KB 64b/line 8-way L2 cache > cpu2: smt 0, core 2, package 0 > cpu3 at mainbus0: apid 6 (application processor) > cpu3: Intel(R) Xeon(R) CPU E5-2407 v2 @ 2.40GHz, 2400.01 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,DCA,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS > cpu3: 256KB 64b/line 8-way L2 cache > cpu3: smt 0, core 3, package 0 > ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 20, 24 pins > ioapic1 at mainbus0: apid 1 pa 0xfec3f000, version 20, 24 pins > ioapic1: misconfigured as apic 15, remapped to apid 1 > acpihpet0 at acpi0: 14318179 Hz > acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255 > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus 1 (PEX1) > acpiprt2 at acpi0: bus -1 (PEX2) > acpiprt3 at acpi0: bus 8 (PEX3) > acpiprt4 at acpi0: bus -1 (PEX4) > acpiprt5 at acpi0: bus -1 (PEX5) > acpiprt6 at acpi0: bus 10 (PEX6) > acpiprt7 at acpi0: bus 2 (PEX7) > acpiprt8 at acpi0: bus -1 (PEX8) > acpiprt9 at acpi0: bus 3 (PEX9) > acpicpu0 at acpi0 > acpicpu1 at acpi0 > acpicpu2 at acpi0 > acpicpu3 at acpi0 > ipmi at mainbus0 not configured > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "Intel E5 v2 Host" rev 0x04 > ppb0 at pci0 dev 1 function 0 "Intel E5 v2 PCIE" rev 0x04 > pci1 at ppb0 bus 1 > mfi0 at pci1 dev 0 function 0 "Symbios Logic MegaRAID SAS2008" rev 0x03: apic > 1 int 2 > mfi0: "PERC H310 Mini", firmware 20.13.0-0007 > scsibus1 at mfi0: 16 targets > sd0 at scsibus1 targ 0 lun 0: <DELL, PERC H310, 2.12> SCSI3 0/direct fixed > naa.6b083fe0c600cd001bf7c16e09b66c1c > sd0: 285568MB, 512 bytes/sector, 584843264 sectors > scsibus2 at mfi0: 256 targets > ppb1 at pci0 dev 3 function 0 "Intel E5 v2 PCIE" rev 0x04: msi > pci2 at ppb1 bus 8 > em0 at pci2 dev 0 function 0 "Intel I350" rev 0x01: msi, address > a0:36:9f:49:d2:94 > em1 at pci2 dev 0 function 1 "Intel I350" rev 0x01: msi, address > a0:36:9f:49:d2:95 > em2 at pci2 dev 0 function 2 "Intel I350" rev 0x01: msi, address > a0:36:9f:49:d2:96 > em3 at pci2 dev 0 function 3 "Intel I350" rev 0x01: msi, address > a0:36:9f:49:d2:97 > "Intel E5 v2 Address Map" rev 0x04 at pci0 dev 5 function 0 not configured > "Intel E5 v2 IIO RAS" rev 0x04 at pci0 dev 5 function 2 not configured > ppb2 at pci0 dev 17 function 0 "Intel C600 Virtual PCIE" rev 0x05 > pci3 at ppb2 bus 9 > "Intel C600 MEI" rev 0x05 at pci0 dev 22 function 0 not configured > "Intel C600 MEI" rev 0x05 at pci0 dev 22 function 1 not configured > ehci0 at pci0 dev 26 function 0 "Intel C600 USB" rev 0x05: apic 0 int 23 > usb0 at ehci0: USB revision 2.0 > uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 > ppb3 at pci0 dev 28 function 0 "Intel C600 PCIE" rev 0xb5: msi > pci4 at ppb3 bus 10 > 10:0:1: mem address conflict 0xda000000/0x40000 > bge0 at pci4 dev 0 function 0 "Broadcom BCM5720" rev 0x00, BCM5720 A0 > (0x5720000), APE firmware NCSI 1.2.46.0: msi, address 00:0a:f7:52:d5:8a > brgphy0 at bge0 phy 1: BCM5720C 10/100/1000baseT PHY, rev. 0 > bge1 at pci4 dev 0 function 1 "Broadcom BCM5720" rev 0x00, BCM5720 A0 > (0x5720000), APE firmware NCSI 1.2.46.0: msi, address 00:0a:f7:52:d5:8b > brgphy1 at bge1 phy 2: BCM5720C 10/100/1000baseT PHY, rev. 0 > ppb4 at pci0 dev 28 function 4 "Intel C600 PCIE" rev 0xb5 > pci5 at ppb4 bus 2 > 2:0:1: mem address conflict 0xda800000/0x40000 > bge2 at pci5 dev 0 function 0 "Broadcom BCM5720" rev 0x00, BCM5720 A0 > (0x5720000), APE firmware NCSI 1.2.46.0: msi, address b0:83:fe:c6:0b:95 > brgphy2 at bge2 phy 1: BCM5720C 10/100/1000baseT PHY, rev. 0 > bge3 at pci5 dev 0 function 1 "Broadcom BCM5720" rev 0x00, BCM5720 A0 > (0x5720000), APE firmware NCSI 1.2.46.0: msi, address b0:83:fe:c6:0b:96 > brgphy3 at bge3 phy 2: BCM5720C 10/100/1000baseT PHY, rev. 0 > ppb5 at pci0 dev 28 function 7 "Intel C600 PCIE" rev 0xb5 > pci6 at ppb5 bus 3 > ppb6 at pci6 dev 0 function 0 "Renesas SH7757 PCIE Switch" rev 0x00 > pci7 at ppb6 bus 4 > ppb7 at pci7 dev 0 function 0 "Renesas SH7757 PCIE Switch" rev 0x00 > pci8 at ppb7 bus 5 > ppb8 at pci8 dev 0 function 0 "Renesas SH7757 PCIE-PCI" rev 0x00 > pci9 at ppb8 bus 6 > vga1 at pci9 dev 0 function 0 "Matrox MGA G200eR" rev 0x00 > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) > wsdisplay0: screen 1-5 added (80x25, vt100 emulation) > ppb9 at pci7 dev 1 function 0 "Renesas SH7757 PCIE Switch" rev 0x00 > pci10 at ppb9 bus 7 > ehci1 at pci0 dev 29 function 0 "Intel C600 USB" rev 0x05: apic 0 int 22 > usb1 at ehci1: USB revision 2.0 > uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1 > ppb10 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xa5 > pci11 at ppb10 bus 11 > pcib0 at pci0 dev 31 function 0 "Intel C600 LPC" rev 0x05 > ahci0 at pci0 dev 31 function 2 "Intel C600 AHCI" rev 0x05: msi, AHCI 1.3 > scsibus3 at ahci0: 32 targets > cd0 at scsibus3 targ 4 lun 0: <TSSTcorp, DVD+-RW SN-208FB, D150> ATAPI > 5/cdrom removable > isa0 at pcib0 > isadma0 at isa0 > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo > com2 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo > pckbc0 at isa0 port 0x60/5 > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > pci12 at mainbus0 bus 64 > pci13 at mainbus0 bus 63 > "Intel E5 v2 QPI Link" rev 0x04 at pci13 dev 8 function 0 not configured > "Intel E5 v2 QPI Link" rev 0x04 at pci13 dev 9 function 0 not configured > "Intel E5 v2 PCU" rev 0x04 at pci13 dev 10 function 0 not configured > "Intel E5 v2 PCU" rev 0x04 at pci13 dev 10 function 1 not configured > "Intel E5 v2 PCU" rev 0x04 at pci13 dev 10 function 2 not configured > "Intel E5 v2 PCU" rev 0x04 at pci13 dev 10 function 3 not configured > "Intel E5 v2 UBOX" rev 0x04 at pci13 dev 11 function 0 not configured > "Intel E5 v2 UBOX" rev 0x04 at pci13 dev 11 function 3 not configured > "Intel E5 v2 Unicast" rev 0x04 at pci13 dev 12 function 0 not configured > "Intel E5 v2 Unicast" rev 0x04 at pci13 dev 12 function 1 not configured > "Intel E5 v2 Unicast" rev 0x04 at pci13 dev 13 function 0 not configured > "Intel E5 v2 Unicast" rev 0x04 at pci13 dev 13 function 1 not configured > "Intel E5 v2 Home Agent" rev 0x04 at pci13 dev 14 function 0 not configured > "Intel E5 v2 Home Agent" rev 0x04 at pci13 dev 14 function 1 not configured > "Intel E5 v2 TA" rev 0x04 at pci13 dev 15 function 0 not configured > "Intel E5 v2 RAS" rev 0x04 at pci13 dev 15 function 1 not configured > "Intel E5 v2 TAD" rev 0x04 at pci13 dev 15 function 2 not configured > "Intel E5 v2 TAD" rev 0x04 at pci13 dev 15 function 3 not configured > "Intel E5 v2 TAD" rev 0x04 at pci13 dev 15 function 4 not configured > "Intel E5 v2 TAD" rev 0x04 at pci13 dev 15 function 5 not configured > "Intel E5 v2 Thermal" rev 0x04 at pci13 dev 16 function 0 not configured > "Intel E5 v2 Thermal" rev 0x04 at pci13 dev 16 function 1 not configured > "Intel E5 v2 Error" rev 0x04 at pci13 dev 16 function 2 not configured > vendor "Intel", unknown product 0x0eb3 (class system subclass miscellaneous, > rev 0x04) at pci13 dev 16 function 3 not configured > "Intel E5 v2 Thermal" rev 0x04 at pci13 dev 16 function 4 not configured > "Intel E5 v2 Thermal" rev 0x04 at pci13 dev 16 function 5 not configured > vendor "Intel", unknown product 0x0eb7 (class system subclass miscellaneous, > rev 0x04) at pci13 dev 16 function 7 not configured > vendor "Intel", unknown product 0x0e1d (class system subclass miscellaneous, > rev 0x04) at pci13 dev 19 function 0 not configured > "Intel E5 v2 QPI Link Monitor" rev 0x04 at pci13 dev 19 function 1 not > configured > "Intel E5 v2 QPI" rev 0x04 at pci13 dev 19 function 4 not configured > "Intel E5 v2 QPI Link Monitor" rev 0x04 at pci13 dev 19 function 5 not > configured > "Intel E5 v2 SAD" rev 0x04 at pci13 dev 22 function 0 not configured > "Intel E5 v2 Broadcast" rev 0x04 at pci13 dev 22 function 1 not configured > "Intel E5 v2 Broadcast" rev 0x04 at pci13 dev 22 function 2 not configured > pci14 at mainbus0 bus 127 > uhub2 at uhub0 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 > uhub3 at uhub2 port 6 "no manufacturer Gadget USB HUB" rev 2.00/0.00 addr 3 > uhidev0 at uhub3 port 1 configuration 1 interface 0 "Avocent Keyboard/Mouse > Function" rev 2.00/0.00 addr 4 > uhidev0: iclass 3/1 > ukbd0 at uhidev0: 8 variable keys, 6 key codes > wskbd0 at ukbd0: console keyboard, using wsdisplay0 > uhidev1 at uhub3 port 1 configuration 1 interface 1 "Avocent Keyboard/Mouse > Function" rev 2.00/0.00 addr 4 > uhidev1: iclass 3/1 > ums0 at uhidev1: 3 buttons, Z dir > wsmouse0 at ums0 mux 0 > uhidev2 at uhub3 port 1 configuration 1 interface 2 "Avocent Keyboard/Mouse > Function" rev 2.00/0.00 addr 4 > uhidev2: iclass 3/1 > ums1 at uhidev2: 3 buttons, Z dir > wsmouse1 at ums1 mux 0 > umass0 at uhub3 port 3 configuration 1 interface 0 "Avocent Mass Storage > Function" rev 2.00/0.00 addr 5 > umass0: using SCSI over Bulk-Only > scsibus4 at umass0: 2 targets, initiator 0 > cd1 at scsibus4 targ 1 lun 0: <iDRAC, Virtual CD, 0329> SCSI0 5/cdrom > removable > sd1 at scsibus4 targ 1 lun 1: <iDRAC, Virtual Floppy, 0329> SCSI0 0/direct > removable > uhub4 at uhub1 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 > vscsi0 at root > scsibus5 at vscsi0: 256 targets > softraid0 at root > scsibus6 at softraid0: 256 targets > root on sd0a (74cb55ec05f5cab0.a) swap on sd0b dump on sd0b > carp1: state transition: BACKUP -> MASTER > carp1: state transition: MASTER -> BACKUP > carp1: state transition: BACKUP -> MASTER > carp1: state transition: MASTER -> BACKUP > carp1: state transition: BACKUP -> MASTER > splassert: rtrequest1: want 5 have 0 > splassert: rtrequest1: want 5 have 0 > carp0: state transition: BACKUP -> MASTER > splassert: rtrequest1: want 5 have 0 > Starting stack trace... > splassert_check() at splassert_check+0x78 > rtrequest1() at rtrequest1+0x5e > nd6_prefix_offlink() at nd6_prefix_offlink+0x1bf > pfxlist_onlink_check() at pfxlist_onlink_check+0x25e > in6_control() at in6_control+0x894 > ifioctl() at ifioctl+0x175 > sys_ioctl() at sys_ioctl+0x169 > syscall() at syscall+0x297 > --- syscall (number 54) --- > end of kernel > end trace frame: 0xc8115948400, count: 249 > 0xc8115715cda: > End of stack trace. > carp0: state transition: BACKUP -> MASTER > > > -- > Matthieu Herrb > -- Matthieu Herrb