FILE NAME:	hp-netxtreme2-iscsi-7.0.36-2.src.rpm

TITLE:		HP NC-Series Broadcom 1/10 GbE iSCSI offload drivers for Linux

VERSION:	7.0.36

RELEASE:	2

LANGUAGE:	English

CATEGORY:	Software Solutions

DIVISIONS:	Enterprise and Mainstream Servers

EFFECTIVE DATE:	12/21/2011

SUPERSEDES:	Initial Release


Products Affected
==================
HP NC382i Integrated Dual Port Multifunction Gigabit Server Adapter 
HP NC382m Dual Port 1GbE Multifunction BL-c Adapter 
HP NC382T PCI Express Dual Port Gigabit Server Adapter 
HP NC532i Dual Port 10GbE Multifunction BL-c Adapter 
HP NC532m Dual Port 10GbE Multifuntion BL-c Adapter


Operating Systems
==================
Red Hat Enterprise Linux 6 Update 2 for AMD64/EM64T
Red Hat Enterprise Linux 6 Update 2 for x86
Red Hat Enterprise Linux 6 Update 1 for AMD64/EM64T
Red Hat Enterprise Linux 6 Update 1 for x86
Red Hat Enterprise Linux 6 for AMD64/EM64T
Red Hat Enterprise Linux 6 for x86
Red Hat Enterprise Linux 5 Update 7 for AMD64/EM64T
Red Hat Enterprise Linux 5 Update 7 for x86
Red Hat Enterprise Linux 5 Update 6 for AMD64/EM64T
Red Hat Enterprise Linux 5 Update 6 for x86

SUSE LINUX Enterprise Server 11 Service Pack 1 for AMD64/EM64T
SUSE LINUX Enterprise Server 11 Service Pack 1 for x86
SUSE LINUX Enterprise Server 11 for AMD64/EM64T
SUSE LINUX Enterprise Server 11 for x86

Pre-requisites
===============
ProLiant server supporting above operating systems
2GB RAM minimum
Latest HP System ROM
Build Environment Setup
hp-netxtreme2 KMP

NOTE: Visit the following URL and download latest System ROM
http://welcome.hp.com/country/us/en/support.html
Select "Download drivers and software" 


Description
============
This RPM contains HP tested and approved iSCSI drivers 
for use with network adapters mentioned in the PRODUCTS AFFECTED
section of this document.


Enhancements/Fixes
===================
Initial release of a seperate package with iSCSI offload driver (bnx2i)


Table of Contents
==================
Introduction
Packaging
Build Environment Setup
Installing the RPM package
Uninstalling the RPM package
Caveats


Introduction
=============
This file describes how to build and install the iSCSI drivers
for network adapters mentioned in the PRODUCTS AFFECTED section. 

Additional information for the ISCSI drivers can be found in the files
RELEASE.TXT and README.TXT that will get installed on installing the binary rpm. 

User guides and additional HP Network Adapter information can be found at: 
http://h18004.www1.hp.com/products/servers/networking/index-nic.html


Packaging
==========
The driver is released in Kernel Module Package (KMP) source RPM format.
KMP packages use macros that determine kernel flavors for which binary 
need to be built based on spec file rules.

It is important to have the right build environment set up in order to 
compile a binary RPM from source package. See "Build Environment Setup"
section below for more details.


Build Environment Setup
========================
This package requires the presence of certain other packages that provide
the right build environment to enable building a KMP binary rpm from the
source rpm. These packages provide kernel headers, makefiles and symbol
files. Please ensure that the following are installed:

RHEL installation:
	1. redhat-rpm-config package
	2. kernel-devel-<kernel_version> package
	3. kernel-<flavor>-devel-<kernel_version> package
	Eg: kernel-2.6.18.92.el5 requires kernel-devel-2.6.18-92.el5
	    kernel-PAE-2.6.18.92.el5 requires kernel-PAE-devel-2.6.18-92.el5

	See the "Caveats" section below for more details.

SLES Installation:
	1. kernel-source-<kernel_version> package
	2. kernel-syms-<kernel_version> package
	3. SLES11 requires kernel-<flavor>-devel-<kernel_version> package
	   in addition to the above two mentioned


Installing the RPM package
===========================
1a. This package requires a specific build environment. Please refer the
"Build Environment Setup" section above before proceeding.

1b.  This package requires hp-netxtreme2 package to be installed.  Please 
refer "hp-netxtreme2-<version>.src.txt" document for instructions on how 
to build and install the hp-netxtreme2 KMP package.

2. Install the source RPM package.

	# rpm -ivh hp-netxtreme2-iscsi-<version>.src.rpm

