Subject: iscsi : numerical negotiation wording is ambiguous

From: Santosh Rao <[email-masked]>
Date: Wed, 26 Sep 2001 10:59:27 -0700 (PDT)

Julian & All,

The definition of numerical negotiation in Section 2.2.4 of Rev 7.97 
reads :

"In numerical negotiations, the offering and responding party state
 a numerical value. The result of the negotiation is key dependent;
 frequently the lower or the higher of the two values is used."

The above definition is ambiguous, since it does not specify whether it is
the originator or the responder that computes the result of the 
negotiation.

i.e. Is it the responsibility of the target to pick the higher or lower of
the 2 values and respond with the result of the negotiation ?

OR :
Is it the originator that has to pick the result of the negotiation
based on the key it sent and the key it got back ?

I would suggest that the wording be clarified to indicate that the
responder picks the result of the negotiation and sends this result back
in its response for this key.

Perhaps, some re-wording along the following lines may be in order :

"In numerical negotiations, the offering party states a numerical
 value, and the responding party states the result (operational value)
 after the negotiation.  The result of the negotiation is key
 dependent; responder determines it based on the lower or the higher 
 of the two values - offering party's value, and what the responder 
 can support."

Comments ?

Regards,
Santosh

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

---

From: "BURBRIDGE,MATTHEW (HP-UnitedKingdom,ex2)" <[email-masked]>
Date: Thu, 27 Sep 2001 14:37:14 +0100

Hi Julian,

I and my collegues have always assumed that the answer to an offered
parameter was the result of the negoitated value.  This seems the most
appropriate behaviour as it confirms the value that both parties will use
(it certainly helps in debugging).

Cheers

Matthew

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Thursday, September 27, 2001 9:55 AM
To: [email-masked]
Subject: Re: iscsi : numerical negotiation wording is ambiguous

Santosh,

I understood what you wording means but I am not sure that we want all the
side-effects.
The negotiation as defined  now allows both parties requester or responder
to state their wishes and the LAW
insatiate the result in both.

Your wording means that the responder selects the value according to the
rule. What if the responder is either a rogue or
just a simple minded target.  Let me give an example:

I am building a simple minded target that has an 8K buffer and says  always
(has it wired) DataPDULength=8192
in its first Login response (that is his buffer).

If an initiator sends him as a "offer" or as a "responder" 16192 then with
the current wording things are fine and both will
have settled to 8192.

If the initiator sends an offer of 4096 and the target gives his (only
thing he knows) 8192 it is still fine - both select 4096.

With your wording some of the negotiations will fail since you assume that
the rule should be expressed in building the answer and not in selecting
the result.

In the end in both case you have to do selections at both target and
initiator but the current rule enables simple-minded prewired messages
while your does not (the responder message defines the selection and the
offerer has to check it).

Sorry for this long message for such a simple question.

Julo

                    Santosh Rao

                    <santoshr@cup.       To:     [email-masked]

                    hp.com>              cc:

                    Sent by:             Subject:     Re: iscsi : numerical
negotiation wording  
                    owner-ips@ece.        is ambiguous

                    cmu.edu

                    26-09-01 23:16

                    Please respond

                    to Santosh Rao

Julian,

What is the responding party supposed to offer ? Is it supposed to
determine the result of the
negotiation (higher or lower value, as the case may be) and send that as
its response ?

Or, is it supposed to send in its numerical value and the initiator picks
the higher or lower of
the 2 ?

This does'nt come across clear enough in the definition and is open to
mis-interpretation. Please
see the suggested re-word in its place.

Thanks,
Santosh

Julian Satran wrote:

> Santosh,
>
> I am missing something. The rule states what value both parties should
have
> after both have seen the two values.
> Obviously we assume that no error occurs and the responder value is seen
y
> the offering party or the negotiation fails.
>
> What exactly is ambiguous about it?
>
> Julo
>
>
>                     Santosh Rao
>                     <santoshr@cup.       To:     [email-masked] (ips)
>                     hp.com>              cc:
>                     Sent by:             Subject:     iscsi : numerical
negotiation wording is
>                     owner-ips@ece.        ambiguous
>                     cmu.edu
>                     26-09-01 19:59
>                     Please respond
>                     to Santosh Rao

