kern/140326: em0: watchdog timeout when communicating to windows
using 9K MTU
Maksym Sobolyev
sobomax at FreeBSD.org
Fri Nov 6 01:20:02 UTC 2009
>Number: 140326
>Category: kern
>Synopsis: em0: watchdog timeout when communicating to windows using 9K MTU
>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 Nov 06 01:20:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Maksym Sobolyev
>Release: 7.2-p4
>Organization:
Sippy Software, Inc.
>Environment:
FreeBSD pioneer.sippysoft.com 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #0: Sun Oct 4 03:08:04 PDT 2009 root at pioneer.sippysoft.com:/usr/obj/usr/src/sys/PIONEER amd64
>Description:
My em0 interface repeatedly hangs up with watchdog timeout when communicating to the windows host at MTU 9K.
[sobomax at pioneer ~]$ grep em0 /var/run/dmesg.boot
em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xecc0-0xecdf mem 0xfe6e0000-0xfe6fffff,0xfe6d9000-0xfe6d9fff irq 21 at device 25.0 on pci0
em0: Using MSI interrupt
em0: [FILTER]
em0: Ethernet address: 00:22:19:32:87:2f
[sobomax at pioneer ~]$ uname -a
FreeBSD pioneer.sippysoft.com 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #0: Sun Oct 4 03:08:04 PDT 2009 root at pioneer.sippysoft.com:/usr/obj/usr/src/sys/PIONEER amd64
[sobomax at pioneer ~]$ ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
options=98<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:22:19:32:87:2f
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
inet6 fec0::1 prefixlen 64
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
[sobomax at pioneer ~]$ dmesg | grep watchd
em0: watchdog timeout -- resetting
em0: watchdog timeout -- resetting
em0: watchdog timeout -- resetting
em0: watchdog timeout -- resetting
em0: watchdog timeout -- resetting
I have managed to make a packet capture right at the time when hang happens. It appears to be that either "MAC Pause" or "TCP Segment of reassembled PDU" is the last packet that goes through before the interface hangs.
Here is the screenshot, if somebody wants to take closer look at the actual packets please let me know.
http://sobomax.sippysoft.com/~sobomax/ScreenShot527.png
Turning off TSO and TXCSUM/RXCSUM has not helped. Bringing MTU down to 1,500 resolved the issue.
I have had the same problem happening several times in the past (although I initially attributed it to the bad cable or something like that), so it's definitely not on-off issue.
Given popularity of intel/pro chips in today's computers it look like quite serious issue to me. Any help is greatly appreciated.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list