Commit Graph

1158 Commits

Author SHA1 Message Date
Peter Lieven cb6f2ce252 iSCSI Redirect support
This patch adds support for persistant portals like they are common
to storage arrays with different interfaces or physical members.
2012-10-18 10:48:52 +02:00
Peter Lieven 4cb845477d Add debugging framework
This patch adds a user configurable debug level. For testing
it includes connection info and reporting errors.
2012-10-18 10:36:26 +02:00
Peter Lieven c4592550d6 Move iscsi_set_tcp_keepalive after socket creation
Socket options should be set directly after socket creation.
2012-10-18 09:40:05 +02:00
Peter Lieven 91267f5aaa Limit immediate and unsolicited data to FirstBurstLength
RFC3270 describes in section 12.14 that immediate and unsolicited data
sent from the initiator to the target must not exceed FristBurstLength
bytes in total.
2012-10-18 09:21:54 +02:00
Ronnie Sahlberg b673d8ed57 CONNECT: export the iscsi_reconnect() function.
There are situations where you may want to trigger an iscsi reconnect
explicitely from an application so make this function exposed to applications.
2012-10-16 21:30:39 -07:00
Ronnie Sahlberg 676bf2372c TEST: Add test that target reset will release a RESERVE6 2012-10-04 21:37:41 -07:00
Ronnie Sahlberg 06e925f2fd TEST: Add a test to verify that reservation are dropped on session termination 2012-10-01 18:41:08 -07:00
Ronnie Sahlberg 4e35b808a2 Merge pull request #21 from jongrimm/master
Added test (to 420) to have Initiator 2 RELEASE6, when Initiator1 already has reserved.
2012-10-01 18:33:33 -07:00
Jon Grimm a5cc1fdbe8 Fix merge conflicts 2012-10-01 09:57:06 -05:00
Ronnie Sahlberg 30a32b4335 TESTS: Add two tests that RESERVE6 is dropped on LUN-reset as well as session logout 2012-09-30 09:25:39 -07:00
Ronnie Sahlberg add9607244 TEST: Add readme for the test tool 2012-09-30 08:43:56 -07:00
Ronnie Sahlberg c57827fef4 TESTS: Add externs for the two initiator names 2012-09-30 08:31:15 -07:00
Ronnie Sahlberg b160b95060 TESTS: Add 'initiator2' variable so we can run tests with two different initiatir names
Update the 0420 test to use different initiator names for the two sessions to the target.
2012-09-30 08:25:23 -07:00
Jon Grimm 2b6bc6c687 test: Add test to release from second initiator when already reserved by first initiator. 2012-09-30 07:29:31 -07:00
Jon Grimm 2a2f246615 test: reserve_basic: mem leak cleanup 2012-09-28 11:27:20 -05:00
Jon Grimm 32d9f760d2 test: Add test to release from second initiator when already reserved by first initiator. 2012-09-28 10:09:14 -05:00
Ronnie Sahlberg da893b0cf9 TEST 0420 cosmetic printf change 2012-09-27 18:49:38 -07:00
Ronnie Sahlberg 0aa14bbe39 TEST: 0420 some cosmetic printf changes 2012-09-27 18:47:15 -07:00
Ronnie Sahlberg c3adf1d814 Merge pull request #20 from jongrimm/master
RESERVE6/RELEASE6 Commands + testcase.
2012-09-27 18:39:22 -07:00
Ronnie Sahlberg ce2db039a5 TEST: try to make 0410 nicer
0410 is the first test for the MMC commandset.
This commandset is in hindsight a bit more complex than other commandsets
in that we have to handle quite a lot of cases :
1, if it is not a MMC device, we should check we get INVALID_OPCODE and then
bail.
Then if it is a MMC device, there are at least three different cases we have to
handle:
2.a  If there is no medium in the device
2.b there is media, but the medium is blank
2.c there is readable medium

this makes MMC tests a lot more complex than other commandsets
so we have to try to get this one as nice and simple as possible so we can
reuse this test as the framework when adding other MMC tests.

