Re: FreeBSD boots too fast on Dell PE850

2006-08-22 Thread Mike Hunter
On Aug 19 at 11:50, Paul Koch wrote:

 The second problem we found was, various NICs would report that they 
 were active after doing auto negotiation, but no rx packets were 
 being passed into to the OS.  Not sure if it was a hardware or driver 
 issue, but we discovered that by forcing a packet out the NIC via the 
 bpf interface, it would immediately start doing stuff.  It was if the 
 auto negotiation had not really completed fully until a packet was 
 transmitted.  This only occurred on certain types of NICs, the newer 
 ones.  This was a problem for us because we build something called 
 a remote network appliance (RNA) which is basically FreeBSD on a 
 floppy and runs a statistical lan analyser.  The RNA might have many 
 NICs in it, one with an IP, the others just connected to network 
 segments in promiscuous mode.  Our apps couldn't monitor any traffic 
 because no packets had be sent out the interfaces.  So, early in the 
 boot process we force out a couple of Loopback packets and everything 
 works just fine.
 
 Not sure if the second issue would be a problem for normal installations 
 though.

I have a feeling this is related to windows; I recently watched a windows
server boot with ethereal and it did an arp x.x.x.x is-at a:b:c:d:e:f
(or 2 or 3) first thing (it had a static IP)...so of course a nic vendor
would never realize there's a problem since they only test with
windows*sigh*.  Not sure how DHCP would play into that.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-19 Thread Jo Rhett
On Fri, Aug 18, 2006 at 02:00:06PM +0200, Martin Horcicka wrote:
 This is a little off-topic (and I'm no Cisco specialist) but I'm
 afraid that the loop detection won't happen with portfast. Cisco.com
 says (the first page that Google gave me):
 
I've deleted the cisco verbage for brevity, but that doesn't mean loops
won't be detected.  It means that it will behave like any STP port in
forwarding state -- forward packets until it detects a loop.

The problem is that if you were to link the networks together using
portfast ports then it could take 5-20 seconds for the switch to get a
clue.  (I've never seen it take longer if enough traffic to create a
problem was transiting the port)

-- 
Jo Rhett
senior geek
SVcolo : Silicon Valley Colocation
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Martin Horcicka

2006/8/18, Dan Nelson [EMAIL PROTECTED]:

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
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Pyun YongHyeon
On Thu, Aug 17, 2006 at 09:16:43PM -0500, Dan Nelson wrote:
  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
  
  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.
  

If there is a way to program multicasting filters correctly
without resettting the hardware there is no need to reset hardware
and it could be easily implemented in ether_ioctl().

-- 
Regards,
Pyun YongHyeon
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Pyun YongHyeon
On Fri, Aug 18, 2006 at 10:51:07AM +0200, Martin Horcicka wrote:
  2006/8/18, Dan Nelson [EMAIL PROTECTED]:
  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
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Ruslan Ermilov
On Fri, Aug 18, 2006 at 06:22:56PM +0900, Pyun YongHyeon wrote:
 On Fri, Aug 18, 2006 at 10:51:07AM +0200, Martin Horcicka wrote:
   2006/8/18, Dan Nelson [EMAIL PROTECTED]:
   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.
[...]

   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.
 
But the bge's start() routine does this, and did it in 6.1-RELEASE,
so it doesn't look like a problem in this particular case.

: if (!sc-bge_link || IFQ_DRV_IS_EMPTY(ifp-if_snd))
: return;


Cheers,
-- 
Ruslan Ermilov
[EMAIL PROTECTED]
FreeBSD committer


pgpxP9mBvWi35.pgp
Description: PGP signature


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Martin Horcicka

2006/8/18, Pyun YongHyeon [EMAIL PROTECTED]:

On Fri, Aug 18, 2006 at 10:51:07AM +0200, Martin Horcicka wrote:
  2006/8/18, Dan Nelson [EMAIL PROTECTED]:
  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:

...

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.


Unfortunately, I don't know how it works exactly. In our case when the
autodetection is disabled and there is e.g. 100/full configured
manually on both, switch and the FreeBSD box, ifconfig shows the
interface status wery early as active. I suspect the switch (Cisco)
to activate the port (from the point of view of the FreeBSD box) but
not to forward any normal frames until the Spanning Tree Protocol
procedure is finished for that port. But it's just a guess. I don't
know the negotiation protocol in Ethernet at all and I would really
welcome a commentary from someone who does.

Martin
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Patrick M. Hausen
Hi, all!

On Fri, Aug 18, 2006 at 01:23:15PM +0200, Martin Horcicka wrote:

 Unfortunately, I don't know how it works exactly. In our case when the
 autodetection is disabled and there is e.g. 100/full configured
 manually on both, switch and the FreeBSD box, ifconfig shows the
 interface status wery early as active. I suspect the switch (Cisco)
 to activate the port (from the point of view of the FreeBSD box) but
 not to forward any normal frames until the Spanning Tree Protocol
 procedure is finished for that port. But it's just a guess. I don't
 know the negotiation protocol in Ethernet at all and I would really
 welcome a commentary from someone who does.

This is indeed the case.

The switch port goes up. Then the port goes into either the forwarding
or the blocking state. The transition period usually takes between 30
and 50 seconds, which may be to long for some devices.

spanning-tree portfast puts the port into the forwarding state
immediately but still participates in STP, so eventually a loop
will be detected and the port put back into blocking state again.

The layer 2 interface is, of course, up during all this
mumble - otherwise the switch could not send  receive STP frames.
This is what confuses hosts waiting for DHCP or similar.

HTH,

Patrick M. Hausen
Leiter Netzwerke und Sicherheit
-- 
punkt.de GmbH Internet - Dienstleistungen - Beratung
Vorholzstr. 25Tel. 0721 9109 -0 Fax: -100
76137 Karlsruhe   http://punkt.de
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Martin Horcicka

2006/8/18, Patrick M. Hausen [EMAIL PROTECTED]:


On Fri, Aug 18, 2006 at 01:23:15PM +0200, Martin Horcicka wrote:

 Unfortunately, I don't know how it works exactly. In our case when the
 autodetection is disabled and there is e.g. 100/full configured
 manually on both, switch and the FreeBSD box, ifconfig shows the
 interface status wery early as active. I suspect the switch (Cisco)
 to activate the port (from the point of view of the FreeBSD box) but
 not to forward any normal frames until the Spanning Tree Protocol
 procedure is finished for that port. But it's just a guess. I don't
 know the negotiation protocol in Ethernet at all and I would really
 welcome a commentary from someone who does.

This is indeed the case.

The switch port goes up. Then the port goes into either the forwarding
or the blocking state. The transition period usually takes between 30
and 50 seconds, which may be to long for some devices.

spanning-tree portfast puts the port into the forwarding state
immediately but still participates in STP, so eventually a loop
will be detected and the port put back into blocking state again.


This is a little off-topic (and I'm no Cisco specialist) but I'm
afraid that the loop detection won't happen with portfast. Cisco.com
says (the first page that Google gave me):

---
Understanding How PortFast Works

Spanning-tree PortFast causes a port to enter the spanning-tree
forwarding state immediately, bypassing the listening and learning
states. You can use PortFast on switch ports connected to a single
workstation or server to allow those devices to connect to the network
immediately, rather than waiting for the port to transition from the
listening and learning states to the forwarding state.

Caution: PortFast should be used only when connecting a single end
station to a switch port. If you enable PortFast on a port connected
to another networking device, such as a switch, you can create network
loops.

When the switch powers up, or when a device is connected to a port,
the port normally enters the spanning-tree listening state. When the
forward delay timer expires, the port enters the learning state. When
the forward delay timer expires a second time, the port is
transitioned to the forwarding or blocking state.

When you enable PortFast on a port, the port is immediately and
permanently transitioned to the spanning-tree forwarding state.
---

But then I don't see any difference between using portfast and
disabling Spanning Tree Protocol frames for that port at all. :-/

Martin



The layer 2 interface is, of course, up during all this
mumble - otherwise the switch could not send  receive STP frames.
This is what confuses hosts waiting for DHCP or similar.

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Danny Braniss
 2006/8/18, Patrick M. Hausen [EMAIL PROTECTED]:
 
  On Fri, Aug 18, 2006 at 01:23:15PM +0200, Martin Horcicka wrote:
 
   Unfortunately, I don't know how it works exactly. In our case when the
   autodetection is disabled and there is e.g. 100/full configured
   manually on both, switch and the FreeBSD box, ifconfig shows the
   interface status wery early as active. I suspect the switch (Cisco)
   to activate the port (from the point of view of the FreeBSD box) but
   not to forward any normal frames until the Spanning Tree Protocol
   procedure is finished for that port. But it's just a guess. I don't
   know the negotiation protocol in Ethernet at all and I would really
   welcome a commentary from someone who does.
 
  This is indeed the case.
 
  The switch port goes up. Then the port goes into either the forwarding
  or the blocking state. The transition period usually takes between 30
  and 50 seconds, which may be to long for some devices.
 
  spanning-tree portfast puts the port into the forwarding state
  immediately but still participates in STP, so eventually a loop
  will be detected and the port put back into blocking state again.
 
 This is a little off-topic (and I'm no Cisco specialist) but I'm
 afraid that the loop detection won't happen with portfast. Cisco.com
 says (the first page that Google gave me):
 
 ---
 Understanding How PortFast Works
 
 Spanning-tree PortFast causes a port to enter the spanning-tree
 forwarding state immediately, bypassing the listening and learning
 states. You can use PortFast on switch ports connected to a single
 workstation or server to allow those devices to connect to the network
 immediately, rather than waiting for the port to transition from the
 listening and learning states to the forwarding state.
 
 Caution: PortFast should be used only when connecting a single end
 station to a switch port. If you enable PortFast on a port connected
 to another networking device, such as a switch, you can create network
 loops.
 
 When the switch powers up, or when a device is connected to a port,
 the port normally enters the spanning-tree listening state. When the
 forward delay timer expires, the port enters the learning state. When
 the forward delay timer expires a second time, the port is
 transitioned to the forwarding or blocking state.
 
 When you enable PortFast on a port, the port is immediately and
 permanently transitioned to the spanning-tree forwarding state.
 ---
 
 But then I don't see any difference between using portfast and
 disabling Spanning Tree Protocol frames for that port at all. :-/
 
because there isn't?

if you are connecting a host to a switch,  you can safely drop Spanning tree.
from experience, even with SP enabled, the loop is detected, but not always
the correct port is disabled :-(.

danny

 Martin
 
 
  The layer 2 interface is, of course, up during all this
  mumble - otherwise the switch could not send  receive STP frames.
  This is what confuses hosts waiting for DHCP or similar.


___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Patrick M. Hausen
Hi!

 This is a little off-topic (and I'm no Cisco specialist) but I'm
 afraid that the loop detection won't happen with portfast. Cisco.com
 says (the first page that Google gave me):

 [ Cisco documentation ]

As always: it depends. In this case, what you imply by loop detection.
If the loop is built using more Cisco equipment participating in STP,
then the loop will be detected and eventually broken by putting one
of the links in blocked state. IOS or CatOS bugs notwithstanding.

Regards,

Patrick M. Hausen
Leiter Netzwerke und Sicherheit
-- 
punkt.de GmbH Internet - Dienstleistungen - Beratung
Vorholzstr. 25Tel. 0721 9109 -0 Fax: -100
76137 Karlsruhe   http://punkt.de
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Vivek Khera


On Aug 17, 2006, at 9:49 PM, Alan Amesbury wrote:


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



I'm not sure how much to believe the dell docs... on a PE800, they  
claim the system has a BCM5721 chip, which is how it was coded into  
the bge driver when I first got this machine and helped get patches  
built for it.  However, the pciconf database claims it is a  
BCM5750A1.  Which one is correct?  I suspect the latter.


I have PR's open on resolving this inconsistency, but they are  
obviously low priority.


I have no problems with the delay in the 'active' status, but I hard- 
code IP configuration since it is a server.




Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Alan Amesbury
Thanks for the feedback and discussion!  Alas, in terms of network
configuration, I'm just a tenant; I have no direct control over the
networking gear, nor direct visibility into how the switch is configured.

A couple people wrote to me directly and suggested I 'send-pr' this, so
I'll do so (hopefully later today).

Thanks again!


--
Alan Amesbury
University of Minnesota
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: FreeBSD boots too fast on Dell PE850

2006-08-18 Thread Paul Koch
On Saturday 19 August 2006 03:12, Alan Amesbury wrote:
 Thanks for the feedback and discussion!  Alas, in terms of network
 configuration, I'm just a tenant; I have no direct control over the
 networking gear, nor direct visibility into how the switch is
 configured.

 A couple people wrote to me directly and suggested I 'send-pr' this,
 so I'll do so (hopefully later today).

 Thanks again!


 --
 Alan Amesbury
 University of Minnesota


This is a really old problem, actually two.

The first being the spanning tree problem where it can take a long 
time for it to settle and your port go into forwarding state.  Adding a 
random sleep doesn't help because - how long do you sleep for ?  How we 
got around this problem at various sites was, by modifying rc scripts, 
to check if a default gateway was configured (typical), and ping it 
until a response was received, or a large timeout occurred (eg. 5 
minutes).  That way, all other network services like nptdate, and 
sendmail would have a better chance of working.

If your machine doesn't use a static IP, but instead dhcp, then you will 
need to have a long timeout/retry on the dhcp requests.

The second problem we found was, various NICs would report that they 
were active after doing auto negotiation, but no rx packets were 
being passed into to the OS.  Not sure if it was a hardware or driver 
issue, but we discovered that by forcing a packet out the NIC via the 
bpf interface, it would immediately start doing stuff.  It was if the 
auto negotiation had not really completed fully until a packet was 
transmitted.  This only occurred on certain types of NICs, the newer 
ones.  This was a problem for us because we build something called 
a remote network appliance (RNA) which is basically FreeBSD on a 
floppy and runs a statistical lan analyser.  The RNA might have many 
NICs in it, one with an IP, the others just connected to network 
segments in promiscuous mode.  Our apps couldn't monitor any traffic 
because no packets had be sent out the interfaces.  So, early in the 
boot process we force out a couple of Loopback packets and everything 
works just fine.

Not sure if the second issue would be a problem for normal installations 
though.

Paul.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


FreeBSD boots too fast on Dell PE850

2006-08-17 Thread Alan Amesbury
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.

During the boot process and before /etc/rc.d/netif runs, the networking
hardware is *cold*, i.e., no link lights or anything.  During boot, when
FreeBSD brings the interface up, there is a period where the interface
appears to do autonegotiation with the switch to which it's connected,
regardless of whether the 'ifconfig_bge0=...' line in rc.conf includes
media and mediaopt options.  The console also displays various

bge0: link state changed to DOWN
bge0: link state changed to UP


messages, while the link lights flash on and off in various patterns.
Eventually the link stabilizes... but by this point FreeBSD has
completed booting and is in multiuser.  The result is that any services
that rely on network being present during boot (NTP, for example, as
well as numerous stuff installed from ports) fail in various ways.  As
hinted at above, locking the NIC and the associated switch ports to a
fixed speed and duplex (thus avoiding the whole autonegotiation mess)
does NOT help; FreeBSD still notes link state changes as described above
and things break in unpleasant ways.

My fix for this has been to apply this patch to /etc/rc.d/netif (also
attached in pristine form):

-- Patch for netif --
--- netif.orig  Thu Jun 29 17:21:10 2006
+++ netif   Thu Aug 17 20:30:10 2006
@@ -71,6 +71,12 @@
# Resync ipfilter
/etc/rc.d/ipfilter resync
fi
+
+   if [ ! -z $sleep_postnetif ]; then
+   echo -n Sleeping for $sleep_postnetif seconds . . .  
+   sleep $sleep_postnetif
+   echo Done.
+   fi
 }

 network_stop()
 End patch for netif 


Setting $sleep_postnetif to a value of about 7 then causes the boot
process to delay long enough that the network connection's stabilized
enough to be usable.  I chose that RC variable name as I suspected it
would have a low incidence of collision in rc.conf in the future, i.e.,
I'm hoping this patch is safe to include in -STABLE in the event this
sort of problem is widespread (and nobody comes up with a more elegant fix).

Anyway, since I suspect that I might not be the only one running FreeBSD
with Dell and/or Broadcom hardware, I figured it might be worth
mentioning this and providing what has been (for me, anyway) a workable
patch thus far.  I hesitated to open a bug report on this because--well,
it doesn't seem like the OS is really at fault here.  :-\

Recommendations for improvement are welcome, as well as any suggestions
for a less kludgy fix.  I *really* dislike the idea of slowing down the
boot process.  :-(


--
Alan Amesbury
University of Minnesota
--- netif.orig  Thu Jun 29 17:21:10 2006
+++ netif   Thu Aug 17 20:30:10 2006
@@ -71,6 +71,12 @@
# Resync ipfilter
/etc/rc.d/ipfilter resync
fi
+
+   if [ ! -z $sleep_postnetif ]; then
+   echo -n Sleeping for $sleep_postnetif seconds . . .  
+   sleep $sleep_postnetif
+   echo Done.
+   fi
 }
 
 network_stop()
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]

Re: FreeBSD boots too fast on Dell PE850

2006-08-17 Thread Dan Nelson
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

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.

-- 
Dan Nelson
[EMAIL PROTECTED]
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]