I have been experiencing an issue lately where the internal NIC of our
firewall stops passing traffic until the interface is manually restarted (or
machine rebooted).  This happens to whichever machine is MASTER of the
carp(4) group, but seems to only ever happen to the internal interface
though both the external and internal interfaces are sharing a dual port
GigE card.  It seems to happen every few weeks lately.

When it happened tonight, I noticed the OACTIVE flag being set on the
internal interface.  Pinging out the internal interface results in "No
buffer space available" which, as I understand it, makes sense if OACTIVE is
set because that flag indicates that the TX queue is full.

PF is active on both machines, along with pfsync(4) and carp(4).  The
firewalls pass 28Mb throughout the year.  This summer they're only passing
about 5Mb yet the problem continues (so far once this summer).

At the time, the arp and routing tables looked fine.  pf also seemed to be
processing traffic on the internal interface.

I came across this while googling.  It appears to be the same issue I'm
having:  http://www.mail-archive.com/pf@benzedrine.cx/msg07554.html

Any suggestions would be much appreciated.

Thanks,
-Kian

pfctl -sr snip:

scrub in all fragment reassemble
block drop log all
...
pass in on em1 inet from any to (em1)
pass in on em1 inet from any to (carp0)
pass out on em1 inet from (em1) to any
pass out on em1 inet from (carp0) to any
pass in on em2 inet from any to (em2)
pass in on em2 inet from any to (carp1)
pass out on em2 inet from (em2) to any
pass out on em2 inet from (carp1) to any
pass in on em1 from any to <registered>
pass out on em1 from <registered> to any
pass in on em2 from <registered> to any
pass out on em2 from any to <registered>
...

ifconfig snip during problems (em2 is internal; as you can see, OACTIVE is
set):

...
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:04:23:a9:18:06
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet 216.57.208.163 netmask 0xfffffff0 broadcast 216.57.208.175
        inet6 fe80::204:23ff:fea9:1806%em1 prefixlen 64 scopeid 0x2
em2: flags=8d43<UP,BROADCAST,RUNNING,PROMISC,OACTIVE,SIMPLEX,MULTICAST> mtu
1500
        lladdr 00:04:23:a9:18:07
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet 66.165.31.245 netmask 0xfffffff8 broadcast 66.165.31.247
        inet6 fe80::204:23ff:fea9:1807%em2 prefixlen 64 scopeid 0x3
...

netstat -m during problems:

1385 mbufs in use:
        1379 mbufs allocated to data
        3 mbufs allocated to packet headers
        3 mbufs allocated to socket names and addresses
1379/1590/6144 mbuf clusters in use (current/peak/max)
3564 Kbytes allocated to network (87% in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines

netstat -m during normal activity:

839 mbufs in use:
        833 mbufs allocated to data
        3 mbufs allocated to packet headers
        3 mbufs allocated to socket names and addresses
832/888/6144 mbuf clusters in use (current/peak/max)
2020 Kbytes allocated to network (92% in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines


dmesg:

OpenBSD 3.9 (GENERIC) #617: Thu Mar  2 02:26:48 MST 2006
    [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) 4 CPU 2.80GHz ("GenuineIntel" 686-class) 2.80 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-IDreal
mem  = 536387584 (523816K)
avail mem = 482426880 (471120K)
using 4278 buffers containing 26923008 bytes (26292K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 08/10/04, BIOS32 rev. 0 @ 0xf0010
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf4f70/208 (11 entries)
pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 6300ESB LPC" rev 0x00)
pcibios0: PCI bus #3 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1000 0xc9000/0x1800
ipmi at mainbus0 not configured
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82875P Host" rev 0x02
ppb0 at pci0 dev 3 function 0 "Intel 82875P PCI-CSA" rev 0x02
pci1 at ppb0 bus 1
em0 at pci1 dev 1 function 0 "Intel PRO/1000CT (82547GI)" rev 0x00: irq 11,
address 00:02:b3:ea:27:a4
ppb1 at pci0 dev 28 function 0 "Intel 6300ESB PCIX" rev 0x02
pci2 at ppb1 bus 2
em1 at pci2 dev 2 function 0 "Intel PRO/1000MT (82546GB)" rev 0x03: irq 9,
address 00:04:23:a9:18:06
em2 at pci2 dev 2 function 1 "Intel PRO/1000MT (82546GB)" rev 0x03: irq 9,
address 00:04:23:a9:18:07
uhci0 at pci0 dev 29 function 0 "Intel 6300ESB USB" rev 0x02: irq 5
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1 "Intel 5300ESB USB" rev 0x02: irq 9
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
"Intel 6300ESB WDT" rev 0x02 at pci0 dev 29 function 4 not configured
"Intel 6300ESB APIC" rev 0x02 at pci0 dev 29 function 5 not configured
ehci0 at pci0 dev 29 function 7 "Intel 6300ESB USB" rev 0x02: irq 7
ehci0: timed out waiting for BIOS
usb2 at ehci0: USB revision 2.0
uhub2 at usb2
uhub2: Intel EHCI root hub, rev 2.00/1.00, addr 1
uhub2: 4 ports with 4 removable, self powered
ppb2 at pci0 dev 30 function 0 "Intel 82801BA AGP" rev 0x0a
pci3 at ppb2 bus 3
vga1 at pci3 dev 0 function 0 "ATI Rage XL" rev 0x27
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
fxp0 at pci3 dev 1 function 0 "Intel 8255x" rev 0x10, i82551: irq 5, address
00:02:b3:ea:27:a5
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
ichpcib0 at pci0 dev 31 function 0 "Intel 6300ESB LPC" rev 0x02
pciide0 at pci0 dev 31 function 2 "Intel 6300ESB SATA" rev 0x02: DMA,
channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <ST380013AS>
wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 disabled (no drives)
ichiic0 at pci0 dev 31 function 3 "Intel 6300ESB SMBus" rev 0x02: irq 5
iic0 at ichiic0
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lm0 at isa0 port 0x290/8: W83627HF
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask f7e5 netmask ffe5 ttymask ffe7
pctr: user-level cycle counter enabled
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302

Reply via email to