Fibre Channel over Ethernet
The Linux SCSI Target Wiki
As of March 19th, the TCM based Open-FCoE.org target fabric module in lio-core-2.6.git/tcm_fc has been committed into lio-core-2.6.git/master as LIO v3.4.0-rc1..!
This would not have been possible without the tremendous contributions of tcm_fc by Joe Eykholt and his ongoing work of making libfc target capable. Thanks Joe!
- ) Description
The tcm_fc fabric module is based on the open-fcoe.org target code and has been modified to run using a modified upstream Linux libfc module.
This includes a patch series to reenable Point to Point module for libfc (which have been merged upstream), and a set of hooks into libfc to be able to hand off incoming FLOGI requests to FC based target modules.
- ) Control interface
The tcm_fc fabric module is using the configfs interface in /sys/kernel/config/target/fc. Note that there is NO strict open-fcoe userspace code requirement in order to get up and running.
- ) Source
- ) What does a running example look like:
# Create the '20:00:' prefixed FCoE Lport from network inteface eth0 mkdir -p /sys/kernel/config/target/fc/20:00:00:e0:81:c0:90:b3/tpgt_1/lun/lun_0 # Chdir and create tcm_fc_port from TCM FILEIO object cd /sys/kernel/config/target/fc/20\:00\:00\:e0\:81\:c0\:90\:b3/tpgt_1/lun/lun_0/ ln -s /sys/kernel/config/target/core/fileio_0/myfile/ tcm_fc_port # Chdir and created '20:00' prefixed Initiator WWPN from it's own network interface cd ../../ mkdir -p acl/20:00:00:e0:81:c0:90:b2/lun_0 cd acl/20\:00\:00\:e0\:81\:c0\:90\:b2/lun_0 # Create explict MappedLUN=0 for NodeACl to TPG LUN 0 ln -s /sys/kernel/config/target/fc/20\:00\:00\:e0\:81\:c0\:90\:b3/tpgt_1/lun/lun_0/ lun_0
tree /sys/kernel/config/target/fc/ /sys/kernel/config/target/fc/ |-- 20:00:00:e0:81:c0:90:b3 | `-- tpgt_1 | |-- acl | | `-- 20:00:00:e0:81:c0:90:b2 | | |-- auth | | | |-- node_name | | | `-- port_name | | `-- lun_0 | | `-- lun_0 -> ../../../../../../../target/fc/20:00:00:e0:81:c0:90:b3/tpgt_1/lun/lun_0 | `-- lun | `-- lun_0 | |-- alua_tg_pt_gp | |-- alua_tg_pt_offline | |-- alua_tg_pt_status | |-- alua_tg_pt_write_md | `-- tcm_fc_port -> ../../../../../../target/core/fileio_0/myfile `-- version
10 directories, 7 files