mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 01:01:27 +00:00
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3672 d57e44dd-8a1f-0410-8b47-8ef2f437770f
115 lines
3.4 KiB
Plaintext
115 lines
3.4 KiB
Plaintext
About fcst
|
|
==========
|
|
|
|
The fcst kernel module implements an SCST target driver for the FCoE protocol.
|
|
FCoE or Fibre Channel over Ethernet is a protocol that allows to communicate
|
|
fibre channel frames over an Ethernet network. Since the FCoE protocol
|
|
requires a lossless Ethernet network, special network adapters and switches
|
|
are required. Ethernet network adapters that support FCoE are called
|
|
Converged Network Adapters (CNA). The standard that makes lossless Ethernet
|
|
communication possible is called DCB or Data Center Bridging.
|
|
|
|
Since FCoE frames are a kind of Ethernet frames, communication between FCoE
|
|
clients and servers is limited to a single Ethernet broadcast domain.
|
|
|
|
|
|
Building and Installing
|
|
=======================
|
|
|
|
FCST is a kernel module that depends on libfc and SCST to provide FC target
|
|
support.
|
|
|
|
To build for linux-2.6.34, do:
|
|
|
|
1. Get the kernel source:
|
|
|
|
KERNEL=linux-2.6.34
|
|
|
|
cd /usr/src/kernels
|
|
URL_DIR=http://www.kernel.org/pub/linux/kernel/v2.6
|
|
TARFILE=$KERNEL.tar.bz2
|
|
wget -o $TARFILE $URL_DIR/$TARFILE
|
|
tar xfj $TARFILE
|
|
cd $KERNEL
|
|
|
|
2. Apply patches needed for libfc target hooks and point-to-point fixes:
|
|
|
|
KDIR=/usr/src/kernels/$KERNEL
|
|
PDIR=/usr/src/scst/trunk/fcst/linux-patches # use your dir here
|
|
|
|
cd $PDIR
|
|
for patch in `grep -v '^#' series-2.6.34`
|
|
do
|
|
(cd $KDIR; patch -p1) < $patch
|
|
done
|
|
|
|
3. Apply SCST patches to the kernel
|
|
See trunk/scst/README
|
|
The readahead patches are not needed in 2.6.33 or later.
|
|
|
|
4. Configure, make, and install your kernel
|
|
|
|
5. Install SCST
|
|
See trunk/scst/README. Make sure you are building sysfs SCST build,
|
|
because FCST supports only it. You need to do
|
|
|
|
cd trunk/scst
|
|
make
|
|
make install
|
|
|
|
6. Make FCST
|
|
In the directory containing this README, just do
|
|
make
|
|
make install
|
|
|
|
7. Install the FCoE admin tools, including dcbd and fcoeadm.
|
|
Some distros may have these.
|
|
You should be able to use the source at
|
|
http://www.open-fcoe.org/openfc/downloads/2.6.34/open-fcoe-2.6.34.tar.gz
|
|
|
|
8. Bring up SCST and configure the devices.
|
|
|
|
9. Bring up an FCoE initiator (we'll enable target mode on it later):
|
|
modprobe fcoe
|
|
fcoeadm -c eth3
|
|
|
|
The other end can be an initiator as well, in point-to-point mode
|
|
over a full-duplex loss-less link (enable pause on both sides).
|
|
Alternatively, the other end can be an FCoE switch.
|
|
|
|
10. Use fcc (part of the open-fcoe contrib tools in step 7) to see the
|
|
initiator setup. To get the FCoE port name for eth3
|
|
|
|
# fcc
|
|
FC HBAs:
|
|
HBA Port Name Port ID State Device
|
|
host4 20:00:00:1b:21:06:58:21 01:01:02 Online eth3
|
|
|
|
host4 Remote Ports:
|
|
Path Port Name Port ID State Roles
|
|
4:0-0 10:00:50:41:4c:4f:3b:00 01:01:01 Online FCP Initiator
|
|
|
|
In the above example, there's one local host on eth3, and it's in
|
|
a point-to-point connection with the remote initiator with Port_id 010101.
|
|
|
|
11. Load fcst
|
|
|
|
modprobe fcst
|
|
|
|
12. Add any disks (configured in step 8) you want to export
|
|
Note that you must have a LUN 0.
|
|
|
|
LPORT=20:00:00:1b:21:06:58:21 # the local Port_Name
|
|
|
|
cd /sys/kernel/scst_tgt/targets/fcst/$LPORT
|
|
echo add disk-name 0 > luns/mgmt
|
|
echo add disk-name 1 > luns/mgmt
|
|
|
|
13. Enable the initiator:
|
|
|
|
echo 1 > $LPORT/enabled
|
|
|
|
14. As a temporary workaround, you may need to reset the interface
|
|
on the initiator side so it sees the SCST device as a target and
|
|
discovers LUNs. You can avoid this by bringing up the initiator last.
|