Boolean negotiations with optional responses

"Paul Hughes" <[email protected]> Mon, 26 Mar 2007 11:43:53 -0600
Newsgroups gmane.ietf.ips
Message-ID <[email protected]>
I have a question about Boolean negotiations with optional responses.  Consider a case where the initiator is attempting to login to the target and sends a Login Request as follows:

Login Request (T=1, C=0, CSG=1, NSG=3)
     InitiatorName=iqn.xxx.com
     TargetName=iqn.yyy.com
     SessionType=Normal
     InitialR2T=No
     FirstBurstLength=131072
     DataPDUInOrder=No
     DataSequenceInOrder=No
     MaxRecvDataSegmentLength=65536

The target responds as follows and adds ImmediateData=No because it does not support the default value of ImmediateData=Yes:

Login Response (T=0, C=0, CSG=1)
     TargetPortalGroupTag=0
     TargetAlias=YYY
     InitialR2T=Yes
     FirstBurstLength=Irrelevant
     DataPDUInOrder=No
     DataSequenceInOrder=No
     MaxRecvDataSegmentLength=16777215
     ImmediateData=No

Here's where I need some help.  Section 5.2.2 Simple-value Negotiations states:

   In Boolean negotiations (i.e., those that result in keys taking the
   values Yes or No), the accepting party MUST answer with the same key
   and the result of the negotiation when the received value does not
   determine that result by itself.  The last value transmitted becomes
   the negotiation result.  The rules for selecting the value to answer
   with are expressed as Boolean functions of the value received, and
   the value that the accepting party would have selected if given a
   choice.

   Specifically, the two cases in which answers are OPTIONAL are:

      -  The Boolean function is "AND" and the value "No" is received.
         The outcome of the negotiation is "No".
      -  The Boolean function is "OR" and the value "Yes" is received.
         The outcome of the negotiation is "Yes".

   Responses are REQUIRED in all other cases, and the value chosen and
   sent by the acceptor becomes the outcome of the negotiation.

My question is whether the target's Logout Response should set T=1 and NSG=3 since the initiator has the option of not sending a Login Request with ImmediateData=No in this case.

I assume it is ok for the target's Logout Response to set T=0, but the target would then need to handle a Login Request that contains ImmediateData=No or contains nothing.

Thanks,
Paul

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