multicast join flood messes up sk0

Sean McNeil sean at mcneil.com
Tue Nov 8 11:56:26 PST 2005


My sk0 is rendered useless when flooded with multicast join requests.

Here is my setup:

FreeBSD server.mcneil.com 6.0-STABLE FreeBSD 6.0-STABLE #94: Mon Nov  7
23:51:05 PST 2005     root at server.mcneil.com:/usr/obj/usr/src/sys/AMD64
amd64

CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (2009.79-MHz
K8-class CPU)
  Origin = "AuthenticAMD"  Id = 0x20f32  Stepping = 2

Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x1<SSE3>
  AMD Features=0xe2500800<SYSCALL,NX,MMX+,<b25>,LM,3DNow+,3DNow>
real memory  = 2147418112 (2047 MB)
avail memory = 2064441344 (1968 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
skc0: <Marvell Gigabit Ethernet> port 0xa800-0xa8ff mem
0xf5000000-0xf5003fff irq 19 at device 11.0 on pci2
skc0: Marvell Yukon Lite Gigabit Ethernet rev. (0x9)
sk0: <Marvell Semiconductor, Inc. Yukon> on skc0
sk0: Ethernet address: 00:14:85:85:27:b3
miibus1: <MII bus> on sk0
e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus1
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX,
1000baseTX-FDX, auto

I'm streaming MPEG with vls to a target device that is running Linux.
Something goes wrong (not related) and I stop the streaming, but the
Linux target appears to start flooding multicast join requests.  When
this happens, my sk0 nic suddenly becomes useless.  I get messages like:

sk0: watchdog timeout
sk0: link state changed to DOWN
sk0: watchdog timeout

dhcpd: send_packet: No buffer space available

If I kill my Linux target, the interface recovers just fine.

The sk0 is attached to a gigE linksys switch which is attached to a
100BT switch which is attached to the Linux target.  There should be no
way that it could use up all the resources on my machine.

Sean




More information about the freebsd-stable mailing list