Date: Mon, 20 Feb 2006 05:04:01 GMT From: Chris Elsworth <chris@shagged.org> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/93586: /src/sys/dev/em/if_em.c 1.112 breaks interfaces Message-ID: <200602200504.k1K541Mu070502@www.freebsd.org> Resent-Message-ID: <200602200510.k1K5A3Wg061823@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 93586 >Category: kern >Synopsis: /src/sys/dev/em/if_em.c 1.112 breaks interfaces >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Feb 20 05:10:02 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Chris Elsworth >Release: 7.0-CURRENT >Organization: >Environment: FreeBSD netboot0.newzbin.com 7.0-CURRENT FreeBSD 7.0-CURRENT #6: Mon Feb 20 04:34:03 UTC 2006 root@netboot0.newzbin.com:/usr/obj/usr/src/sys/X4100_BOOTSRV amd64 >Description: Upon supping to HEAD tonight, I found that my if_em's in the Sun Fire x4100 I was fiddling on no longer brought up the link after they were assigned an IP: # ifconfig em1 && ifconfig em1 192.168.201.112 && sleep 5 && ifconfig em1 em1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 options=8b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM> ether 00:14:4f:20:4f:2d media: Ethernet autoselect (1000baseTX <full-duplex>) status: active em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=8b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM> inet 192.168.201.112 netmask 0xffffff00 broadcast 192.168.201.255 ether 00:14:4f:20:4f:2d media: Ethernet autoselect status: no carrier I realise there may be a nominal delay until the carrier comes back, but it never does. After some experimentation, I discovered that revision 1.112 is responsible for this. If I check out 1.111 and build it as a module, the system is fine. # kldunload if_em # kldload if_em_1.111.ko . em1: <Intel(R) PRO/1000 Network Connection Version - 3.2.18> port 0x9800-0x983f mem 0xfbfc0000-0xfbfdffff irq 27 at device 1.1 on pci1 em1: Ethernet address: 00:14:4f:20:4f:2d em1: [FAST] # ifconfig em1 && ifconfig em1 192.168.201.112 && sleep 5 && ifconfig em1 em1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 options=8b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM> ether 00:14:4f:20:4f:2d media: Ethernet autoselect (1000baseTX <full-duplex>) status: active em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=8b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM> inet 192.168.201.112 netmask 0xffffff00 broadcast 192.168.201.255 ether 00:14:4f:20:4f:2d media: Ethernet autoselect (1000baseTX <full-duplex>) status: active >How-To-Repeat: Use revision 1.112 of if_em.c >Fix: Maybe that hardware initialisation was required after all? >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602200504.k1K541Mu070502>