Problems with BCE network adapter (Dell PE2950)

Tom Judge tom at tomjudge.com
Tue Jul 10 21:55:25 UTC 2007


James wrote:
> On 7/10/07, Tom Judge <tom at tomjudge.com> wrote:
>> Ok so I think I have fix the problem with the rx_bd tracking.  I
>> have ported rboyer's patch to NetBSD's bnx driver to FreeBSD (patch
>> attached).  The patch seems to get rid of two problems:
>>
>> 1) Unexpected mbuf in rx_bd
>> 2) Too many free rx_bd's
> 
>    Hi Tom.  Thanks much for your work with this problem.  I'm
>    effected by major bce problems as well.  Right now I'd be happy to
>    get it working properly with an MTU of 1500.  To that end I'm
>    unable to get your patch to apply cleanly to my FreeBSD 6.2 tree.
>    Most likely I've lost track of what patches in this thread to
>    apply before your patch.
> 
>    If you have time, would you be so kind to cook a diff against a
>    vanilla FreeBSD 6.2 tree or let me know which patches to apply
>    first?
> 
>    Thanks!
> 

A full patch against RELENG_6_2 (p5) is avaliable here: 
http://www.tomjudge.com/tmp/bce-patch-full-10-7-2007.gz

You will also require this patch to sys/net/if_media.h that adds the 
2.5Gb/s media definitions:
http://www.tomjudge.com/tmp/if_media.h-patch-10-7-2007.gz

These patches should be applied in /usr/src/sys/dev/bce and 
/usr/src/sys/net respectively.  (e.g: cd /usr/src/sys/dev/bce; patch < 
/path/to/patch)

This patch includes:

* The latest driver from RELENG_6 (See 
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bce/if_bce.c?only_with_tag=RELENG_6 
for details ).  NOTE:  This does not include MSI support as 6.2 does not 
have MSI support.

* David's patch to enable dumping the first 128 bytes of a bad packet

* Stepherosa's patch which attempts to fix problems in the rx buffer 
(de)allocation during bce_rx_intr.

* My patch from NetBSD that completely rewrites the way that the rx 
buffers are (de)allocated.  Rather than allocate them on the fly in 
bce_rx_intr.  Try to pre allocate as many as possible, and then allocate 
more during the bce_tick routine.

Please let me know if you have any problems applying this patch, as this 
patch was generated from my subversion repository.

On a side note,  I have some systems (Dell PE2950's)  running the 
vanilla 6.2 driver which are stable, they have a standard 1500 byte MTU. 
  However these systems are not running such network intensive tasks as 
the ones with a 8192 byte MTU.

On another side note it seems that OpenBSD removed Jumbo frame support 
from their driver 4 months ago as it was causing panics under high load 
however FreeBSD and NetBSD both have Jumbo frame support enabled.

Tom



More information about the freebsd-net mailing list