<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="Keywords" content="SRP target, RDMA 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>SRP 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>Infiniband SCSI RDMA protocol (SRP) target driver</h1>
				<p><img src="images/t_rdma.gif" width="100" height="120" class="float-left" alt="SCST SRP">
				SCSI RDMA Protocol (SRP) target driver has been developed by Vu Pham. Since March
				2008 the main development place of the SRP target driver is SCST SVN repository.
				It is maintained by Bart Van Assche.</p>
				<p>This driver is mainline Linux kernel ready and going to be pushed to it
				together with other SCST patches.</p>
				<br><br><br>
				<p class="post-footer align-right">
					<a href="downloads.html" class="readmore">Download</a>
					<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</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>