(even the 2.b test is not 100% right,   since if the medium is BR, then a blank disk will fail with sense,  but blank pre-BD mediums will not fail the READTOC command)
2012-09-27 18:29:57 -07:00
Jon Grimm 602f89f060 TEST: reserve6_basic: Bail with success if command simply isn't supported. 2012-09-27 14:33:32 -05:00
Jon Grimm 26d090e191 Add testcase for RESERVE6/RELEASE6 2012-09-27 14:17:24 -05:00
Jon Grimm c7d8d2593c Add RESERVE6/RELEASE6 Support. 2012-09-27 12:45:06 -05:00
Ronnie Sahlberg 85e427ea54 SCSI: READTOC change alloclen to a uint32 and encode it in the CDB 2012-09-25 06:54:01 -07:00
Ronnie Sahlberg b6ac94ed18 Merge pull request #18 from jongrimm/master
Thanks. Great stuff!
2012-09-24 17:08:59 -07:00
Jon Grimm 1619d0e404 TEST: readtoc_basic: check that TOC of lba 0 matches TOC of lba 1 2012-09-24 13:49:18 -05:00
Jon Grimm 67f640f692 TEST: readtoc_basic: change copyright. Add readcapacity to see if media present, and test appropriate read toc behavior if not present. 2012-09-24 13:14:09 -05:00
Jon Grimm c3c1628c1d read TOC: set XFER_NONE when xferlen==0 to match Ronnie's change 2012-09-24 10:43:07 -05:00
Jon Grimm d6bea3db52 merge fixup 2012-09-24 10:22:58 -05:00
Jon Grimm e55ec72f36 Add Read TOC (0x43) Command Support (and basic testcase). 2012-09-24 10:15:00 -05:00
Ronnie Sahlberg 3860520267 TESTS: fix typo 2012-09-21 20:26:40 -07:00
Ronnie Sahlberg ba14452dc2 TEST: Add a test that reads all reported VPD pages and validates qualifier, type and page-code in the returned data 2012-09-21 20:15:04 -07:00
Ronnie Sahlberg addc6e53d7 TEST: fix typo in test name 2012-09-21 19:32:00 -07:00
Ronnie Sahlberg be4f2fdf66 TESTS: Add a test that all mandatory SPC pages are supported by the target 2012-09-21 18:52:51 -07:00
Ronnie Sahlberg 703d9120bc TEST: Add test for TESTUNITREADY
Add an explicit test for this opcode. We already have plenty of implicit tests via the normal iscsi login functions.
2012-09-20 19:38:30 -07:00
Ronnie Sahlberg 6e2f04455f TEST: Add a test that INQUIRY where EVPD==0 but PAGE_CODE!=0 is an error 2012-09-20 18:27:04 -07:00
Ronnie Sahlberg 62b8681409 SCSI: Fix all remaining places where alloc_len==0 means xfer direction should be == NONE 2012-09-19 19:43:01 -07:00
Ronnie Sahlberg f5d8b61397 TESTS: Change INQ alloc_len test to also test the case where alloc_len is 0 2012-09-19 18:25:07 -07:00
Ronnie Sahlberg 8f98cf3e12 INQUIRY: When alloc_len is set to 0 we should set XFER direction to NONOE, not READ 2012-09-19 18:23:54 -07:00
Ronnie Sahlberg 641027283b TESTS: Add a new test to check standard INQ alloclen
Add a test for the standard INQUIRY data. The iscsi/scsi target should complete
the request successfully for all values of buffersize/allocation_length
of 1 to 255 bytes.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-09-18 19:45:42 -07:00
Ronnie Sahlberg f3e9ec00c2 Merge branch 'master' of github.com:sahlberg/libiscsi 2012-09-14 18:23:19 -07:00
Ronnie Sahlberg 4b250c0abb Merge pull request #17 from jongrimm/master
ld_iscsi: add xstat64 & friends, + a couple bug fixes in ld_iscsi
2012-09-14 18:20:49 -07:00
Jon Grimm 365f6ddf10 ld_iscsi: add xstat64, lxstat64, fsxstat64, open64 2012-09-14 12:41:11 -05:00
Jon Grimm a434a90d64 ld_iscsi: minor, use value already calculated in 'lba' local var in call to readcapacity 2012-09-14 12:27:37 -05:00
Jon Grimm 74496e36fd ld_iscsi: don't try to read beyond last lba 2012-09-14 12:22:07 -05:00
Jon Grimm eb90ab98c1 ld_iscsi: return block size for stat and friends 2012-09-14 12:02:05 -05:00
Jon Grimm 60a96e0ebf off by one error for calculating num_blocks 2012-09-14 11:19:09 -05:00
Ronnie Sahlberg 6abb5ccc54 TEST: change to the SPC-4 definition of ASCII 2012-09-13 15:12:30 -07:00
Ronnie Sahlberg 2e33754228 TESTS: Expand the INQUIRY tests for the standard page 2012-09-12 07:29:40 -07:00
Ronnie Sahlberg ead085ecd0 SCSI: INQUIRY fullsize is additional-length + 5, not +3
This bug would report the standard inquiry data size two bytes less than expected
2012-09-12 07:07:04 -07:00