Date: Sat, 16 Jun 2007 17:43:51 GMT From: Stas Kysel <stas_k_freebsd2@tiger.unisquad.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/113766: bad ip checksum when using re driver Message-ID: <200706161743.l5GHhpA6026550@www.freebsd.org> Resent-Message-ID: <200706161750.l5GHo2CH096696@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 113766 >Category: kern >Synopsis: bad ip checksum when using re driver >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Jun 16 17:50:02 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Stas Kysel >Release: 6.2-RELEASE >Organization: >Environment: FreeBSD xxxxx.xxxxx.xxxx.xx 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386 >Description: Hi. The problem is similar to PR 63982 (the same bug in "em" driver). "re" driver is using and advertizing hardware checksum capability, but NIC fails to calculate checksums, or at least to calculate them correctly, for some packets. Relevant piece of dmesg output: re0: <RealTek 8168B/8111B PCIe Gigabit Ethernet> port 0xa800-0xa8ff mem 0xff5ff0 00-0xff5fffff irq 17 at device 0.0 on pci2 miibus0: <MII bus> on re0 rgephy0: <RTL8169S/8110S media interface> on miibus0 rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX -FDX, auto re0: Ethernet address: 00:18:f3:07:9e:e6 re0: [FAST] Workaround: ifconfig rl0 -txcsum >How-To-Repeat: To reproduce: 1. Use RealTek 8168B/8111B PCIe Gigabit Ethernet card on computer #1, any card on computer #2 (eg Realtek 8139). 2. Select TCP port on computer #1, eg port 333, and make sure that nothing is listening on it. 3. run tcpdump on computer #2, eg: tcpdump -i rl0 -n -s 1600 -v port 333 4. From computer #2 try to connect to closed port on computer #1, eg using telnet: telnet computer1 333 5. In tcpdump output on computer #2 you will see that TCP RST packet has bad ip checksum. >Fix: Workaround: ifconfig re0 -txcsum >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706161743.l5GHhpA6026550>