Date: Fri, 15 Apr 2005 06:13:00 GMT From: Lobach Pavel <lobach_pavel@mail.ru> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/79946: Checksum offloading doesn't work on intel 82551 NIC (chip rev=0x10) Message-ID: <200504150613.j3F6D0wA016881@www.freebsd.org> Resent-Message-ID: <200504150620.j3F6KAYg042565@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 79946
>Category: kern
>Synopsis: Checksum offloading doesn't work on intel 82551 NIC (chip rev=0x10)
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Apr 15 06:20:10 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Lobach Pavel
>Release: FreeBSD 5.3
>Organization:
>Environment:
FreeBSD 5.3-RELEASE
Intel PRO/100 ethernet adapter (82551 chip rev=0x10)
>Description:
We bought a couple of Intel 82551's cards (chip rev=0x10)
But fxp driver doesn't enable checksum offloading for it nether in RELENG_5, nor in HEAD, because of in if_fxp.c:
if (sc->revision == FXP_REV_82550 || sc->revision == FXP_REV_82550_C) {
...skipped...
sc->flags |= FXP_FLAG_EXT_RFA;
i.e. flag FXP_FLAG_EXT_RFA enabled only for 82550
and thus prevents enabling checksum offloading for 82551(chips rev=0x0f, 0x10) and even for 82550 (chip rev=0x0e) below:
/* Enable checksum offload for 82550 or better chips */
if (sc->flags & FXP_FLAG_EXT_RFA) { <-- this flag doesn't set for "better chips"
ifp->if_hwassist = FXP_CSUM_FEATURES;
ifp->if_capabilities |= IFCAP_HWCSUM;
ifp->if_capenable |= IFCAP_HWCSUM;
}
>How-To-Repeat:
Install intel pro/100 card with 82551 chip and do:
ifconfig fxp0 txcsum rxcsum
it doesn't work
>Fix:
In if_fxp.c it should be:
if (sc->revision >= FXP_REV_82550) { ...
instead of
if (sc->revision == FXP_REV_82550 || sc->revision == FXP_REV_82550_C) {
Because intel chipset beginning from 82550 all have this feature
or we can
#define FXP_REV_82551 0x10
in if_fxpreg.h
and in if_fxp.c:
if (sc->revision >= FXP_REV_82550 && sc->revision <= FXP_REV_82551) { ...
>Release-Note:
>Audit-Trail:
>Unformatted:
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504150613.j3F6D0wA016881>