#### santoshr.vcf has been removed from this note on September 27 2001 by
Julian Satran

---

From: "Julian Satran" <[email-masked]>
Date: Thu, 27 Sep 2001 19:22:56 +0300

Matthew.

That is perfectly legitimate. But forcing every pair to do so is not
needed.

Julo

                    "BURBRIDGE,MATTH                                                               
                    EW                     To:     Julian Satran/Haifa/IBM@IBMIL, [email-masked]  
                    (HP-UnitedKingdo       cc:                                                     
                    m,ex2)"                Subject:     RE: iscsi : numerical negotiation wording  
                    <matthew_burbrid        is ambiguous                                           
                    [email-masked]>                                                                     
                                                                                                   
                    27-09-01 15:37                                                                 
                    Please respond                                                                 
                    to                                                                             
                    "BURBRIDGE,MATTH                                                               
                    EW                                                                             
                    (HP-UnitedKingdo                                                               
                    m,ex2)"                                                                        

Hi Julian,

Cheers

Matthew

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Thursday, September 27, 2001 9:55 AM
To: [email-masked]
Subject: Re: iscsi : numerical negotiation wording is ambiguous

Santosh,

Julo

                    Santosh Rao

                    hp.com>              cc:

                    cmu.edu

                    26-09-01 23:16

                    Please respond

                    to Santosh Rao

Julian,

Thanks,
Santosh

have
y
negotiation wording is

---

From: "Sanjeev Bhagat (TRIPACE/Zoetermeer)" <[email-masked]>
Date: Sun, 30 Sep 2001 16:32:55 +0200

All,

I agree with Santosh that the responding party must respond the result of
the negotiation as compared with the value from offering party. All
negotiations in SCSI like (sync, disconnect etc) are also done the same way.
I also object to Julian's reason of a simple minded target which wants to
send certain fixed values only. In case a simple minded target identifies a
value which it cannot support or is less than the value a target can
support, then there should be a method for target to reject such a
negotiation and the default values be accepted on both side as a result of
negotiation. 

1 Because even if simple minded target sends its fixed value which is
greater than the value sent by offering party then the final result of
negotiation will be taken as ( lesser of the two) and in this case target
which which cannot support the lower value will produce some illegal
results.

2. if simple minded target wants to send its own value and wants it to be
accpeted then the responding party is not negotiating but forcing the result
on initiator(this method should not be allowed unless explicitly mentioned).

however if there is another proposal of numeric negotiation in which the
responding party can force its result to be over ridden by the offering
party's result then it is acceptable for offering party and responding party
to send there own supported key-value result and it can then be computed at
offering party's end.

IMP: (May be I am missing something here) I do not see how a numeric
negotiation can be rejected. Is it possible to reject such kind of
negotiaion?

Sanjeev

-----Original Message-----
From: Santosh Rao [mailto:[email-masked]]
Sent: Friday, September 28, 2001 11:15 PM
To: Julian Satran
Cc: [email-masked]
Subject: Re: iscsi : numerical negotiation wording is ambiguous

Julian & All,

I request the group to take a close look at this negotiation process
again and [re-]evaluate the alternative being proposed.

Further, it appears that the login stage negotiation  is also following
the same algorithm as the login key negotiation, wherein originator &
responder offer their respective values and both sides need to determine
the result of the negotiation. i.e. both initiator and target need to
compare their NSG with the other party's NSG and pick the lower of the
2.

I suggest that both the login key negotiation and the login stage
negotiation follow the policy that the originator offers a value and the
responder picks the result of the negotiation based on (the offered
value & its own value). The value picked by the responder is sent back
to the originator.

This model has the following advantages :

1) Only one side picks the result of the negotiaton. Hence, the 2 sides
cannot go out of sync on the value picked.

