System Administration
cancel
Showing results for 
Search instead for 
Did you mean: 

Building latest hp-netxtreme2 srpm for RHEL 6.1 fails

Josh Trutwin
Occasional Contributor

Building latest hp-netxtreme2 srpm for RHEL 6.1 fails

Hi,

 

I'm working on a case with RedHat support on a server running fully patched RHEL 6.1 x86_64 on a proliant bl460c (g1) blade.  I've had two kernel crashing in the last 4 months with the bnx2x driver.  The NIC is:

 

02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM57711E 10-Gigabit PCIe
        Subsystem: Hewlett-Packard Company NC532i Dual Port 10GbE Multifunction BL-C Adapter

latest RHEL 6.1 kernel's bnx2x driver is version 1.62.00-6

 

# dmesg | grep bnx2x
Broadcom NetXtreme II 5771x 10Gigabit Ethernet Driver bnx2x 1.62.00-6 (2011/01/30)

 

The latest hp-netxtreme2 package 6.2.23-2 from Feb 2011 here:

 

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=us&prodTypeId=3709945&prodSeriesId=1842750&swItem=MTX-5f19b69217e84228a9c981a8ba&prodNameId=3288156&swEnvOID=4103&swLang=8&taskId=135&mode=4&idx=1

 

shows bnx2x driver version 1.62.15 so I was hoping to build this srpm but it fails - I had to update the .spec file to recognize rhel6sp1 but once it started compiling threw errors:

 

make[2]: Entering directory `/usr/src/kernels/2.6.32-131.21.1.el6.x86_64'
  CC [M]  /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.o
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x.h:68,
                 from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:80:
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:994: error: redefinition of 'skb_checksum_none_assert'
include/linux/skbuff.h:2101: note: previous definition of 'skb_checksum_none_assert' was here
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x.h:68,
                 from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:80:
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1009:1: error: "PCI_VPD_LRDT_ID_STRING" redefined
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:34:
include/linux/pci.h:1365:1: error: this is the location of the previous definition
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x.h:68,
                 from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:80:
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1011:1: error: "PCI_VPD_LRDT_RO_DATA" redefined
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:34:
include/linux/pci.h:1366:1: error: this is the location of the previous definition
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x.h:68,
                 from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:80:
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1013:1: error: "PCI_VPD_LRDT_RW_DATA" redefined
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:34:
include/linux/pci.h:1367:1: error: this is the location of the previous definition
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x.h:68,
                 from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:80:
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1019:1: error: "PCI_VPD_SRDT_END" redefined
In file included from /root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.c:34:
include/linux/pci.h:1372:1: error: this is the location of the previous definition
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1032: error: conflicting types for 'pci_vpd_lrdt_size'
include/linux/pci.h:1392: note: previous definition of 'pci_vpd_lrdt_size' was here
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1037: error: conflicting types for 'pci_vpd_srdt_size'
include/linux/pci.h:1403: note: previous definition of 'pci_vpd_srdt_size' was here
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1042: error: conflicting types for 'pci_vpd_find_tag'
include/linux/pci.h:1429: note: previous declaration of 'pci_vpd_find_tag' was here
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1077: error: conflicting types for 'pci_vpd_info_field_size'
include/linux/pci.h:1414: note: previous definition of 'pci_vpd_info_field_size' was here
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1082: error: conflicting types for 'pci_vpd_find_info_keyword'
include/linux/pci.h:1441: note: previous declaration of 'pci_vpd_find_info_keyword' was here
/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_compat.h:1124: error: redefinition of 'vlan_get_protocol'
include/linux/if_vlan.h:344: note: previous definition of 'vlan_get_protocol' was here
make[3]: *** [/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src/bnx2x_main.o] Error 1
make[2]: *** [_module_/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.32-131.21.1.el6.x86_64'
make[1]: *** [bnx2x.o] Error 2
make[1]: Leaving directory `/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default/bnx2x-1.62.15/src'
make: *** [l2build] Error 2
make: Leaving directory `/root/rpmbuild/BUILD/hp-netxtreme2-6.2.23/obj/default'


I'm not guessing that anyone here will have an answer to fix that - but curious if anyone has any other suggestions? Should I try to create a ticket with HP support to get them to update that driver for RHEL 6.1 (now out in stable since May) or is that pointless?

 

Thanks,

 

Josh

 

3 REPLIES
Michael Steele_2
Honored Contributor

Re: Building latest hp-netxtreme2 srpm for RHEL 6.1 fails

RHEL and HP should be working together on this, not you.  When you buy a new piece of HW you get the list of required patches.  In this case HP and RHEL.  You have to check them both. 

Support Fatherhood - Stop Family Law
Mark Partain
Occasional Advisor

Re: Building latest hp-netxtreme2 srpm for RHEL 6.1 fails

The text file is lacking complete information.  The drivers are only supported for RedHat 6 and not update 1 or update 2.  The in box drivers are supported and are expected for use in this environment.  The next release of network drivers will have a more detailed explanation of support like RedHat 5 Update X and RedHat 6 Update X so it is clear as to what can be installed and what the driver is expected to be supported.

 

Sorry for the confusion.

If it ain't broke, I'm not done yet!
mvpel
Trusted Contributor

Re: Building latest hp-netxtreme2 srpm for RHEL 6.1 fails

I'm a bit late to this, but the solution is a minor patch to bnx2x_compat.h near line 1178:

 

#ifndef PCI_VPD_LRDT

# if ((!defined(RHEL_RELEASE_CODE) && (LINUX_VERSION_CODE) ...etc...

 

And then around line 1283, you close out the #ifdef:

 

#endif

#endif // !PCI_VPD_LRDT

#ifndef PCI_MSIX_FLAGS_QSIZE

#define PC_MSIX_FLAGS_QSIZE 0x7FF

#endif

 

A couple of other changes are needed to get it to build on the v2.6 preemptive realtime kernel (MRG 2.0), but I assume you're not having to deal with that.

 

This needs to go into Red Hat's code. I seem to recall opening a support case, but maybe I didn't. They weren't too excited to hear me carp about 2.6 kernels to begin with.

 

This works on the latest netxtreme2-7.2.20 code.