Bug 745325

Summary: The latest 10G NIC driver ixgbe 3.6.7 can't be used in RHEL6.2 Beta
Product: Red Hat Enterprise Linux 6 Reporter: zou.chris
Component: kernelAssignee: Neil Horman <nhorman>
Status: CLOSED NOTABUG QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 6.2CC: arozansk
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:
RHEL6.2 Beta
Last Closed: 2011-10-15 14:39:20 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 fix ixgbe soruceforge driver none

Description zou.chris 2011-10-12 02:01:58 UTC
Description of problem:

"/ixgbe-3.6.7/src/ixgbe_main.c:5103:error:'struct net_device' has no member named 'tc_to_txq'"
"/ixgbe-3.6.7/src/ixgbe_main.c:5104:error:'struct net_device' has no member named 'tc_to_txq'"
Version-Release number of selected component (if applicable):
4. The driver can not be added into RHEL6.2 Beta (x86_64bit)

How reproducible:


Steps to Reproduce:
1. Download the latest driver from intel, ixgbe3.6.7
2. Extracting the tar package, and run "make"
3. "/ixgbe-3.6.7/src/ixgbe_main.c:5103:error:'struct net_device' has no member named 'tc_to_txq'"
"/ixgbe-3.6.7/src/ixgbe_main.c:5104:error:'struct net_device' has no member named 'tc_to_txq'"
Version-Release number of selected component (if applicable):
4. The driver can not be added into RHEL6.2 Beta (x86_64bit) 
Actual results:


Expected results:
The driver should be OK.

Additional info: The driver 3.5.14 also fail

Comment 2 zou.chris 2011-10-12 08:53:48 UTC
RHEL6.2 Beta kernel (2.6.32-202.el6.x86_64)
-->The driver ixgbe-3.6.7 can not be installed-->FAIL
RHEL6.1 RC3 
-->The driver ixgbe-3.6.7 can be installed -->PASS

It is OS issue, since RHEL6.1 x86_64 is OK.

Comment 3 Neil Horman 2011-10-15 14:39:20 UTC
This isn't an OS bug, its the result of our ABI promise and a break that was fixed between 6.1 and 6.2.  the tc_to_txq array was added to the net_device struct in 6.1, which allowed the ixgbe out of tree driver to build properly but breaks the RHEL ABI stability guarantee.  6.2 fixed the ABI breakage by moving that array to an ABI safe location, but requires a macro access for drivers to get to.  Since we guarantee ABI, but not out of tree driver building, this is the correct solution.  You can fix up the ixgbe sourceforge driver by replacing all instances of dev->tc_to_txq in the driver with this:
netdev_extended(dev)->qos_data.tc_to_txq
I'll attach a patch to make the modification for you.

Comment 4 Neil Horman 2011-10-15 14:40:19 UTC
Created attachment 528324 [details]
patch to fix ixgbe soruceforge driver

Comment 5 zou.chris 2011-10-24 02:13:23 UTC
Verified the patch work OK. It is driver issue, thanks, I also will try verification in later rhel6.2 or later version. 
Suggest close the tracker