Subject: Re: 6 wm(4) interfaces
To: Michael Santos <mike@ethmoid.org>
From: Jonathan Stone <jonathan@Pescadero.dsg.stanford.edu>
List: port-i386
Date: 09/08/2005 12:55:44
In message <20050908193013.GA258@ack.mistwireless.com>Michael Santos writes
>
>I'm trying to set up a server with 2 onboard wm(4) interfaces, with an
>additional 4 interfaces on a PCIX card.
>
>Interface wm0 and wm5 (onboard NIC's) can be used. Trying to ifconfig up
>interface wm1 or wm4 hangs the system. wm3 can be configured, but I
>haven't tested it by sending traffic.
>
>Can anyone provide some hints on getting this to work?

Allocate more kernel resources, specifically lots more mbufs and mbuf
clusters. If (dim) memory serves, these are still static config-time
resources on port-i386.

I hit the same problem some months back, when measuring TCP
Segmentation Offload (TSO), aka ``large send'' performance. I did
eventually get four wm's and two bge's working.

I'm pretty sure all it took was to increase both mbuf clusters and
little mbufs; the `ifconfig up' allocates quite a few mbufs and
clusters to preload the NIC DMA-receive buffers. More than about 3
server-class gigabit devices will exhaust mbufs, causing the ifconfig
to fail.

I was in a hurry, and I don't recall exaclty what I did, I'm pretty
sure I just redoubled (x4) or maybe once more (x8), and all six
devices would work happily.

You may also wish to reboot, then try to "ifconfig up" each device in
turn, to make sure the wm(4) driver is correctly handling on all
chips.  If so, I suggest bringing up no more than two devices between
reboots.

hope that helps,
--Jonathan