Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Oct 2005 02:32:26 -0400 (EDT)
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/87194: fxp(4) promiscuous mode seems to corrupt hw-csum
Message-ID:  <200510100632.j9A6WQgI003698@rex.vetinsite.net>
Resent-Message-ID: <200510100640.j9A6eACH009489@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         87194
>Category:       kern
>Synopsis:       fxp(4) promiscuous mode seems to corrupt hw-csum
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 10 06:40:10 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Brian Fundakowski Feldman
>Release:        FreeBSD 6.0-RC1 i386
>Organization:
>Environment:
System: FreeBSD rex.vetinsite.net 6.0-RC1 FreeBSD 6.0-RC1 #2: Sun Oct 9 21:16:52 EDT 2005 root@:/usr/obj/usr/src/sys/REX i386

fxp0: <Intel 82551 Pro/100 Ethernet> port 0xcc00-0xcc3f mem 0xfe6fe000-0xfe6fefff,0xfe6a0000-0xfe6bffff irq 17 at device 1.0 on pci3
miibus0: <MII bus> on fxp0
fxp0: Ethernet address: 00:04:23:b3:37:55
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=b<RXCSUM,TXCSUM,VLAN_MTU>
	inet6 fe80::204:23ff:feb3:3755%fxp0 prefixlen 64 scopeid 0x2 
	inet ...
	ether 00:04:23:b3:37:55
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
>Description:
	When turning promiscuous mode on, e.g. with bridging, the
	tcpdump output for every packet shows an invalid checksum.
	Now, this is not that strange in the face of hardware
	checksumming, but the interface is also unusable in some
	unknown capacity -- some things seem to work, other things
	don't.  I don't know whether packets are not being sent
	or they're being sent with actual bad checksums.
>How-To-Repeat:
	1. Set up a local caching named.
	2. dig in a www.freebsd.org (succeeds)
	3. dig @localhost in a www.freebsd.org (succeeds)
	4. turn on promisc, e.g. "ifconfig bridge0 addm fxp0 up"
	5. attempt 2. and 3. with various domains.  2. seems to succeed
	   in general, but 3. always fails.  There isn't much of a difference
	   between what the libc resolver and BIND9 send out, but it's
	   enough of a difference that it demonstrates the problem with
	   no effort (here).
>Fix:
	It would be nice to be able to disable the hardware checksumming,
	but that is not implemented.
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510100632.j9A6WQgI003698>