FreeBSD boots too fast on Dell PE850

Martin Horcicka martin at horcicka.eu
Fri Aug 18 08:51:10 UTC 2006


2006/8/18, Dan Nelson <dnelson at 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.

Martin


More information about the freebsd-stable mailing list