<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="Keywords" content="Fibre Channel Target, FC target, QLogic Target, 4Gbps target, 8Gbps target">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>QLogic Fibre Channel Target Driver</title>
</head>

<body>
<!-- wrap starts here -->
<div id="wrap">
	<div id="header">
		<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
		<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
	</div>

	<div id="menu">
		<ul>
			<li><a href="index.html">Home</a></li>
			<li><a href="http://www.sourceforge.net/projects/scst">Main</a></li>
			<li><a href="http://sourceforge.net/news/?group_id=110471">News</a></li>
			<li id="current"><a href="targets.html">Drivers</a></li>
			<li><a href="downloads.html">Downloads</a></li>
			<li><a href="contributing.html">Contributing</a></li>
			<li><a href="comparison.html">Comparison</a></li>
			<li><a href="users.html">Users</a></li>
		</ul>
	</div>

	<!-- content-wrap starts here -->
	<div id="content-wrap">
			<div id="sidebar">
				<h1>Target Drivers</h1>
				<ul class="sidemenu">
					<li><a href="target_iscsi.html">ISCSI-SCST with iSER</a></li>
					<li><a href="target_qla2x00t.html">QLogic FC qla2x00t</a></li>
					<li><a href="target_srp.html">SCSI RDMA Protocol (SRP)</a></li>
					<li><a href="target_mvsas.html">Marvell SAS adapters</a></li>
					<li><a href="target_emulex.html">Emulex FC/FCoE</a></li>
					<li><a href="target_lsi.html">LSI/MPT adapters</a></li>
					<li><a href="target_fcoe.html">FCoE Target</a></li>
					<li><a href="target_local.html">Local Target Driver</a></li>
					<li><a href="target_ibmvscsi.html">IBM pSeries Virtual SCSI</a></li>
					<li><a href="target_old.html">Old Unsupported</a></li>
				</ul>
				<h1>User utilities</h1>
				<ul class="sidemenu">
					<li><a href="scst_admin.html">SCST Admin Utility</a></li>
					<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
				</ul>
			</div>

	  		<div id="main">
				<h1>Target driver qla2x00t for QLogic FC adapters</h1>
				<p><img src="images/t_qlogic.gif" width="100" height="120" class="float-left" alt="SCST QLogic">
				This is a target driver for QLogic qla2xxx (22xx++) Fibre Channel adapters. It is stable and well tested.</p>

				<p>This driver starting from version 3.1 supports 16G Hilda QLogic
					chip based adapters (post-Hilda QLogic chips not supported) and has many other important improvements.
					This driver should also support FCoE, but that has never been verified.
					It has passed intensive internal SanDisk tests. It is stable and production ready.
					This is the recommended driver to use in production at the moment.
				</p>

				<p>A newer and experimental QLogic target
				  driver is available in the qla2x00t-32gbit
				  directory. That driver supports all adapters
				  supported by the qla2x00t driver and also
				  several newer adapters. The existing
				  qla2x00t driver will be replaced by the
				  qla2x00t-32gbit driver once it is stable
				  enough.
				</p>
				<p class="post-footer align-right">
					<a href="qla2x00t-howto.html" class="readmore">HOWTO</a>
					<a href="https://blog.it-kb.ru/2018/03/12/configure-the-server-with-qlogic-fc-hba-on-debian-linux-9-and-scst-fc-target-as-storage-for-csv-volumes-in-the-hyper-v-cluster-for-highly-available-virtual-machines/" class="readmore"> Russian HOWTO</a>
					<a href="downloads.html" class="readmore">Download</a>
					<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/trunk" class="readmore">SCST SVN trunk</a>
					<a href="scst-qla2xxx-unified-20180330.tgz" class="readmore">QLA git snapshot</a>
				</p>
				<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
	  		</div>
	<!-- content-wrap ends here -->
	</div>

<!-- wrap ends here -->
</div>
<!-- footer starts here -->
<div id="footer">
	<p>&copy; Copyright 2004 - 2020<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
	Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://apps.sourceforge.net/piwik/scst/" : "http://apps.sourceforge.net/piwik/scst/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
piwik_action_name = '';
piwik_idsite = 1;
piwik_url = pkBaseURL + "piwik.php";
piwik_log(piwik_action_name, piwik_idsite, piwik_url);
</script>
<object><noscript><p><img src="http://apps.sourceforge.net/piwik/scst/piwik.php?idsite=1" alt="piwik"></p></noscript></object>
<!-- End Piwik Tag -->
</body>
</html>
