On Sun, Apr 23, 2006 at 02:35:24PM +0200, Lars Erik Gullerud wrote: > We recently upgraded one of our 4.11 servers to 6.1-RC1. The server is a > Dell PE2650, dual Xeons, and has two onboard Broadcom BCM5701 cards, using > the bge driver. > > Some older threads on -net and -current led me to believe that most issues > with bge driver in FreeBSD >4 had been sorted. However, after our upgrade, > we are seing errors like this: > > Apr 22 18:44:01 nebula kernel: bge0: watchdog timeout -- resetting > Apr 22 18:44:01 nebula kernel: bge0: link state changed to DOWN > Apr 22 18:44:03 nebula kernel: bge0: link state changed to UP > > ...and more importantly - when this happens, the network connection does > NOT in fact come back up. Logging into the box locally (or via a different > network interface) and manually issuing "ifconfig bge0 down ; ifconfig > bge0 up" DOES get the interface going again, however. > > We have only seen this on very high network loads - the particular message > included above occured while transferring some 120GB of data from a 4.11 > NFS-server to this 6.1-RC1 box. > > Is this a known issue in bge? If so, is anyone working on it? Can we > provide some useful information to whoever this might be? > > We have never had any issues with bge in 4.x, but we really need to get > this server up to 5.x/6.x at this point in time, any other suggestions on > knobs or workarounds that can give us bge stability? > > Thanks in advance, > > /leg > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Could you try attached patch? It should fix problem when link goes UP but network is still down. About bge resets: you should try if_bge.c rev.1.126, it may help. P.S. anyway, please report how is it going. -- Oleg.
Index: if_bge.c =================================================================== RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v retrieving revision 1.91.2.13 diff -u -r1.91.2.13 if_bge.c --- if_bge.c 4 Mar 2006 09:34:48 -0000 1.91.2.13 +++ if_bge.c 17 Apr 2006 19:39:15 -0000 @@ -3308,6 +3308,14 @@ bge_ifmedia_upd(ifp); + sc->bge_link_evt++; +#ifdef DEVICE_POLLING + if (!(sc->bge_ifp->if_capenable & IFCAP_POLLING)) +#endif + { + BGE_SETBIT(sc, BGE_MISC_LOCAL_CTL, BGE_MLC_INTR_SET); + } + ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
pgp9UyNxmYA3a.pgp
Description: PGP signature