Date: Fri, 18 Aug 2006 18:22:56 +0900 From: Pyun YongHyeon <pyunyh@gmail.com> To: Martin Horcicka <martin@horcicka.eu> Cc: freebsd-stable@freebsd.org, Dan Nelson <dnelson@allantgroup.com>, Alan Amesbury <amesbury@umn.edu> Subject: Re: FreeBSD boots too fast on Dell PE850 Message-ID: <20060818092255.GD55509@cdnetworks.co.kr> In-Reply-To: <437bc1590608180151m1017a50cg31c7817d1aeb0dfe@mail.gmail.com> References: <44E51C93.5090000@umn.edu> <20060818021643.GA74158@dan.emsphone.com> <437bc1590608180151m1017a50cg31c7817d1aeb0dfe@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Aug 18, 2006 at 10:51:07AM +0200, Martin Horcicka wrote: > 2006/8/18, Dan Nelson <dnelson@allantgroup.com>: > >In the last episode (Aug 17), Alan Amesbury said: > >> OK, booting *too* quickly is a somewhat unusual problem..... I have > >> FreeBSD 6.1-RELEASE-p3 running on a Dell PowerEdge 850. For some > >> reason, in the PowerEdge 850 Dell chose to replace the perfectly > >> adequate em(4) adapters found on the PE750 with bge(4) hardware. > >> FreeBSD identifies these adapters as BCM5750A1, but Dell says they're > >> actually Broadcom 5721J adapters instead. See > >> > >> http://www.dell.com/downloads/global/products/pedge/en/850_specs.pdf > >> > >> for details. The switch to which the host is connected is a Cisco > >> Catalyst 3750. How this relates to FreeBSD, however..... > > > >Have you enabled portfast on the Cisco? > > > >http://www.cisco.com/warp/public/473/12.html#c2k > > We have similar problems on various hardware and we also believe it's > caused by the Spanning Tree Protocol procedure done during the switch > port initialization. I don't like the idea of using portfast as it > makes the switch less robust so I tried to delay the boot using an rc > script as well: > > /etc/rc.d/slow_interface_startup: > --- > #!/bin/sh > > # PROVIDE: slow_interface_startup > # REQUIRE: netif > # BEFORE: NETWORKING > > slow_interface_startup_enable=${slow_interface_startup_enable:-NO} > slow_interface_startup_duration=${slow_interface_startup_duration:-50} > > . /etc/rc.subr > > name=slow_interface_startup > rcvar=`set_rcvar` > start_cmd=slow_interface_startup_start > stop_cmd=: > > slow_interface_startup_start() { > echo -n "Waiting for interfaces to get ready" \ > "($slow_interface_startup_duration seconds)" > sleep "$slow_interface_startup_duration" > echo > } > > load_rc_config $name > run_rc_command "$1" > --- > > Then you can add to rc.conf: > > slow_interface_startup_enable="YES" > > And optionally also (in seconds): > > slow_interface_startup_duration="123" > > It's a little hack but it works as expected. Anyway, in some cases it > does not help. The NIC is probably reset at some later point. I have > not investigated it further yet. > > >Another thing to check is whether you have alias IPs. I believe the > >bge driver has to reset the card every time you add or remove an IP. > >I know the ti driver (whose chipset the broadcom chips are based on) > >had that problem. > > Yes, but I believe that all such operations are done by the netif script. > I think it's job of device driver. If the driver find its link negotiation is in progress it should not send frames. Unfortunately not all drivers handle this correctly. -- Regards, Pyun YongHyeon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060818092255.GD55509>