This document is a quickstart guide for a user connected
to a Fibre Channel Forwarder (FCF) and not a SW target.
It covers the installation of Data Center Bridging (DCB),
the HBA API wrapper library, libhbalinux and fcoe-utils.

##
# Dependencies
###############

git://open-fcoe.org/openfc/hbaapi_build.git
git://open-fcoe.org/openfc/libhbalinux.git
git://open-fcoe.org/openfc/fcoe-utils.git


##
# DCB
#######

DEPENDENCIES

* autoconf
* autotools
* sysconftool
* automake
* libtool
* gcc-c++

PROCESS

1) Obtain the source tarball from sourceforge
   http://sourceforge.net/project/shownotes.php?group_id=42302&release_id=605955

2) Untar the tarball and change into it's directory
   # tar -xvzf dcbd-x.y.z.tar.gz
   # cd dcbd-x.y.z/

3) Ensure correct header files
   # pushd /usr/include/
   # mv linux/ linux_orig/
   # ln -s <kernel-src>/include/linux/ linux
   # popd

3) Configure, make and make install
   # rpm --eval "%configure" | sh
   # make
   # make install


##
# HBA API Wrapper Library
##########################

DEPENDENCIES

* autoconf
* autotools
* sysconftool
* automake
* libtool

PROCESS

1) Obtain the source tarball from sourceforge
   http://sourceforge.net/projects/hbaapi/

2) Untar the tarball and move its contents to hbaapi_build/
   and change into its directory
   # tar -xvzf hbaapi_src_2.2.tgz
   # mv hbaapi_src_2.2/* hbaapi_build/
   # rmdir hbaapi_src_2.2/

3) Bootstrap, configure, make and make install
   # ./bootstrap.sh
   # rpm --eval "%configure" | sh
   # make
   # make install


##
# libhbalinux
##############

DEPENDENCIES

* HBA API Wrapper

* autoconf
* autotools
* sysconftool
* automake
* libtool
* libpciaccess-devel

PROCESS

1) Bootstrap, configure, make and make install
   # ./bootstrap.sh
   # rpm --eval "%configure" | sh
   # make
   # make install


##
# fcoe-utils
############

DEPENDENCIES

* libhbalinux
* dcbd (optional configure flag to build without)

* autoconf
* autotools
* sysconftool
* automake
* libtool

PROCESS

1) Ensure correct header files
   - fcping requires certain kernel header files to be exported
     or it cannot be compiled. These header files were included
     in the 2.6.31 Linux kernel. If you are using a distribution
     kernel that is >= 2.6.31 then you shouldn't have to take
     this step. If you are building your own kernel or are using
     a pre-2.6.31 kernel you will need to take this step to
     export the appropriate header files.

   # pushd <kernel-src>
   # make headers_install
   # PWD=`pwd`
   # ln -s $PWD/usr/include/scsi/scsi_bsg_fc.h /usr/include/scsi/
   # ln -s $PWD/usr/include/scsi/fc /usr/include/scsi/fc
   # popd

2) Bootstrap, configure, make and make install
   # ./bootstrap.sh
   # rpm --eval "%configure" | sh
   # make
   # make install
