| 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. |
| |
| 1. Build and install scst, fcst and scstadmin following the instructions |
| in the top-level INSTALL.md file. |
| |
| 2. Install the FCoE admin tools: |
| |
| apt-get install fcoe-utils lldpad || |
| dnf install fcoe-utils lldpad || |
| zypper install fcoe-utils open-lldp |
| |
| 3. Bring up SCST and configure the devices. |
| |
| 4. 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. |
| |
| 5. 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. |
| |
| 6. Load fcst |
| |
| modprobe fcst |
| |
| 7. 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 |
| |
| 8. Enable the initiator: |
| |
| echo 1 > $LPORT/enabled |
| |
| 9. 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. |