Description of problem: bonding driver on RHEL5.6 report incorrect link speed on one of the slave device Version-Release number of selected component (if applicable): RHEL 5.6(kernel-2.6.18-238) How reproducible: always Steps to Reproduce: (1) Configure bonding with devices which uses tg3 driver. (The tg3 driver is used from RHEL5.6 kernel) (2) Check bonding status ( cat /proc/sys/net/bonding/bond0 ) Actual results: # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008) Bonding Mode: fault-tolerance (active-backup) Primary Slave: eth0 (primary_reselect always) Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0 ARP Polling Interval (ms): 1000 ARP IP target/s (n.n.n.n form): 192.168.1.247 Slave Interface: eth0 MII Status: up Speed: 1000 Mbps <== correct Duplex: full Link Failure Count: 0 Permanent HW addr: d8:d3:01:02:03:04 Slave Interface: eth2 MII Status: up Speed: 100 Mbps <== Wrong Duplex: full Link Failure Count: 0 Permanent HW addr: 00:19:01:02:03:04 Link speed of eth2 should be 1000 Mbps. Check the ethool output, it shows correct result. # ethtool eth2 Settings for eth2: Supported ports: [ FIBRE ] Supported link modes: 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s <== correct Duplex: Full Port: FIBRE PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: yes Expected results: bonding driver reports correct link speed for tg3 (eth2) Additional info: $ cat /etc/modprobe.conf alias eth0 bnx2x alias eth1 bnx2x alias eth2 tg3 alias eth3 tg3 alias scsi_hostadapter cciss alias scsi_hostadapter1 usb-storage alias net-pf-10 off alias ipv6 off options ipv6 disable=1 alias bond0 bonding alias bond1 bonding lspci -[0000:00]-+-00.0 Intel Corporation 5500 I/O Hub to ESI Port +-01.0-[02]--+-00.0 Broadcom Corporation NetXtreme II BCM57711E 10-Gigabit PCIe | \-00.1 Broadcom Corporation NetXtreme II BCM57711E 10-Gigabit PCIe +-02.0-[0d]-- +-03.0-[03-05]-- +-07.0-[06-08]----00.0-[07]--+-04.0 Broadcom Corporation NetXtreme BCM5715S Gigabit Ethernet | \-04.1 Broadcom Corporation NetXtreme BCM5715S Gigabit Ethernet +-08.0-[11]-- +-09.0-[09-0b]-- +-0a.0-[12]-- +-0d.0 Intel Corporation Device 343a +-0d.1 Intel Corporation Device 343b +-0d.2 Intel Corporation Device 343c +-0d.3 Intel Corporation Device 343d +-0d.4 Intel Corporation 5520/5500/X58 Physical Layer Port 0 +-0d.5 Intel Corporation 5520/5500 Physical Layer Port 1 +-0d.6 Intel Corporation Device 341a +-0e.0 Intel Corporation Device 341c +-0e.1 Intel Corporation Device 341d +-0e.2 Intel Corporation Device 341e +-0e.3 Intel Corporation Device 341f +-0e.4 Intel Corporation Device 3439 +-14.0 Intel Corporation 5520/5500/X58 I/O Hub System Management Registers +-14.1 Intel Corporation 5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers +-14.2 Intel Corporation 5520/5500/X58 I/O Hub Control Status and RAS Registers +-1c.0-[0c]----00.0 Hewlett-Packard Company Smart Array G6 controllers +-1d.0 Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1 +-1d.1 Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2 +-1d.2 Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3 +-1d.3 Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6 +-1d.7 Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1 +-1e.0-[01]--+-03.0 ATI Technologies Inc ES1000 | +-04.0 Compaq Computer Corporation Integrated Lights Out Controller | +-04.2 Compaq Computer Corporation Integrated Lights Out Processor | +-04.4 Hewlett-Packard Company Proliant iLO2/iLO3 virtual USB controller | \-04.6 Hewlett-Packard Company Proliant iLO2 virtual UART \-1f.0 Intel Corporation 82801JIB (ICH10) LPC Interface Controller
i have the same problem but with all slaves and bnx2 driver: RHEL 5.6 x86_64, kernel 2.6.18-238.1.1.el5 # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008) Bonding Mode: fault-tolerance (active-backup) Primary Slave: eth2 (primary_reselect always) Currently Active Slave: eth2 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 500 Down Delay (ms): 500 Slave Interface: eth2 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:10:18:4d:dc:a8 Slave Interface: eth4 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:10:18:4d:dc:f8 link speed is actually 1000Mbps (verified on switch too): # ethtool eth2 Settings for eth2: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g Link detected: yes # ethtool eth4 Settings for eth4: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g Link detected: yes alias eth0 bnx2 alias eth1 bnx2 alias eth2 bnx2 alias eth3 bnx2 alias eth4 bnx2 alias eth5 bnx2 alias scsi_hostadapter aacraid alias scsi_hostadapter1 ata_piix alias scsi_hostadapter2 qla2xxx it's an active-backup setup with broadcom adapters: # cat /etc/modprobe.conf alias eth0 bnx2 alias eth1 bnx2 alias eth2 bnx2 alias eth3 bnx2 alias eth4 bnx2 alias eth5 bnx2 options bonding max_bonds=2 mode=active-backup miimon=100 updelay=500 downdelay=500 alias bond0 bonding alias bond1 bonding # lspci 1c:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) 1c:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) 24:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) 24:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) -ap
I know what the problem is. I'll post a patch here and queue the patch for my test kernels. I will also post here when they are ready.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
Apparently I added this patch to my test kernels, but never reported that here. Sorry about that. Test kernels are available here: http://people.redhat.com/agospoda/#rhel5
*** This bug has been marked as a duplicate of bug 677902 ***