Bug 672501 - bonding driver on RHEL5.6 reports incorrect link speed on one of the slave device
Summary: bonding driver on RHEL5.6 reports incorrect link speed on one of the slave de...
Keywords:
Status: CLOSED DUPLICATE of bug 677902
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.6
Hardware: Unspecified
OS: Linux
unspecified
low
Target Milestone: rc
: ---
Assignee: Andy Gospodarek
QA Contact: Network QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-25 11:03 UTC by masanari iida
Modified: 2011-05-05 01:14 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-05-05 01:14:43 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description masanari iida 2011-01-25 11:03:04 UTC
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

Comment 1 Andreas Piesk 2011-02-28 17:39:34 UTC
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

Comment 2 Andy Gospodarek 2011-02-28 20:38:27 UTC
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.

Comment 3 RHEL Program Management 2011-02-28 20:39:46 UTC
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.

Comment 5 Andy Gospodarek 2011-05-04 17:49:15 UTC
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

Comment 7 Andy Gospodarek 2011-05-05 01:14:43 UTC

*** This bug has been marked as a duplicate of bug 677902 ***


Note You need to log in before you can comment on or make changes to this bug.