Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e48354ce authored by Nicholas Bellinger's avatar Nicholas Bellinger
Browse files

iscsi-target: Add iSCSI fabric support for target v4.1

The Linux-iSCSI.org target module is a full featured in-kernel
software implementation of iSCSI target mode (RFC-3720) for the
current WIP mainline target v4.1 infrastructure code for the v3.1
kernel.  More information can be found here:

http://linux-iscsi.org/wiki/ISCSI



This includes support for:

   * RFC-3720 defined request / response state machines and support for
     all defined iSCSI operation codes from Section 10.2.1.2 using libiscsi
     include/scsi/iscsi_proto.h PDU definitions
   * Target v4.1 compatible control plane using the generic layout in
     target_core_fabric_configfs.c and fabric dependent attributes
     within /sys/kernel/config/target/iscsi/ subdirectories.
   * Target v4.1 compatible iSCSI statistics based on RFC-4544 (iSCSI MIBS)
   * Support for IPv6 and IPv4 network portals in M:N mapping to TPGs
   * iSCSI Error Recovery Hierarchy support
   * Per iSCSI connection RX/TX thread pair scheduling affinity
   * crc32c + crc32c_intel SSEv4 instruction offload support using libcrypto
   * CHAP Authentication support using libcrypto
   * Conversion to use internal SGl allocation with iscsit_alloc_buffs() ->
     transport_generic_map_mem_to_cmd()

(nab: Fix iscsi_proto.h struct scsi_lun usage from linux-next in commit:
      iscsi: Use struct scsi_lun in iscsi structs instead of u8[8])
(nab: Fix 32-bit compile warnings)

Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarAndy Grover <agrover@redhat.com>
Acked-by: default avatarRoland Dreier <roland@kernel.org>
Signed-off-by: default avatarNicholas A. Bellinger <nab@linux-iscsi.org>
parent 8304bbce
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -31,5 +31,6 @@ config TCM_PSCSI

source "drivers/target/loopback/Kconfig"
source "drivers/target/tcm_fc/Kconfig"
source "drivers/target/iscsi/Kconfig"

endif
+1 −1
Original line number Diff line number Diff line
@@ -24,5 +24,5 @@ obj-$(CONFIG_TCM_PSCSI) += target_core_pscsi.o

# Fabric modules
obj-$(CONFIG_LOOPBACK_TARGET)	+= loopback/

obj-$(CONFIG_TCM_FC)		+= tcm_fc/
obj-$(CONFIG_ISCSI_TARGET)	+= iscsi/
+8 −0
Original line number Diff line number Diff line
config ISCSI_TARGET
	tristate "Linux-iSCSI.org iSCSI Target Mode Stack"
	select CRYPTO
	select CRYPTO_CRC32C
	select CRYPTO_CRC32C_INTEL if X86
	help
	Say M here to enable the ConfigFS enabled Linux-iSCSI.org iSCSI
	Target Mode Stack.
+20 −0
Original line number Diff line number Diff line
iscsi_target_mod-y +=		iscsi_target_parameters.o \
				iscsi_target_seq_pdu_list.o \
				iscsi_target_tq.o \
				iscsi_target_auth.o \
				iscsi_target_datain_values.o \
				iscsi_target_device.o \
				iscsi_target_erl0.o \
				iscsi_target_erl1.o \
				iscsi_target_erl2.o \
				iscsi_target_login.o \
				iscsi_target_nego.o \
				iscsi_target_nodeattrib.o \
				iscsi_target_tmr.o \
				iscsi_target_tpg.o \
				iscsi_target_util.o \
				iscsi_target.o \
				iscsi_target_configfs.o \
				iscsi_target_stat.o

obj-$(CONFIG_ISCSI_TARGET)	+= iscsi_target_mod.o
+4559 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading