SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    iSCSI: Ch7 clarifications



    Julian, I have a couple of section 7 questions.
    
    The last paragraph of 7.1 states:
    
            It is optional for targets to support the replay functionality (as 
            agreed by the CommandReplaySupport text key at the login time) and 
            the allegiance switching (as agreed by the CommandFailoverSupport 
            text key at the login time), while they MUST support the retry bit 
            and the rest of the retry functionality described in this section.  
            When a target does not implement replay, it MUST reject the command 
            with a reason code of "Command Replay Not Supported". 
    
    Question 1a:
    If CommandReplaySupport must have been previously negotiated, isn't it a
    protocol error for an initiator to request it if the target doesn't support
    it, given that the target would never have negotiated to agree on replay?
    And, as such, shouldn't the response be more drastic, following the path for
    protocol errors?
    
    Question 1b:
    The ", while they MUST support ..." seems unnecessary, given that the
    required actions for a target are otherwise specified.
    
    I suggest striking the last sentence and a half and rework the paragraph to
    state:
            Targets MAY support the replay functionality.  Actual use of replay
    is 
            agreed by the CommandReplaySupport text key at login.
    
            Targets MAY support allegiance switching.  Actual use of allegiance
    switching is
            agreed by the CommandFailoverSupport text key at login.
    
    
    Question 2.  In Paragraph 7.4 The following is ambiguous:
             
                 - If the discarded PDU is an iSCSI data PDU,  
                           a) Target MAY request retransmission with a R2T. 
                              [OR] 
                           b) Target MUST answer with a command response PDU 
                              with a response-code of delivery-subsystem-
                              failure and terminate the task.  If the target 
                              chooses to implement this, it MUST wait to 
                              receive all the data (signaled by a Data PDU 
                              with the final bit Set for all outstanding 
                              R2Ts) before sending the command response PDU. 
    
    This could be interpreted two ways:
      1) the target could choose option (a) and *not* request retransmission
    or
      2) if the target chooses to not request retransmission, it must execute
    option (b).
    
    If (2) is intended, then the MAY in (a) should be MUST.
    If (1) is intended, then the MUST in (b) should be MAY.
    
    A similar situation occurs a few paragraphs later, where initiator actions
    are described.  The same situation appears in (a) and (b), but it is clearly
    articulated in (e) (if neither (c) nor (d), then (e)).
    
    Perhaps there is a convention that I'm unaware of where MAY-OR-MUST is
    deterministic.  If so, I've learned something ;^)
    
    But, MUST-OR-MUST seems more logical (to me).
    
    Stephen
    


Home

Last updated: Tue Sep 04 01:03:57 2001
6315 messages in chronological order