kern/136409: [xl] doesn't compile with TX checksumming enabled
Anonymous
swell.k at gmail.com
Tue Jul 7 08:50:01 UTC 2009
>Number: 136409
>Category: kern
>Synopsis: [xl] doesn't compile with TX checksumming enabled
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Jul 07 08:50:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Anonymous
>Release: FreeBSD 8.0-CURRENT amd64
>Organization:
>Environment:
System: FreeBSD luffy 8.0-CURRENT FreeBSD 8.0-CURRENT #0 r195403M: Sun Jul 5 09:49:17 UTC 2009 root at luffy:/usr/obj/usr/src/sys/PHOENIX amd64
>Description:
sys/dev/xl/if_xl.c have this
--- begin if_xl.c
/*
* TX Checksumming is disabled by default for two reasons:
* - TX Checksumming will occasionally produce corrupt packets
* - TX Checksumming seems to reduce performance
*
* Only 905B/C cards were reported to have this problem, it is possible
* that later chips _may_ be immune.
*/
#define XL905B_TXCSUM_BROKEN 1
#ifdef XL905B_TXCSUM_BROKEN
#define XL905B_CSUM_FEATURES 0
#else
#define XL905B_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP)
#endif
--- end if_xl.c
According to above comment to enable TX checksumming one should just
remove line `#define XL905B_TXCSUM_BROKEN 1'. But doing so breaks
compilation.
>How-To-Repeat:
$ sed -i '.bak' '/define[[:space:]]*XL905B_TXCSUM_BROKEN/d' /sys/dev/xl/if_xl.c
$ make depend all -C/sys/modules/xl
@ -> /usr/src/sys
machine -> /usr/src/sys/amd64/include
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
awk -f @/tools/makeobjops.awk @/dev/mii/miibus_if.m -h
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I. -I@ -I@/contrib/altq /usr/src/sys/modules/xl/../../dev/xl/if_xl.c
Warning: Object directory not changed from original /usr/src/sys/modules/xl
cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -c /usr/src/sys/modules/xl/../../dev/xl/if_xl.c
/usr/src/sys/modules/xl/../../dev/xl/if_xl.c: In function 'xl_encap':
/usr/src/sys/modules/xl/../../dev/xl/if_xl.c:2473: error: request for member 'M_dat' in something not a structure or union
/usr/src/sys/modules/xl/../../dev/xl/if_xl.c:2474: error: request for member 'M_dat' in something not a structure or union
/usr/src/sys/modules/xl/../../dev/xl/if_xl.c:2476: error: request for member 'M_dat' in something not a structure or union
/usr/src/sys/modules/xl/../../dev/xl/if_xl.c:2478: error: request for member 'M_dat' in something not a structure or union
*** Error code 1
Stop in /usr/src/sys/modules/xl.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list