Bug 519380

Summary: Broadcom (bnx2) driver doesn't work in XEN VM using PCI pass-through
Product: Red Hat Enterprise Linux 5 Reporter: oybed
Component: xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: low    
Version: 5.3CC: andriusb, mchan, xen-maint, yufang521247
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: 2009-09-02 04:11:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description oybed 2009-08-26 12:12:04 UTC
Description of problem:
When installing Linux (RedHat Enterprise Linux 5.3) in a virtual machine on top of XEN 3.3.1, the Broadcom NIC driver (BNX2) does not recognize the PCI address for the NIC when using the pci pass-through technique to dedicate a NIC. The Broadcom driver (bnx2) doesn't load correctly, and hence the NIC(s) is not available for use within the VM. The driver complains about not being able to map the register space for the PCI addresses passed in to the VM. On the flip-side, using an Intel Pro1000 NIC (e1000e driver) works without problems in the same VM.

Version-Release number of selected component (if applicable):
BASE OS:   RedHat Enterprise Linux 5.3 / 2.6.18.8 / XEN 3.3.1
VM OS:     RedHat Enterprise Linux 5.3 / 2.6.18-128
BNX2:      1.7.9-1                    FAILED
BNX2:      1.8.5b                     FAILED
BNX2:      1.9.3 (from RHEL 5.4 beta) FAILED


How reproducible:
100% - it can easily be reproduced.

Steps to Reproduce:
1. Install base OS, e.g.: Red Hat Enterprise Linux 5.3 (64-bit)
2. Upgrade Xen to 3.3.1 (obtained from xen.org)
3. Create a VM with another instance of Red Hat Enterprise Linux 5.3. (32-bit)
4. Dedicate a Broadcom NIC (e.g.: chipset 5709) to the VM by using pci pass-through.
5. Observe that the bnx2 driver doesn't load, with the following errors:
   >> dmesg | grep bnx2
   Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.7.9-1 (July> 18,2008)
   bnx2 0000:00:00.0: Cannot map register space, aborting.
   bnx2: probe of 0000:00:00.0 failed with error -12
  
Actual results:
Networking not available within the VM.

Expected results:
PCI pass-through would work with the Broadcom NICs.

Additional info:
- Using XEN 3.0.3 seems to work, so something changed in a later version of XEN (~3.3.1) causing the Broadcom driver to not behave well. 

- I can provide more detailed steps for how to reproduce this problem if needed.

Comment 1 Andrius Benokraitis 2009-09-02 04:11:00 UTC
Red Hat only supports inbox versions of Xen and drivers. Any manual installations of later versions are unsupported by Red Hat. If there are features that require backporting from upstream to 3.0.3 those need to be proposed.