Subject: Re: iSCSI : New PDU opcode usage in rev 5.92

From: [email-masked]
Date: Thu, 19 Apr 2001 09:09:32 +0200

Santosh,

On a given nexus the roles are static aren't they?

Julo

Santosh Rao <[email-masked]> on 19/04/2001 03:47:07

Please respond to Santosh Rao <[email-masked]>

To:   [email-masked] (ips)
cc:
Subject:  iSCSI : New PDU opcode usage in rev 5.92

Julian & All,

I've got a quick question on how the new opcode layouts would work for
dual mode scsi implementations. (i.e. initiators that responded in
target mode or targets that acted as initiators also).

The new opcode layout is :

----------------
X|I| | | | | | |
----------------
7 6 5 4 3 2 1 0

where bits 5-0 -> opcode
X -> retry bit
I -> immediate bit

The same values are used for the command as well as response opcodes and
bits X & I are intended to both be set to 1 by targets.

i.e. opcode for scsi command = scsi response = 0x01. the distinction b/n
command and response is based on targets setting X & I bits to 1.

Now, if an initiator [capable of target mode] sent the following
commands, how would they be interpreted :

1) 0xc4.
is this a text command being retried in immediate mode,
or is it a text response ?

2) 0xc1
is this a scsi command being retried in immediate mode,
or is it a scsi response ?

3) 0xc2
is this a scsi task mgmt command being retried in immediate mode,
or is it a scsi task mgmt response ?

etc.....

- Santosh

--
#################################
Santosh Rao
Software Design Engineer,
HP, Cupertino.
email : [email-masked]
Phone : 408-447-3751
#################################

---

From: Santosh Rao <[email-masked]>
Date: Thu, 19 Apr 2001 10:08:10 -0700

That's not a restriction other SCSI transports impose. FCP allows both
the initiator and target bit to be set in PRLI indicating dual mode
behaviour within a single I-T nexus. 

However, the point I'm trying to make is that the opcode cannot be
interpreted by itself and needs interpretation in the context of the
"role" the receiver is playing. i.e. Opcode parsing must be in
conjunction with the check of the receiver's role (is it receiving the
command while operating as a target or initiator ?)

Seems like such a description is missing in the draft.

- Santosh