the interoperation between the NetBSD iSCSI target and the Linux
open-iscsi initiator.
Add details about inter-operation with the NetBSD iSCSI initiator.
Add dates to all entries.
Add last updated date to the COMPATIBILITY file.
of the physical size of the regular file. This is useful for presenting
ISO images to initiators, as in the following:
In /etc/iscsi/targets:
# present an ISO image
extent2 /usr/sets/20071214/release/iso/i386cd.iso 0 size
target2 ro extent2 any
% priv /etc/rc.d/iscsi_target restart
Stopping iscsi_target.
Starting iscsi_target.
Reading configuration from `/etc/iscsi/targets'
target0:rw:any
extent0:/tmp/iscsi-target0:0:104857600
target1:rw:any
extent1:/tmp/iscsi-target1:0:52428800
target2:ro:any
extent2:/usr/sets/20071214/release/iso/i386cd.iso:0:354906112
DISK: 1 logical unit (204800 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: 100 MB disk storage for "target0"
DISK: 1 logical unit (102400 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: 50 MB disk storage for "target1"
DISK: 1 logical unit (693176 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: 338 MB readonly disk storage for "target2"
TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target
%
Please note that the NetBSD initiator can mount (via vnd) an iSCSI target
presented in this manner. The Microsoft iSCSI initiator sees the read-only
target as a normal SCSI disk, and fails (not surprisingly) to initialize
the disk. It's now possible to make ISO images available via iSCSI, and
NetBSD will DTRT.
In read-only targets, don't attempt to seek to the last block and rewrite
it, it may not work.
Don't assign 8 MB of unused space for use in each iSCSI disk - just use
1MB, which will be enough for the scatter gather iovecs.
Get rid of some dead code.
originally from Poul-Henning Kamp, as found in pkgsrc/pkgtools/digest.
This should address some of the MD5 problems that are being seen on
some hosts at login time.
Re-run autoconf, autoheader and configure.
Name) in the targets configuration file.
Now an entry of the form:
target0=iqn.binky rw extent0 any
will mean that target0 gets presented with the iqn of "iqn.binky".
This can be useful for shorter aliases for IQNs. With thanks to Peter
Eisch for the idea.
Note that the target's base IQN can still be set with the -t parameter
to iscsi-target.
particular, initialize the target name properly in g_target, and add
functions for setting the target name and retrieving a list of
available targets.
Thanks to agc for catching this.
When determining what to put in to param->negotiated, it is *NOT*
sufficient to just pick one of offer_tx or offer_rx -- we may need to
use answer_rx or answer_tx as the negotiated parameter. Failure to
pay attention to which case we are handling means we will occasionally
get "old parameter values" stuffed into responses, resulting in
obscure behavior (such as getting luns mixed up after a normal
connection is made) that is very difficult to replicate.
macro which was never changed. This is the QAD fix, longer term we will
move to use native md5 routines if available.
Should go some way to fixing authentication problems when using an
initiator and target of different endianness.
Revert Max LBA calculation when returning the Maximum LBA from the target
to the iinitiator, following an email conversation with Jonathan Kollasch,
who points out a number of things:
+ the NetBSD scsipi driver reads the value returned by the drive and adds
one to it, so that standard SCSI drives return the 0-based Max LBA in a
READ CAPACITY command.
+ it is up to the initiator to add 1 to the Max LBA to find out the size
of the LUN (Jonathan verified this by using the UNH iSCSI initiator on
to a NetBSD target)
+ an analogous change to the NetBSD initiator (revision 1.4 of
iscsifs.c) is needed.
is not used by the NetBSD reachover framework).
Get rid of the misplaced bin directory during the build phase, it's not
necessary.
Add commands to build the NetBSD iSCSI initiator.
Pay closer attention to the TSIH value that is assigned by the target -
rather than a simple (session id + 1) value, which cycles after 16 sessions
are used, use a central counter, and increment that whenever a TSIH is
apportioned. This fixes some problems for me with multiple targets being
ignored, and only the first target being used. Tested with the Microsoft
initiator, and the embryonic NetBSD initiator.
Use more enumerated types, rather than cpp definitions.
Use enumerated types also in preference to magic numbers.
In the iSCSI test harness, use the -t argument to specify a disk target
exported by the NetBSD iSCSI target. This allows us to test for the
situation outlined above.
Add my copyright to the test harness - there's no Intel code left anymore.
Modify the way initiator login and logout information is presented to the
user. This is only of concern to people who use this with the target in
non-detached (non-daemon) mode.
Get rid of the MODE_SENSE_10 and MODE_SELECT_10 cases in the disk switch,
since they do not return responses in the correct format yet.
+ fix a reported problem with newer versions of FreeBSD which require
a block of data to be read and written, rather than a single byte.
+ add support for Extended Inquiry Data VPD Page (0x86), reported to be
necessary to interoperate with the AIX initiator.
+ add preliminary support for the Write and Verify SCSI operation (0x2e).
writable, do the touch(1) dance with 512 bytes of information, rather
than just a single byte - the single byte read and write causes
problems on newer versions of FreeBSD, I am informed. Patch from
Andrey Yakovlev, cleaned up to compile by myself.
Add support for Extended Inquiry Data VPD Page (0x86), reported to be
necessary to interoperate with the AIX initiator.
Add preliminary support for the Write and Verify SCSI operation (0x2e).