[SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core...
authorKiran Patil <kiran.patil@intel.com>
Mon, 18 Apr 2011 23:24:14 +0000 (16:24 -0700)
committerJames Bottomley <jbottomley@parallels.com>
Tue, 17 May 2011 06:52:46 +0000 (10:52 +0400)
commit3699d92a4d7b649bde67dff3cc681400992e0254
tree728d226d93278025ed7c8ab35265877a000d7c3e
parent8a025bbc8ff897c36c6e2b91c2e852ea5e569394
[SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support

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>
drivers/target/Kconfig
drivers/target/Makefile
drivers/target/tcm_fc/Kconfig [new file with mode: 0644]
drivers/target/tcm_fc/Makefile [new file with mode: 0644]
drivers/target/tcm_fc/tcm_fc.h [new file with mode: 0644]
drivers/target/tcm_fc/tfc_cmd.c [new file with mode: 0644]
drivers/target/tcm_fc/tfc_conf.c [new file with mode: 0644]
drivers/target/tcm_fc/tfc_io.c [new file with mode: 0644]
drivers/target/tcm_fc/tfc_sess.c [new file with mode: 0644]