|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 06/28 draft: MaxCmdRN scheme
I propose to remove MaxCmdRN from the iSCSI PDUs in which it currently
appears and placing it in a separate iSCSI PDU.
We need some way of ordering updates to MaxCmdRN. I propose the following
mechanism:
Update MaxCmdRN
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
+---------------+---------------+---------------+---------------+
0| Opcode (0x8A) | 0 | MaxCmdRN |
+---------------+---------------+---------------+---------------+
4| Length |
+---------------+---------------+---------------+---------------+
8| UpdateRN | 0 |
+---------------------------------------------------------------+
MaxCmdRN: the maximum CmdRN that can be accepted by the client
UpdateRN: the next CmdRN that is expect at the target
Algorithm at initiator to update MaxCmdRN:
The initiator keeps the following state for each session:
session.maxCmdRN
session.updateRN
if packet.updateRN > session.updateRN ||
(packet.updateRN == session.updateRN &&
packet.maxCmdRN > session.maxCmdRN)
session.maxCmdRN = packet.maxCmdRN
(all arithmetic is done in sequence space)
Solicit MaxCmdRN
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
+---------------+---------------+---------------+---------------+
0| Opcode (0x0f) | 0 |
+---------------+---------------+---------------+---------------+
4| Length |
+---------------+---------------+---------------+---------------+
Used to probe closed windows/get initial MaxCmdRN.
Also, something needs to be said about shrinking windows. Is it allowed?
-Costa
Home Last updated: Tue Sep 04 01:08:12 2001 6315 messages in chronological order |