FCoE Initiator Quickstart
From Open-FCoE Wiki
Contents |
[edit] Introduction
This page explains how to build all of the Open-FCoE components from source. It does not explain how to build any other related technologies that may be required for your system (like DCB).
[edit] Kernel
Get a kernel. You can use fcoe-next for the development repository or a kernel.org kernel for something more stable.
[edit] Kernel Configuration and Compilation
- Run 'make menuconfig' and enable the following option
Symbol: FCOE [=m] Prompt: FCoE module
Defined at drivers/scsi/Kconfig:637
Depends on: SCSI_LOWLEVEL [=y] && SCSI [=y] && PCI[=y]
Location:
-> Device Drivers
-> SCSI device support
-> SCSI low-level drivers (SCSI_LOWLEVEL[=y])
Selects: LIBFCOE [=m]
Enabling this option will also enable the libfcoe, libfc and the FC transport.
- Build your kernel and reboot
[edit] Applications
Get the user space code. The code is in three repositories fcoe-utils, libhbalinux and hbaapi_build and each of these code bases has dependencies. Luckily these dependencies are described in each repositories INSTALL documents.
[edit] Build
Read the INSTALL document in each repository and follow the instructions. A complete walkthrough is available in the QUICKSTART file in the fcoe-utils repository. Build in the following order-
- hbaapi_build
- libhbalinux
- fcoe-utils
[edit] Configuration and Connection
[edit] Configuration Files
A few configuration files are generated from the build.
/etc/fcoe/config = This is an overall configuration file for the Open-FCoE applications.
/etc/fcoe/cfg-ethX = This is a per-port configuration file. Open-FCoE does not assume that all ports should be used for FCoE so you must generate this file for each interface that you want FCoE to be started on.
[edit] Runtime
The fcoe-utils build installs an /etc/init.d/fcoe script that is used to start and stop the fcoemon service. Simply run '/etc/init.d/fcoe start' and fcoemon will read the configuration files and begin a connection to the FC fabric for each Ethernet interface that has a valid configuration file.
Alternatively, a user can use fcoeadm to login to the FC fabric. The only problem is that fcoemon will ensure that DCB is configured correctly (if specified in the per-port configuration file) and will use the /etc/fcoe/scripts/fcoeplumb script to setup tc filters for FCoE. If the user is calling fcoeadm directly then it is up to the user to ensure and requirements are met (i.e. tc filters or DCB). [At the time of this writing code is being developed so that fcoeadm coordinates with fcoemon when it wants to create or destroy an interface. It is expected that version v1.0.10 will have this change and then you can use fcoeadm more freely.]
[edit] Using FCoE initiator with FCoE SW target
The FCoE Initiator can use used with FCoE SW target with back to back crosswire ethernet connection between FCoE initiator and SW target ethernet interfaces.
Please read the FCoE SW Target Quickstart to help you get started using the FCoE SW target.