mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 03:16:51 +07:00
3699d92a4d
This is a comprehensive patch for FC-FC4 provider. tcm_fc is a FC-FC4 provider which glues target core (TCM) with Fiber channel library (libfc). tcm_fc uses existing FC4 provider hooks from Fiber channel library. This Fiber channel library is used by FCoE (transport - FC over Ethernet) protocol driver as well. Combination of modules such as Fiber channel library, tcm_fc, TCM target core, and FCoE protocol driver enables functional FCoE target. This patch includes initial commit for tcm_fc plus additional enhancement, bug fixes. This tcm_fc module essentially contains 3 entry points such as "prli", "prlo", "recv". When process login request (ELS_PRLI) request is received, Fiber channel library (libfc) module calls passive providers (FC-FC4, tcm_fc) (if any registered) "prli" function. Likewise when LOGO request is received, "prlo" function of passive provider is invoked by libfc. For all other request (e.g. any read/write, task management, LUN inquiry commands), "recv" function of passiver provider is invoked by libfc. Those passive providers "prli, prlo, recv" functions interact with TCM target core for requested operation. This module was primarily developed by "Joe Eykholt" and there were significant contributions from the people listed under signed-off. Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Yi Zou <yi.zou@intel.com> Signed-off-by: Kiran Patil <kiran.patil@intel.com> Acked-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <jbottomley@parallels.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
29 lines
760 B
Makefile
29 lines
760 B
Makefile
|
|
target_core_mod-y := target_core_configfs.o \
|
|
target_core_device.o \
|
|
target_core_fabric_configfs.o \
|
|
target_core_fabric_lib.o \
|
|
target_core_hba.o \
|
|
target_core_pr.o \
|
|
target_core_alua.o \
|
|
target_core_scdb.o \
|
|
target_core_tmr.o \
|
|
target_core_tpg.o \
|
|
target_core_transport.o \
|
|
target_core_cdb.o \
|
|
target_core_ua.o \
|
|
target_core_rd.o \
|
|
target_core_stat.o
|
|
|
|
obj-$(CONFIG_TARGET_CORE) += target_core_mod.o
|
|
|
|
# Subsystem modules
|
|
obj-$(CONFIG_TCM_IBLOCK) += target_core_iblock.o
|
|
obj-$(CONFIG_TCM_FILEIO) += target_core_file.o
|
|
obj-$(CONFIG_TCM_PSCSI) += target_core_pscsi.o
|
|
|
|
# Fabric modules
|
|
obj-$(CONFIG_LOOPBACK_TARGET) += loopback/
|
|
|
|
obj-$(CONFIG_TCM_FC) += tcm_fc/
|