-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On my Thinkpad T43p, the bge card seems to be unreliable in giving link state events. This causes dhclient to behave incorrectly (at least my understanding of correctly, given what I've read on -current, -questions and -stable).
I'm starting with the interface up and fully configured through dhclient. [EMAIL PROTECTED] ifconfig bge0 bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=1a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING> inet6 fe80::211:25ff:feb2:bc6c%bge0 prefixlen 64 scopeid 0x1 inet6 2001:5c0:8316:0:211:25ff:feb2:bc6c prefixlen 64 autoconf inet 10.11.55.6 netmask 0xfffffff8 broadcast 10.11.55.7 ether 00:11:25:b2:bc:6c media: Ethernet autoselect (1000baseTX <full-duplex>) status: active Now I unplug the cable. dmesg does not report any change. When I ask ifconfig, I get [EMAIL PROTECTED] ifconfig bge0 bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=1a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING> inet6 fe80::211:25ff:feb2:bc6c%bge0 prefixlen 64 scopeid 0x1 inet6 2001:5c0:8316:0:211:25ff:feb2:bc6c prefixlen 64 autoconf inet 10.11.55.6 netmask 0xfffffff8 broadcast 10.11.55.7 ether 00:11:25:b2:bc:6c media: Ethernet autoselect (none) status: no carrier Also, upon querying ifconfig, dmesg reports: bge0: link state changed to DOWN dhclient stays running, and the IP address is still configured, even after the kernel notices the link state change. When I then plug the cable back in, it requires another ifconfig poll to get the kernel to notice. If I manually stop dhclient after unplugging, bge0 is taken down. bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 options=1a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING> inet6 fe80::211:25ff:feb2:bc6c%bge0 prefixlen 64 scopeid 0x1 inet6 2001:5c0:8316:0:211:25ff:feb2:bc6c prefixlen 64 autoconf inet 10.11.55.6 netmask 0xfffffff8 broadcast 10.11.55.7 ether 00:11:25:b2:bc:6c media: Ethernet autoselect (none) status: no carrier (The address is still configured after dhclient exits, is this right?) My understanding was that downed interfaces don't report events. However, when I plug the cable in when it's down, it is immediately noticed, plus dhclient is started properly. If, after unplugging and stopping dhclient, I manually ifconfig bge0 up, then plug in again, I still get the correct behavior (event is immediately noticed, and dhclient is started). I also tried without bge0 configured in rc.conf. I found that the only event that reliably appears when it should, rather than on an ifconfig poll, is the UP event after ifconfig bge0 down; ifconfig bge0 up. Once I got a down event properly, but I couldn't reproduce it. So, the problem seems to be that link state events are not generated properly after the first UP event after ifconfig bge0 up. Also, dhclient doesn't seem to respond to the DOWN events generated by an ifconfig poll. [EMAIL PROTECTED]:0:0: class=0x020000 card=0x05771014 chip=0x167d14e4 rev=0x11 hdr=0x00 vendor = 'Broadcom Corporation' device = 'BCM5750A1M NetXtreme Gigabit Ethernet PCI Express' class = network subclass = ethernet Sorry for the long post, but I figured better too much info than too little. - -- Ben -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFC6HGXpt3yYclAKVsRAm8hAJ4xqSZE1lao611l86/ipZMRUjp0/gCeOQIz ZN+f+2DgAzX3B1ctV7q9NKM= =ersQ -----END PGP SIGNATURE----- _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"