kern/100410: bge driver disables access to shared iLo on HP DL360 G4

Eric Lakin elakin at infohell.net
Sun Jul 16 20:40:34 UTC 2006


>Number:         100410
>Category:       kern
>Synopsis:       bge driver disables access to shared iLo on HP DL360 G4
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 16 20:40:14 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Eric Lakin
>Release:        6.1
>Organization:
>Environment:
FreeBSD amun-ra.priv.infohell.net 6.1-RELEASE-p2 FreeBSD 6.1-RELEASE-p2 #7: Sat Jul 15 20:53:49 PDT 2006     root at amun-ra.priv.infohell.net:/usr/obj/usr/src/sys/AMUN-RA  amd64
>Description:
One of the configuration options of the iLo (integrated lights-out management device) on the HP DL360 G4 and later is to use a "shared network" setup. Normally, the iLo device uses a dedicated network interface. With the shared network, the iLo shares the first onboard ethernet device with the host computer. Under FreeBSD this is bge0.

When a kernel containing the bge0 driver is booted, or the 'if_bge' module is loaded, access to the iLo is interrupted - the ilo can no longer be pinged or ssh'd into.

When if_bge is loaded on the DL360, the following is logged:

bge0: <Broadcom BCM5704C Dual Gigabit Ethernet, ASIC rev. 0x2100> mem 0xfdff0000-0xfdffffff irq 25 at device 2.0 on pci2
bge0: Ethernet address: 00:12:79:8f:8f:54
bge1: <Broadcom BCM5704C Dual Gigabit Ethernet, ASIC rev. 0x2100> mem 0xfdfe0000-0xfdfeffff irq 26 at device 2.1 on pci2
bge1: Ethernet address: 00:12:79:8f:8f:53
miibus0: <MII bus> on bge0
brgphy0: <BCM5704 10/100/1000baseTX PHY> on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto
miibus1: <MII bus> on bge1
brgphy1: <BCM5704 10/100/1000baseTX PHY> on miibus1
brgphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto

Also, if a host is pinging the iLo IP address when if_bge is loaded, the FreeBSD
host can see the ICMP packets that should be destined for iLo. Because of this, it looks as though the FreeBSD driver is accessing the bge device at a lower level than it needs, and is reading packets from the HW that should be going to the iLo.

This is kind of a strange setup - basically, two computers are sharing the same network interface (the iLo and the computer running FreeBSD). However, it's something that I also tested under linux - and linux is able to utilize the ethernet interface w/o impacting the iLo using it as well.

The machine that I discovered this on is not yet in active service, and so I can help test and provide more information for a while, as needed.


>How-To-Repeat:
Load if_bge, or boot a kernel that includes 'device bge'
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list