3. Build the binary RPM for hp-netxtreme2 package. 

	RHEL 5:
	# rpmbuild -bb /usr/src/redhat/SPECS/hp-netxtreme2-iscsi.spec

	RHEL 6:
	# rpmbuild -bb ~/rpmbuild/SPECS/hp-netxtreme2-iscsi.spec

	SLES:
	# rpmbuild -bb /usr/src/packages/SPECS/hp-netxtreme2-iscsi.spec

	If you get an error during the build process, refer to the 
	"Build Environment Setup" section.

	NOTE: One can build binary RPM for a specfic kernel flavor as 
	follows:

	# rpmbuild -bb SPECS/hp-netxtreme2-iscsi.spec --define "KVER <kver>"

	NOTE:  RHEL 5 x86 installations require the "--target" switch
	when building on Intel compatible machines. Please see the
	"Caveats" section below for more details.

	# rpmbuild --target=i686 -bb /usr/src/redhat/SPECS/hp-netxtreme2-iscsi.spec

4. Check for the existence of a current version of the hp-netxtreme2 
package as follows:

	RHEL
	# rpm -q kmod-hp-netxtreme2-iscsi-<flavor> 

	SLES
	# rpm -q hp-netxtreme2-kmp-iscsi-<flavor>

	If an old version of the RPM package exists, it should be
	removed as follows:

	RHEL
	# rpm -e kmod-hp-netxtreme2-iscsi-<flavor>

	SLES
	# rpm -e hp-netxtreme2-kmp-iscsi-<flavor>

	Verify if the old hp-netxtreme2-iscsi package has been removed as
	follows:

	RHEL
	# rpm -q kmod-hp-netxtreme2-iscsi-<kernel flavor>

	SLES
	# rpm -q hp-netxtreme2-kmp-iscsi-<kernel flavor>  

5. Install the new binary RPM package. This installs the bnx2i driver. 

	RHEL 5
	# rpm -ivh \
	/usr/src/redhat/RPMS/<arch>/kmod-hp-netxtreme2-iscsi-<flavor>-<version>.<arch>.rpm 

	RHEL 6
	# rpm -ivh \
	~/rpmbuild/RPMS/<arch>/kmod-hp-netxtreme2-iscsi-<flavor>-<version>.<arch>.rpm 

	The modules are installed in the following directory:
	/lib/modules/<kernel_version>/extra/hp-netxtreme2-iscsi

	Note:  The "--nodeps" switch is required when installing on 
	RHEL 5.6 and RHEL 5.7. See the "Caveats" section below for
	further details.

	# rpm -ivh \
	/usr/src/redhat/RPMS/<arch>/kmod-hp-netxtreme2-iscsi-<flavor>-<version>.<arch>.rpm --nodeps 

	SLES
	# rpm -ivh RPMS/<arch>/hp-netxtreme2-kmp-iscsi-<version>-<flavor>.<arch>.rpm 

	The modules are installed in the following directory:
	/lib/modules/<kernel_version>/updates/hp-netxtreme2-iscsi

6.  Run "modinfo <module> | grep version" and verify that the driver
version is latest

7. Reboot the server . Upon reboot, the updated bnx2i driver should be loaded.


Uninstalling the RPM package
=============================
The following command will uninstall the netxtreme2 RPM.

	RHEL
	# rpm -e kmod-hp-netxtreme2-iscsi-<kernel flavor>

	SLES
	# rpm -e hp-netxtreme2-kmp-iscsi-<kernel flavor>


Caveats
=======
1. The same version of hp-netxtreme2 KMP package must be installed prior to 
installing the hp-netxtreme2-iscsi KMP package. Since, the same version of
hp-netxtreme2 KMP package is a pre-requisite, hp-nextreme2-iscsi package
fails to install until the right version of the pre-requisite hp-netxtreme2
KMP package is installed

2. The complete set of Module Parameters supported by the bnx2i drivers are 
described in the README.bnx2i.TXT. Please refer to README.bnx2i.TXT to see
how to use bnx2i to support iSCSI initiator.

3. The rpmbuild will fail the dependency check when building the non-base
(xen,pae,etc) kernel when the kernel-devel package is not installed. 

Example:  If the OS only included the PAE kernel then the user would need to
install the kernel-pae-devel and kernel-devel packages. 

4. The use of a "--target" switch is required so that rpmbuild does not try
to find an i386 kernel on the system.  If the "--target" switch is not used
then the build will fail with bizarre messages stating that specific kernel
packages are not installed on the machine yet those packages do not exist.

5. The rpmbuild will fail if the redhat-rpm-config package is not installed 
because it cannot resolve the %kernel_module_package_buildreqs macro.  The 
error will be similar to the following: 

error: line xx: Dependency tokens must begin with alpha-numeric,'_'or'/': 
BuildRequires: %kernel_module_package_buildreqs

6. iSCSI offload (bnx2i) is not supported on SLES10 Platforms.

(C) Copyright 2011 Hewlett-Packard Development Company, L.P.
Product names mentioned herein may be trademarks and/or registered trademarks
of their respective companies.