Bug 709372

Summary: ethtool not configuring interface until after added to bond
Product: Red Hat Enterprise Linux 6 Reporter: Carl-Christian Salvesen <calle>
Component: initscriptsAssignee: initscripts Maintenance Team <initscripts-maint-list>
Status: CLOSED CURRENTRELEASE QA Contact: qe-baseos-daemons
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0CC: calle, lnykryn
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-07 15:42:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
patch to make ethtool run before adding interface to bond none

Description Carl-Christian Salvesen 2011-05-31 14:32:26 UTC
Created attachment 502010 [details]
patch to make ethtool run before adding interface to bond

Description of problem:
I'm trying to set up bonding in mode 4 with one e1000e card and one bnx2 card. The bnx2 card starts up default without RX flow control, and the e1000e card with rx flow control. This makes the two cards get different aggregator id in the bond, and no balancing happens.

It is not possible to set pause options from /etc/sysconfig/network-scripts/ifcfg-eth0 etc.

Version-Release number of selected component (if applicable):
RHEL 6.0

How reproducible:


Steps to Reproduce:
1. try to set lacp bonding with one e1000e and one bnx2-interface.
  
Actual results:
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 1
        Number of ports: 1
        Actor Key: 17
        Partner Key: 205
        Partner Mac Address: 02:00:..........

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:26:......
Aggregator ID: 1

Slave Interface: eth3
MII Status: up
Link Failure Count: 2
Permanent HW addr: 78:e7:.......
Aggregator ID: 2


Expected results:
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: fast
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 15
        Number of ports: 2
        Actor Key: 17
        Partner Key: 203
        Partner Mac Address: 02:00:........

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:26:.........
Aggregator ID: 15

Slave Interface: eth3
MII Status: up
Link Failure Count: 1
Permanent HW addr: d8:d3:.........
Aggregator ID: 15


Additional info:
Attached is a patch to make ethtool run before the interface is added to the bond. This patch also makes it possible to add pause options form network-scripts/ifcfg-ethX.

Example:
DEVICE=eth3
HWADDR=d8:d3:.......
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
MASTER=bond0
ETHTOOL_OPTS="autneg on -A rx on tx off"

The change is backwards compatible and should not break anything. Please include it in the next release.

Comment 2 Suzanne Logcher 2011-10-06 18:50:12 UTC
Since RHEL 6.2 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.
               
Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 3 Lukáš Nykrýn 2012-06-07 15:42:53 UTC
This should be fixed in initscripts-9.03.24-1. You just have to set
ETHTOOL_OPTS="autneg on; -A rx on tx off"