QLogic

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
The [http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=tree;f=drivers/target/tcm_qla2xxx;hb=refs/heads/tcm_qla2xxx tcm_qla2xxx.ko] is a hardware [[Fibre Channel]] fabric module for qla2xxx series hardware from [http://www.qlogic.com Qlogic] ASICs using the [[target]] core infrastructure.
The [http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=tree;f=drivers/target/tcm_qla2xxx;hb=refs/heads/tcm_qla2xxx tcm_qla2xxx.ko] is a hardware [[Fibre Channel]] fabric module for qla2xxx series hardware from [http://www.qlogic.com Qlogic] ASICs using the [[target]] core infrastructure.
 +
 +
{{Image|Tcm qla2xxx-pcie-passthrough-to-baremetal.png|TCM_QLA2xxx running at line rate HW target mode from with PCIe device passthrough with MSI-X polled interrupts across Linux/SCSI qla2xxx LLD request and response rings}}
 +
{{Image|Tcm_qla2xx-qemu-kvm-megasas-windows7-64-bit.png|TCM v4.0 QLAXXX prototype using PCIe device passthrough for target mode MSI-X interrupts, and QEMU Megasas HBA emulation into Windows7 64-bit guest.}}
== Background ==
== Background ==

Revision as of 19:24, 15 December 2010

The tcm_qla2xxx.ko is a hardware Fibre Channel fabric module for qla2xxx series hardware from Qlogic ASICs using the target core infrastructure.

TCM_QLA2xxx running at line rate HW target mode from with PCIe device passthrough with MSI-X polled interrupts across Linux/SCSI qla2xxx LLD request and response rings
TCM v4.0 QLAXXX prototype using PCIe device passthrough for target mode MSI-X interrupts, and QEMU Megasas HBA emulation into Windows7 64-bit guest.

Contents

Background

The QLA2XXX LLD target mode logic and accompanying tcm_qla2xxx fabric module are now up and running with v2.6.37-rc3 code in the lio-core-2.6.git/tcm_qla2xxx branch.

The QLA2XXX LLD target mode logic is based on qla2x00t from the SCST project, and contains a modern LLD port of qla2x00t-target logic in qla2x_target.c.

Status

At this point the LLD changes and tcm_qla2xxx should be considered ALPHA -> BETA status. Large block I/O is stable, and is able to run for sustained at line-rate. At this point the FC nexus handling in qla2x_target.c is stable and able to pass my initial testing (shutdown, cable pull, etc). This also includes being able to shutdown tcm_qla2xx and disable target mode on an individual struct qla_hw_data, and then reload tcm_qla2xxx and recreate the configfs groups, re-enable target mode on the same qla_hw_data and everything work as expected w/o shutting down qla2xxx LLD.

Howto

TODO

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense