[Stgt-devel] iSER patches, second release

Pete Wyckoff pw
Tue Sep 4 22:05:48 CEST 2007

This is the second major release of support for iSCSI Extensions
for RDMA (iSER) to the existing STGT user space SCSI target.  It
uses OpenFabrics libraries and kernel drivers to act as a SCSI
target over RDMA-capable devices.  The code has been tested
against the existing Linux iSER initiator over InfiniBand cards,
but should be specification compliant and work generally.

A bit of documentation is included, and a short technical report is
available at http://www.osc.edu/~pw/papers/iser-snapi07.pdf .
For performance, a single SCSI client using iSCSI over gigabit
ethernet does 100 MB/s.  iSCSI over IPoIB gets 200 MB/s, and iSER
over native IB sees 500 MB/s (to a RAM disk).

More information on STGT is available at http://stgt.berlios.de .

The iSER patches can be downloaded from:


or browsed at:


New and modified files are distributed under a GPLv2 license.
Following this mail are the individual patches to stgt-devel
for review and eventual inclusion in STGT.

Changes since previous series are as follows.

Major rewrite and cleanup.  Many error handling issues and corner
cases were fixed.  Also the patchset was split up even finer for
easier review:  18 small patches instead of 7 big ones.

Per-connection resource negotiation.  Hooks in iscsid give the
transport a chance to prepare itself before the transition to
full-feature mode.  This allows sizing buffers correctly;
however, there are some issues with the open-iscsi initiator in
this area still.  It doesn't negotiate all the parameters.  We'll
get it patched up.

All debug and error messages go through tgt log.c functions rather
than appearing on stderr through iser-private debugging functions.

Multiple RDMA devices in the target should work now, but have
never been tested.  The code is at least structured so it could

IP-based ACLs work.  There is a way to get an IP address out of
an RDMA connection, and we use that to check the ACLs.

Fixed RDMA data transfer size to be independent of [IT]RDSL as it
should be.

Tested with valgrind.  Memory does not leak.

Tested with open-iscsi regression script.  All the tests pass, both
for TCP and RDMA.

Also, various linux kernels have minor iscsi and iser bugs.
We're running on v2.6.22-rc5, which mostly works, but sometimes
will oops.  Certainly we'll get these fixed, but be careful on
production machines.

Thanks to everybody for suggestions and fixes, especially
Alexander Nezhinsky and Erez Zilber.

		-- Pete

More information about the stgt mailing list