2) The originator knows the negotiated result at the the responder since
the responder sends back the result of the negotiation.

3) This model is easier to debug because of (1) & (2).

4) Less code since only 1 party (responder) needs to perform the
computation to pick the result of the negotiation.

5) This scheme leaves less room for interop problems and
mis-interpretation since it is the more familiar negotiation technique
that is in use in most other mass storage protocols. (ex : FC PLOGI, FC
PRLI, etc). From a first reading of the current negotiation scheme, it
is'nt readily apparent that the currently defined model is different
from the above and requires both sides to be picking the result of the
negotiation, instead of just the responder.

Comments ?

Thanks,
Santosh

Julian Satran wrote:
>                     Sent by:             Subject:     Re: iscsi :
numerical negotiation wording

-- 
##################################
Santosh Rao
Software Design Engineer,
HP-UX iSCSI Driver Team,
Hewlett Packard, Cupertino.
email : [email-masked]
Phone : 408-447-3751
##################################

---

From: "Julian Satran" <[email-masked]>
Date: Sun, 30 Sep 2001 19:06:45 +0300

Sanjeev,

I am not sure clear I made the tiny diference between what I say and what 
Santosh said:

Santosh says:

a requester sends A=valuex
a responder sends B=valuey
the responder assumes that the value y is the correct value and so does an 
external observer
the requester checks that valuey is conformant (he will not believe it) 
and will reject it if not conformant else it will accept it

This might be what you "conventionally" do - I don't and that shows that 
convention like morals are a matter of geography :-)

The advantage of this set of rules is that it allows an external observer 
to know what was selected without knowing the rules
The disadvantage is that messages have to be "built", an additional reject 
states exists and MOST IMPORTANT you need both messages

In what I said:

1. The requester sends A=valuex
2. The Responder has to send either nothing (if valuex is enough on both 
sides to compute the result like in the case in which the function is a 
Boolean AND and the value is NO) or valuey
3. Both the requestor and responder have to compute the value (they have 
to know the rules anyhow) and so does the external observer

The disadvantage is that the external observer has to know the rules
The advantage is that there is no reject, in binary negotiations you can 
go away with shorter negotiations and you can set strings at fixed values.

Julo

"Sanjeev Bhagat (TRIPACE/Zoetermeer)" <[email-masked]>
Sent by: [email-masked]
30-09-01 16:32
Please respond to "Sanjeev Bhagat (TRIPACE/Zoetermeer)"

        To:     "'Santosh Rao'" <[email-masked]>, Julian Satran/Haifa/IBM@IBMIL
        cc:     [email-masked]
        Subject:        RE: iscsi : numerical negotiation wording is ambiguous

All,

I agree with Santosh that the responding party must respond the result of
the negotiation as compared with the value from offering party. All
negotiations in SCSI like (sync, disconnect etc) are also done the same 
way.
I also object to Julian's reason of a simple minded target which wants to
send certain fixed values only. In case a simple minded target identifies 
a
value which it cannot support or is less than the value a target can
support, then there should be a method for target to reject such a
negotiation and the default values be accepted on both side as a result of
negotiation. 

2. if simple minded target wants to send its own value and wants it to be
accpeted then the responding party is not negotiating but forcing the 
result
on initiator(this method should not be allowed unless explicitly 
mentioned).

however if there is another proposal of numeric negotiation in which the
responding party can force its result to be over ridden by the offering
party's result then it is acceptable for offering party and responding 
party
to send there own supported key-value result and it can then be computed 
at
offering party's end.

Sanjeev

-----Original Message-----
From: Santosh Rao [mailto:[email-masked]]
Sent: Friday, September 28, 2001 11:15 PM
To: Julian Satran
Cc: [email-masked]
Subject: Re: iscsi : numerical negotiation wording is ambiguous

Julian & All,

Comments ?

Thanks,
Santosh

> > The above definition is ambiguous, since it does not specify whether 
it
> is
> > i.e. Is it the responsibility of the target to pick the higher or 
lower
> of