Subject: [Ips] DataACK SNACK immediatly

From: "Eddy Quicksall" <[email-masked]>
Date: Sat, 4 Jun 2005 12:02:26 -0400

10.7.2 says "...the initiator MUST issue a SNACK of type DataACK except when it is able to acknowledge the status for the task immediately via ExpStatSN on other outbound PDUs ..."

Refering to the below transmission,
1) Has the initiator committed a protocol error by not sending the DataACK SNACK immeditaly after frame 39? Note that the time between 39 and 41 is extreemly small.
2) If so, MUST the target detect the protocol error and send a reject after receiving frame 45?
3) What if the queue depth is only 1, does that change your answer?

>From Targets perspective:

ln dir  cmd      S A CmdSN ExpCmdSN StatSN ExpStatSN DataSN ITT Run
-- ---  ---      - - ----- -------- ------ --------- ------ --- ---
38 I->T Read Cap      125                     4             F4
39 T->I Data In  S A         126      4                 0
40 I->T Read          126                     4             F5
41 T->I Data In              127      0                 0
42 T->I Data In              127      0                 1
44 T->I Data In  S A         127      5                 2
45 I->T Data SNACK                            5             F5  1,1

>From Initiators perspective:

ln dir  cmd      S A CmdSN ExpCmdSN StatSN ExpStatSN DataSN ITT Run
-- ---  ---      - - ----- -------- ------ --------- ------ --- ---
38 I->T Read Cap      125                     4             F4
40 I->T Read          126                     4             F5
39 T->I Data In  S A         126      4                 0
41 T->I Data In              127      0                 0
42 T->I Data In              127      0                 1
44 T->I Data In  S A         127      5                 2
45 I->T Data SNACK                            5             F5  1,1

_______________________________________________
Ips mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ips

---

From: Julian Satran <[email-masked]>
Date: Sun, 5 Jun 2005 12:33:19 +0300

Eddy,

IMHO the initiator has not committed
an error since it has acked the status. Queue depth is also not relevant
as long as the initiator obeyed the MaxCmdSN as a target may change the
queue depth at it's convenience.

However the following initiator sequence
woud have been a protocol error.

45 I->T Data SNACK

4             F5  1,1

46 I->T Read
127
6 (or 5)      F6

provided that they came on the same
connection (as your example seem to indicate).

The rule is there to prevent an initiator
from deliberately holding up resources at the target and is based on the
assumption that an initiator does not gain anything by processing PDUs
out of order (admittedly this is no always true).

Julo

"Eddy Quicksall"
<[email-masked]>

Sent by: [email-masked]

04/06/2005 19:02

To

<[email-masked]>, "William
Studenmund" <[email-masked]>, "Mallikarjun
C." <[email-masked]>

cc

Subject

[Ips] DataACK SNACK immediatly

10.7.2 says "...the initiator
MUST issue a SNACK of type DataACK except when it is able to acknowledge
the status for the task immediately via ExpStatSN on other outbound PDUs
..."

1) Has the initiator committed a protocol
error by not sending the DataACK SNACK immeditaly after frame 39? Note
that the time between 39 and 41 is extreemly small.

2) If so, MUST the target detect the
protocol error and send a reject after receiving frame 45?

3) What if the queue depth is only
1, does that change your answer?

ln dir  cmd      S
A CmdSN ExpCmdSN StatSN ExpStatSN DataSN ITT Run

-- ---  ---      - - ----- -------- ------ ---------
------ --- ---

38 I->T Read Cap      125
4
F4

39 T->I Data In  S A         126
4                 0

40 I->T Read          126
4
F5

41 T->I Data In              127
0
0

42 T->I Data In              127
0
1

44 T->I Data In  S A         127
5                 2

45 I->T Data SNACK
5
F5  1,1

ln dir  cmd      S
A CmdSN ExpCmdSN StatSN ExpStatSN DataSN ITT Run

-- ---  ---      - - ----- -------- ------ ---------
------ --- ---

38 I->T Read Cap      125
4
F4

40 I->T Read          126
4
F5

39 T->I Data In  S A         126
4                 0

41 T->I Data In              127
0
0

42 T->I Data In              127
0
1

44 T->I Data In  S A         127
5                 2

45 I->T Data SNACK
5
F5  1,1

Ips mailing list

[email-masked]

---

From: "Eddy Quicksall" <[email-masked]>
Date: Sun, 5 Jun 2005 11:29:11 -0400

Thank you very much.

