Description of problem: Incorrect "Speed" is recorded in the file "/proc/net/bonding/bondX" Version-Release number of selected component (if applicable): RHEL5u6 How reproducible: Maybe all the RHEL5u6 systems Steps to Reproduce: 1. Make bond1 device by using eth2 and eth6 (mode 1). 2. # ethtool eth2 | grep Speed Speed: 1000Mb/s # ethtool eth6 | grep Speed Speed: 1000Mb/s 3. # cat /proc/net/bonding/bond1 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): 5000 Down Delay (ms): 0 Slave Interface: eth2 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: XX:XX:XX:XX:XX:XX Slave Interface: eth6 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: YY:YY:YY:YY:YY:YY Actual results: Speed: 100 Mbps Expected results: Speed: 1000 Mbps
Do you also see a message in your log that says something like this: Warning: failed to get speed and duplex from eth2, assumed to be 100Mb/sec and Full. It is likely that your devices that do not report link-speed before they go 'up' and the speed values are never updated.
My test kernels have been updated to include a patch for this bugzilla. Please test them and report back your results. http://people.redhat.com/agospoda/#rhel5
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.
Patch(es) available in kernel-2.6.18-256.el5 You can download this test kernel (or newer) from http://people.redhat.com/jwilson/el5 Detailed testing feedback is always welcomed.
*** Bug 672501 has been marked as a duplicate of this bug. ***
My colleague tested this on 2.6.18-238(affected) and 2.6.18-259(Fixed) and confirmed the symptom is fixed. Thank you. uname -a Linux localhost.localdomain 2.6.18-259.el5 #1 SMP Fri Apr 29 01:09:57 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux # # ethtool eth1 Settings for eth1: 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 <--- 1Gbps Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g Link detected: yes # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 5000 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Speed: 1000 Mbps <--- 1Gbps Duplex: full Link Failure Count: 0 Permanent HW addr: xx:xx:xx:xx:xx:xx Slave Interface: eth2 MII Status: down Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: xx:xx:xx:xx:xx:xx
(In reply to comment #5) > Do you also see a message in your log that says something like this: > > Warning: failed to get speed and duplex from eth2, assumed to be 100Mb/sec and > Full. > > It is likely that your devices that do not report link-speed before they go > 'up' and the speed values are never updated. Have a customer with the same problem, except that we're testing a newer kernel (2.6.18-262.el5) and the problem is still there, he's setting the link speed to 5Gbps and seeing 100Mbps on the bondX file. Can this be caused by the network driver not providing the right information to the bonding driver when it goes up? See /var/log/messages below. (date is not set correctly on the system yet so reflects March but it's actually from July 11th) [root bonding]# cat bond0 Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: xx:xx:xx:xx:xx:xx Slave Interface: eth1 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 98:4b:e1:62:84:74 [root@ium1to5oss bonding]# /var/log/messages Mar 14 22:52:06 localhost.localdomain kernel: Linux version 2.6.18-262.el5 (mockbuild.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Mon May 16 17:49:03 EDT 2011 Mar 14 23:12:26 localhost.localdomain kernel: bonding: bond0: Warning: failed to get speed and duplex from eth0, assumed to be 100Mb/sec and Full.
Gabrio, the problem is purely cosmetic. I has absolutely no impact on the rate at which the bonding driver can send and receive traffic. The bonding driver isn't setup to properly recognize speeds that aren't factors of 10, so a small change has to be made to work with devices like this one that can be setup with speeds like 2.5Gbps and 5Gbps.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-1065.html