The linux-iscsi.org iSCSI Initiator Stack contains the following features:

1) Full support for Internet Small Computer Systems Interface (iSCSI) state machine as defined by RFC 3720.
2) Full support for ErrorRecoveryLevel=0 feature set as defined for RFC 3720.
3) Full support for Multiple Connections per Session that can be brought up and down on the fly.
4) Full support for DataPDUInOrder=No, DataSequenceInOrder=No, MaxOutstandingR2T>1.
5) Full support for Sync and Steering using Fixed Interval Markers. (See RFC 3720 Appendix A) 
6) Full support for TCP and SCTP network transports.
7) Robust set of iSCSI Channel management options for iSCSI SAN Administrators.
8) iSNS Client for iSCSI Initiator nodes support.
9) Tested on UP/SMP 32/64-bit Big/Little Endian architectures.

Todo:

1) Determine problem with SANRAD targets with DataIN offsets outside of DataIN Sequence.
2) Convert initiator-ctl ioctl to sysfs.
3) Simple howto for initrd and diskless bootable nodes.
4) Discussion of handling of shutdown of bootable nodes and iSCSI Logical Units.
5) Finish up removing last bits of OS independant abstractions.
6) Issues with CryptoLib CRC32C and Big Endian. (See -DCRYPTO_API_CRC32C)
7) Work on scsi_transport_iscsi.c  All parameters are currently assumed to be in session context,
    which is contrary RFC 3720. (see included scsi_transport_iscsi.c)
8) struct list_head. :-)

Thanks!

Nicholas A. Bellinger <nab@kernel.org>