Can I assume your answer would be the same if the initiator sends/receives the PDU's in the same time sequence that the target sends/receives the PDU's (i.e. with all frames running in numerical order).

Eddy
  ----- Original Message ----- 
  From: Julian Satran 
  To: Eddy Quicksall 
  Cc: Mallikarjun C. ; [email-masked] ; [email-masked] ; William Studenmund 
  Sent: Sunday, June 05, 2005 5:33 AM
  Subject: Re: [Ips] DataACK SNACK immediatly

  Eddy, 

  IMHO the initiator has not committed an error since it has acked the status. Queue depth is also not relevant as long as the initiator obeyed the MaxCmdSN as a target may change the queue depth at it's convenience. 

  However the following initiator sequence woud have been a protocol error. 

  45 I->T Data SNACK                            4             F5  1,1 
  46 I->T Read          127                     6 (or 5)      F6 
   _______________________________________________ 

  provided that they came on the same connection (as your example seem to indicate). 
  The rule is there to prevent an initiator from deliberately holding up resources at the target and is based on the assumption that an initiator does not gain anything by processing PDUs out of order (admittedly this is no always true). 

  Julo 

        "Eddy Quicksall" <[email-masked]> 
        Sent by: [email-masked] 
        04/06/2005 19:02 
       To <[email-masked]>, "William Studenmund" <[email-masked]>, "Mallikarjun C." <[email-masked]>  
              cc  
              Subject [Ips] DataACK SNACK immediatly

---

From: Julian Satran <[email-masked]>
Date: Wed, 8 Jun 2005 09:23:29 +0300

Yes as long as it does not "skip"
both acking and snacking a response (or data with status).

And even if it does a wise target writer
may want to "liberal" about it (if it has enough resources to
withstand it).

Julo

"Eddy Quicksall"

05/06/2005 18:29

To

Julian Satran/Haifa/IBM@IBMIL

cc

[email-masked], William Studenmund <[email-masked]>,
[email-masked], "Mallikarjun C." <[email-masked]>

Subject

Re: [Ips] DataACK SNACK immediatly

Thank you very much.

Can I assume your answer would be the same if the initiator
sends/receives the PDU's in the same time sequence that the target sends/receives
the PDU's (i.e. with all frames running in numerical order).

Eddy

----- Original Message -----

From: Julian
Satran

To: Eddy
Quicksall

Cc: Mallikarjun
C. ; [email-masked]
; [email-masked]
; William
Studenmund

Eddy,

IMHO the initiator has not committed an error since it has acked the status.
Queue depth is also not relevant as long as the initiator obeyed the MaxCmdSN
as a target may change the queue depth at it's convenience.

45 I->T Data SNACK
4
F5  1,1

46 I->T Read          127
6 (or 5)
F6

provided that they came on the same connection (as your example seem to
indicate).

The rule is there to prevent an initiator from deliberately holding up
resources at the target and is based on the assumption that an initiator
does not gain anything by processing PDUs out of order (admittedly this
is no always true).

Julo

"Eddy Quicksall"

04/06/2005 19:02

To

<[email-masked]>, "William

cc

Subject

10.7.2 says "...the initiator MUST issue a SNACK of type DataACK except
when it is able to acknowledge the status for the task immediately via
ExpStatSN on other outbound PDUs ..."

1) Has the initiator committed a protocol error by not sending the DataACK
SNACK immeditaly after frame 39? Note that the time between 39 and 41 is
extreemly small.

2) If so, MUST the target detect the protocol error and send a reject after
receiving frame 45?

>From Targets perspective:

ln dir  cmd      S A CmdSN ExpCmdSN StatSN ExpStatSN
DataSN ITT Run

38 I->T Read Cap      125
4
F4

39 T->I Data In  S A         126
4                 0

40 I->T Read          126
4
F5

41 T->I Data In              127
0
0

42 T->I Data In              127
0
1

44 T->I Data In  S A         127
5                 2

45 I->T Data SNACK
5
F5  1,1

>From Initiators perspective:

ln dir  cmd      S A CmdSN ExpCmdSN StatSN ExpStatSN
DataSN ITT Run

38 I->T Read Cap      125
4
F4

40 I->T Read          126
4
F5

39 T->I Data In  S A         126
4                 0

41 T->I Data In              127
0
0

42 T->I Data In              127
0
1

44 T->I Data In  S A         127
5                 2

45 I->T Data SNACK
5
F5  1,1

Ips mailing list

[email-masked]

Ips mailing list

[email-masked]