From owner-freebsd-net@FreeBSD.ORG Sun Apr 11 08:15:27 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BBFB1065672 for ; Sun, 11 Apr 2010 08:15:27 +0000 (UTC) (envelope-from erich@fuujingroup.com) Received: from fluorine.fuujinnetworks.com (fluorine.fuujinnetworks.com [64.90.67.234]) by mx1.freebsd.org (Postfix) with ESMTP id 5346D8FC13 for ; Sun, 11 Apr 2010 08:15:26 +0000 (UTC) Received: from [10.168.1.8] (copper.fuujinnetworks.com [64.90.67.254]) by fluorine.fuujinnetworks.com (Postfix) with ESMTPA id 256F7439E38; Sun, 11 Apr 2010 03:15:53 -0500 (CDT) Message-ID: <4BC19324.3050800@fuujingroup.com> Date: Sun, 11 Apr 2010 03:15:16 -0600 From: "Erich Jenkins, Fuujin Group Ltd" User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: pyunyh@gmail.com References: <4BBED9A4.3080303@fuujingroup.com> <20100409070147.GA77350@korolev-net.ru> <4BBEE18C.6040204@fuujingroup.com> <20100409173821.GD1085@michelle.cdnetworks.com> <4BC016F3.4020300@fuujingroup.com> <20100410212520.GB6481@michelle.cdnetworks.com> <4BC12097.4030508@fuujingroup.com> In-Reply-To: <4BC12097.4030508@fuujingroup.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Evgenii Davidov Subject: Re: Broadcom BCM5701 / HP NC6770 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 08:15:27 -0000 I've been muddling around in src/sys/dev on the old system and the new system and there appear to be rather major changes to MII and bge, possibly the whole stack? There are a number of things that seem to have been merged with other parts of the network stack, or perhaps written into the individual drivers (someone working on the net stack would have to verify that). For instance, some files called in 5.3-REL seem to have gone away completely, and in the new (unpatched) version of if_bge.c under 7.3-REL, calls to these modules are gone: - #include /* for vtophys */ - #include /* for vtophys */ - #include /* for DELAY */ - #include - #include (called but something changed in here) - #include (ditto above) It appears that the checksum features have been completely rewritten, and some of the ring settings have changed. It's interesting that the driver only fills 256 of the rx rings in the hopes that the cpu is "fast enough to keep up with the NIC". Would a subroutine here to grab the cpu clock and count (number of procs/pipelines) be more trouble than it's worth to "automagically" increase the number of rx rings the driver fills based on the system in which it's installed? Something also changed in pci/pcireg.h and pci/pcivar.h, but I haven't had the time to hunt down and expand the source tree from the 5.3-REL branch yet. I have other machines with copper nics utilizing the bge driver, and there are no issues at all. Perhaps I'm getting ahead of things, but since this seems to have been broken through several releases, would it make any sense to split the support between the BCM5701KHB chipset and the more recent BCM chipset to avoid causing issues with cards/systems not currently experiencing troubles? Erich M. Jenkins Fuujin Group Limited "You should never, never doubt what no one is sure about." -- Gene Wilder