iSCSI Redirection Test

Type: Automated Test

Overview

The iSCSI Redirection test verifies that a host-bus adapter (HBA) properly handles the target device’s capability to redirect the connection to a different IP address or port.

Details

This test implements a simple iSCSI target. The test performs a logon to this target by using the HBA under test. The target, when it receives the first logon packet, will redirect the HBA to connect to the target by using a different location. 

 

The test has three different variations that use different redirection mechanisms:

  • Redirection to a new IP address
  • Redirection to a new IP address and new port
  • Redirection to the same IP address with a new port

Run Time: 
Log File: 
System Restart Required: No
Test Category: 
Supported operating systems for Logo or Signature testing:

  • Windows Vista
  • Windows Server 2003
  • Windows XP

Program: 

Requirements

Software Requirements

The test tool requires the following software:

  • Supported operating system (see list above)
  • Software components included with the device that is being tested
  • On operating systems before Microsoft Windows Vista, the latest version of the Microsoft iSCSI software initiator

Hardware Requirements

The test tool requires the following hardware:

  • Device to be tested
  • Computer that meets the minimum software requirements
  • Windows keyboard
  • Two-button pointing device
  • Color display monitor capable of at least 1024 by 768 resolution, 32-bits per pixel, 60 Hz
  • Hard drive with a minimum of 20 GB available on partition C:

Processor

The test tool runs on the following processor architectures:

  • x86
  • x64
  • Itanium

Running iSCSI Redirection Test

  1. Run the test as a Driver Test Manager (DTM) job.
  2. Enter the required data in the configuration dialog box that appears when this job is scheduled.

Command Syntax

Command option Description
iscsi_redirect -hct

Troubleshooting

  1. Look at the job results log file for test failures.
  2. Verify the data entered in the configuration dialog box when the job is scheduled from the Device Console window.

Code Tour

File Manifest

File Location
iscsi_redirect.exe …\tests\%ARCHITECTURE%\nttest\driverstest\storage\wdk\iscsi

Test Assertions

1 The HBA must establish a connection to the test socket.
Test Assertion GUID: 3c74e21f-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks that the HBA establishes a connection with the test target. Apply: The test uses the iSCSI Discovery Library routine LoginIScsiTarget to connect to the test target. Expect: The HBA establishes a TCP/IP connection with the test target.

2 The HBA must sent an initial login request PDU.
Test Assertion GUID: 3c74e220-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test verifies that the HBA sends an initial logon request protocol data unit (PDU) to the test target. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test.

3 The HBA must not send any additional PDU requests to a connection that has been redirected.
Test Assertion GUID: 3c74e221-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test expects that no data is sent on a connection after the test target has redirected the HBA to a new address. Apply: The test issues a logon response PDU that redirects the HBA to connect at a new IP address. Expect: The test expects the target to honor the response packet and not issue iSCSI request packets on the nonredirected connection.

4 The HBA must disconnect from the TCP/IP connection that has been redirected.
Test Assertion GUID: 3c74e222-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test waits for a TCP/IP disconnection from the original connection after the test target has redirected the HBA to a new address. Apply: The test issues a logon response PDU that redirects the HBA to connect at a new IP address. Expect: The HBA disconnects from the original TCP/IP connection address.

5 The HBA must connect to the redirected TCP/IP address.
Test Assertion GUID: 3c74e223-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test waits for a connection at the redirected TCP/IP address. Apply: The test issues a logon response PDU that redirects the HBA to connect at a new IP address. Expect: The HBA connects to the new TCP/IP address that the test specifies when redirecting the HBA to a new address.

6 The HBA must send an initial login request PDU to the redirected TCP/IP address.
Test Assertion GUID: 3c74e224-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks that the HBA sends an initial logon request PDU to the test target at the redirection address. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address specified in the initial logon request PDU.

100 The initial PDU received from the iSCSI HBA must be a login request PDU.
Test Assertion GUID: 3c74e225-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks that the HBA sends an initial logon request PDU to the test target at the redirection address. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address specified in the initial logon request PDU.

101 Bit one of the first byte in a login request PDU must be set to one.
Test Assertion GUID: 3c74e226-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks that the HBA sets bit one in the first byte of the logon request PDU. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. Bit one of the first byte must be set to one.

102 The current stage field of the initial login PDU must be set to indicate either the security negotiation phase or the operational negotiation stage.
Test Assertion GUID: 3c74e227-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks that the HBA sets the current stage field of the initial logon request PDU correctly. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target. The current stage field must be set to either 0 or 1.

103 The next stage field of the initial login request PDU must be greater than the current stage field if the Transit bit is set.
Test Assertion GUID: 3c74e228-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks whether the transit bit is set in the initial logon request. If the bit is set in the initial request, the next stage field of the PDU must be valid and greater than the current stage field. This check is not made if the T (transit) bit is not set because the next stage field is irrelevant under this circumstance. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. If the T bit is set, the next stage field must be valid and greater than the current stage. If the current stage is set to security negotiation (0x00), then the next stage must be set to either logon operation negotiation (0x01), or full feature phase (0x03). If the current stage is set to logon operation negotiation, then the only valid value is the full feature phase.

104 The Version-min field of the initial login request PDU must be set to 0x00.
Test Assertion GUID: 3c74e229-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks whether the Version-min field of the logon request PDU is set to 0x00. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address specified. The Version-min field must be set to 0x00.

105 The Version-max field of the initial login request PDU must be set to 0x00.
Test Assertion GUID: 3c74e22a-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test checks whether the Version-max field of the logon request PDU is set to 0x00. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. The Version-max field must be set to 0x00.

106 The TSIH field of the initial login request PDU must be set to 0x00.
Test Assertion GUID: 3c74e22b-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: This test checks whether the TSIH field of the logon request PDU is set to 0x00. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. The TSIH field must be set to 0x00.

107 The length of the data segment in the initial login request PDU must be greater than zero.
Test Assertion GUID: 3c74e22c-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test validates that the length of the data segment in the initial logon request PDU is nonzero. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. The data segment of this request must contain a data segment because key = value pairs are required for the initial logon request.

108 The data segment in the initial login request PDU must be NULL-terminated.
Test Assertion GUID: 3c74e22d-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test validates that the last byte (not including padding bytes) in the data segment in the initial logon request PDU is zero. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. The last byte in the data segment of this request must contain a NULL separator character (0x00) because key = value pairs are required for the initial logon request. All key = value pairs must be terminated with a NULL delimiter.

109 The initial login request PDU must contain one and only one InitiatorName key.
Test Assertion GUID: 3c74e22e-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test validates the initial logon packet that contains the required InitiatorName key. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. The data segment contains a InitiatorName = key. There must be only one InitiatorName key.

111 The initial login request PDU must contain one and only one TargetName key.
Test Assertion GUID: 3c74e22f-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test validates that the initial logon packet contains the required TargetName key. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. The data segment contains a TargetName = key. There must be only one TargetName key.

112 The TargetName key value must equal the target name specified using the LoginIScsiTarget API.
Test Assertion GUID: 3c74e230-c4ef-11da-94f4-00123f3a6b60

Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements

Additional Information: Test: The iSCSI Redirection test validates that the HBA connects to the target that the test specifies when it initiates logon. Apply: The test uses the LoginIScsiTarget routine to connect to the test target. Expect: The HBA sends an iSCSI logon request PDU to the test target address. The value of the TargetName key equals the target name that was specified when the test called the LoginIScsiTarget routine.

Send feedback on this topic
Built on December 10, 2009