We have some 4.7 machines in a carp configuration with 120 vlan interfaces and 141 carp interfaces. Works fantastic.
Recently, we've had some attacks originate from inside one of our environments (customer machine on their own vlan). It's actually a machine that is creating an SSH storm with many 62 byte packets. "systat -s 5 ifstat" shows around 45,000 packets per second through the physical interface during the attack and top shows 97% CPU utilization for interrupts. Needless to say, it brings good traffic to a halt. Most of these packets are being dropped by the kernel due to source IP spoofing by the attack. I was a little surprised to see this few pps (relatively speaking) cause a disruption since the machine is relatively beefy for a router, athough it's not the latest and greatest. I included a dmesg output below. We're using one of the Intel Pro/1000 ports for all customer traffic (all vlans and carp interfaces) and one of the Broadcom ports for management traffic. pf is disabled. The machine is only used to route traffic between VLANs based on IP subnet. Single-proc bsd kernel is being used (MP kernel shows no difference as expected). Our configuration is extremely basic, almost a standard installation. We haven't done any tweaking. I can dump some of the sysctl.conf file if needed. While we're obviously taking action to prevent the problem from occurring again from the said machine, I'm hoping that we can improve our OpenBSD configuration to handle future events more gracefully. Is there possibly another processor type, NIC, and or machine that would be much more efficient at handling this kind of traffic (packets per second, not throughput)? Preferably, we'd like to see this edge router handle 200k pps if possible. If 4.8 has massive improvements, we'll be happy to get it installed. Any help would be greatly appreciated. Thanks! Eric OpenBSD 4.7 (GENERIC) #112: Wed Mar 17 20:43:49 MDT 2010 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC real mem = 3756720128 (3582MB) avail mem = 3650293760 (3481MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.5 @ 0xfd2e0 (60 entries) bios0: vendor HP version "O12" date 10/25/2010 bios0: HP ProLiant DL160 G5 acpi0 at bios0: rev 2 acpi0: tables DSDT FACP APIC MCFG SPMI OEMB HPET EINJ BERT ERST HEST acpi0: wakeup devices NPE1(S4) NPE3(S4) NPE5(S4) SPE4(S4) SPE1(S4) SPE2(S4) P0P1(S4) PS2K(S4) PS2M(S4) USB0(S4) USB1(S4) USB2(S4) USB3(S4) EUSB(S4) P0P4(S4) P0P5(S4) P0P6(S4) P0P7(S4) 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 L5420 @ 2.50GHz, 2494.07 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,SBF,SSE3,MWAIT,DS-CPL,VMX,EST ,TM2,CX16,xTPR,NXE,LONG cpu0: 6MB 64b/line 16-way L2 cache cpu0: apic clock running at 332MHz cpu at mainbus0: not configured cpu at mainbus0: not configured cpu at mainbus0: not configured ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 20, 24 pins ioapic1 at mainbus0: apid 6 pa 0xfec89000, version 20, 24 pins ioapic1: misconfigured as apic 5, remapped to apid 6 acpihpet0 at acpi0: 14318179 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 10 (NPE1) acpiprt2 at acpi0: bus -1 (NPE3) acpiprt3 at acpi0: bus 9 (NPE5) acpiprt4 at acpi0: bus 5 (NPES) acpiprt5 at acpi0: bus 6 (SPE4) acpiprt6 at acpi0: bus -1 (P8PC) acpiprt7 at acpi0: bus 2 (P0P4) acpiprt8 at acpi0: bus 3 (P0P5) acpiprt9 at acpi0: bus 4 (P0P6) acpicpu0 at acpi0 acpibtn0 at acpi0: PWRB ipmi at mainbus0 not configured pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel E5400B Host" rev 0x20 ppb0 at pci0 dev 1 function 0 "Intel E5400 PCIE" rev 0x20 pci1 at ppb0 bus 10 em0 at pci1 dev 0 function 0 "Intel PRO/1000 PT (82571EB)" rev 0x06: apic 6 int 0 (irq 10), address 00:24:81:82:6b:2c em1 at pci1 dev 0 function 1 "Intel PRO/1000 PT (82571EB)" rev 0x06: apic 6 int 10 (irq 11), address 00:24:81:82:6b:2d ppb1 at pci0 dev 5 function 0 "Intel E5400 PCIE" rev 0x20 pci2 at ppb1 bus 9 mpi0 at pci2 dev 0 function 0 "Symbios Logic SAS1064E" rev 0x08: apic 6 int 4 (irq 10) scsibus0 at mpi0: 112 targets sd0 at scsibus0 targ 3 lun 0: <LSILOGIC, Logical Volume, 3000> SCSI2 0/direct fixed sd0: 151634MB, 512 bytes/sec, 310546432 sec total ppb2 at pci0 dev 9 function 0 "Intel E5400 PCIE" rev 0x20 pci3 at ppb2 bus 5 ppb3 at pci3 dev 0 function 0 "Intel 6321ESB PCIE" rev 0x01 pci4 at ppb3 bus 6 ppb4 at pci4 dev 0 function 0 "Intel 6321ESB PCIE" rev 0x01 pci5 at ppb4 bus 7 ppb5 at pci3 dev 0 function 3 "Intel 6321ESB PCIE-PCIX" rev 0x01 pci6 at ppb5 bus 8 pchb1 at pci0 dev 16 function 0 "Intel E5400 FSB/Boot/Interrupt" rev 0x20 pchb2 at pci0 dev 16 function 1 "Intel E5400 FSB/Boot/Interrupt" rev 0x20 pchb3 at pci0 dev 16 function 2 "Intel E5400 FSB/Boot/Interrupt" rev 0x20 pchb4 at pci0 dev 16 function 3 "Intel E5400 FSB/Boot/Interrupt" rev 0x20 pchb5 at pci0 dev 16 function 4 "Intel E5400 FSB/Boot/Interrupt" rev 0x20 pchb6 at pci0 dev 17 function 0 "Intel E5400 Coherency Engine" rev 0x20 pchb7 at pci0 dev 21 function 0 "Intel E5400 RAS" rev 0x20 pchb8 at pci0 dev 21 function 1 "Intel E5400 RAS" rev 0x20 pchb9 at pci0 dev 22 function 0 "Intel E5400 RAS" rev 0x20 pchb10 at pci0 dev 22 function 1 "Intel E5400 RAS" rev 0x20 ppb6 at pci0 dev 28 function 0 "Intel 6321ESB PCIE" rev 0x09: apic 4 int 16 (irq 10) pci7 at ppb6 bus 2 vga1 at pci7 dev 0 function 0 "Matrox MGA G200e (ServerEngines)" rev 0x02 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) ppb7 at pci0 dev 28 function 1 "Intel 6321ESB PCIE" rev 0x09: apic 4 int 17 (irq 11) pci8 at ppb7 bus 3 bge0 at pci8 dev 0 function 0 "Broadcom BCM5722" rev 0x00, BCM5755 C0 (0xa200): apic 4 int 17 (irq 11), address 00:23:7d:5f:69:60 brgphy0 at bge0 phy 1: BCM5722 10/100/1000baseT PHY, rev. 0 ppb8 at pci0 dev 28 function 2 "Intel 6321ESB PCIE" rev 0x09: apic 4 int 18 (irq 5) pci9 at ppb8 bus 4 bge1 at pci9 dev 0 function 0 "Broadcom BCM5722" rev 0x00, BCM5755 C0 (0xa200): apic 4 int 18 (irq 5), address 00:23:7d:5f:69:61 brgphy1 at bge1 phy 1: BCM5722 10/100/1000baseT PHY, rev. 0 uhci0 at pci0 dev 29 function 0 "Intel 6321ESB USB" rev 0x09: apic 4 int 23 (irq 7) uhci1 at pci0 dev 29 function 1 "Intel 6321ESB USB" rev 0x09: apic 4 int 19 (irq 3) uhci2 at pci0 dev 29 function 2 "Intel 6321ESB USB" rev 0x09: apic 4 int 18 (irq 5) uhci3 at pci0 dev 29 function 3 "Intel 6321ESB USB" rev 0x09: apic 4 int 16 (irq 10) ehci0 at pci0 dev 29 function 7 "Intel 6321ESB USB" rev 0x09: apic 4 int 23 (irq 7) usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb9 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xd9 pci10 at ppb9 bus 1 pcib0 at pci0 dev 31 function 0 "Intel 6321ESB LPC" rev 0x09 pciide0 at pci0 dev 31 function 1 "Intel 6321ESB IDE" rev 0x09: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility pciide0: channel 0 disabled (no drives) pciide0: channel 1 disabled (no drives) pciide1 at pci0 dev 31 function 2 "Intel 6321ESB SATA" rev 0x09: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI pciide1: using apic 4 int 19 (irq 3) for native-PCI interrupt usb1 at uhci0: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb4 at uhci3: USB revision 1.0 uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 kbc: cmd word write error pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 mtrr: Pentium Pro MTRR support uhidev0 at uhub1 port 1 configuration 1 interface 0 "ServerEngines SE USB Device" rev 1.10/0.01 addr 2 uhidev0: iclass 3/1 ukbd0 at uhidev0: 8 modifier keys, 6 key codes wskbd0 at ukbd0 mux 1 wskbd0: connecting to wsdisplay0 uhidev1 at uhub1 port 1 configuration 1 interface 1 "ServerEngines SE USB Device" rev 1.10/0.01 addr 2 uhidev1: iclass 3/1 ums0 at uhidev1: 8 buttons, Z dir wsmouse0 at ums0 mux 0 vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root root on sd0a swap on sd0b dump on sd0b