SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: [iSCSI]: Key negotiation procedure proposal



    --- Luben Tuikov <luben@splentec.com> wrote:
    > > > If a Responder replies with Reject, then the
    > Originator
    > > > SHOULD NOT renegotiate the rejected key.
    > > 
    > > Does it mean it should not send or does it mean
    > "should not send
    > > with a non-reserved value"?
    > 
    > It means that the Originator SHOULD NOT send any
    > more offers. (key=another-value(s))
    
    I knew. I should stop putting requests for more
    precision in the form of questions to which I know
    the answers. My fault.
    
    > > There is the problem that it may not fit.
    > 
    > Yes, Randy mentioned this already and gave an
    > excellent
    > example.
    > 
    > Well, this is an open question. Anyone?
    
    We can mandate that if the DataSegment does not 
    end with a \0 (which would mean that all included
    key=value pairs are complete and terminated),
    then it should not be processed yet, but the
    next piece waited for to be concatenated with.
    And we'd drop the need to send PDUs in the other
    direction. This would be even better achieved
    with a flag in the header.
    
    I.e., if a (new) flag is set in the header of a
    Text/Login Request/Response PDU, then it means
    that more such PDUs are coming and their data
    is to be concatenated together (once the flag
    is unset in the last one) before processing.
    This would in fact allow a nice separation of
    the negotiation logic from the en/de-capsulator.
    (For example, if willing to send lots of values,
    the sender just dumps them to the encapsulator
    instead of worrying how many will fit and how
    many will need their state adjusted to be sent
    next (can't just mark them sent yet, because
    there may be surprises if they arrive)).
    
    In general the possibility of split data is a
    pain and any way to alleviate this pain would
    be very welcome by many, I suspect.
    
    > > > If an Originator finds the response to an
    > offered key=value
    > > > pair to be unacceptable, it SHOULD send Reject
    > and close the
    > > > connection.
    > > 
    > > But then the Responder (who both Reject-ed and
    > responded to the key)
    > > must remember that it not only sent the key but
    > also rejected the
    > > key, i.e., sent a value that does not necessarily
    > fit in the selection
    > 
    > NO! it must only remember the value of the key it
    > sent!
    
    You don't have to object yet, it gets clearer at
    the end of my paragraph.
    
    > The Originator will 1) close the connection with
    > Reject,
    > 2) accept the value quetly. (I can know, implied
    > rule 1,
    > but we have to STOP somewhere or we'll never get to 
    > FF phase :-))
    
    Stopping is not a problem. There is no renegotiation.
    Anyway, I've lost track here a little of what you're
    saying.
    
    > > rules and which is not guaranteed to be liked by
    > the Originator,
    > > because if it is not liked, this Originator most
    > likely will
    > > send a Reject, which is not to be treated as a
    > no-renegotionation
    > > violation but just as a harmless little Reject.
    > 
    > key=Reject is never considered renegotiation, since
    > there is no
    > valid value being offered!
    
    For me seeing a key twice raises big red alarms.
    I look at the key first, IMHO, naturally.
    key=Reject is also wrong as an offer, so in order
    to allow for receiving it (w/o big red alarms either
    due to renegotion or due to "Reject in offer"), we
    have to prepare first. So we need more state than
    currently (for the ultra-fine implementations
    at least). And yes, connection will have to be
    closed, yet I'd like to know precisely the reason
    why.
    
    > Oh, well, there is the ``simple implementation''
    > rule.
    > 
    > Please remember that there is always the ``simple
    > implementation''
    > rule (compatible with ``regular implementation'').
    
    And it is compatible with the current state of
    affairs as well. In fact, it is subsumed by the
    current protocol. It already allows Reject-ing a
    key and then closing the connection. Wait, there
    might be nuances for text vs. login. Anyway, very
    minor differences if any between your "simple 
    implemention" and what would be currently already
    allowed.
    
    > If the people feel comfortable with the logic then,
    > some
    > may implement ``simple'' others may implement
    > ``regular'',
    > both will interoperate and will get the job done.
    
    Yes, but "regular" could, IMO, stay as it is.
    I now hold the view that there are no renegotiations
    possible. If other people don't, we have to keep
    asking Julian to clarify yet again and put it in a
    very visible place in the draft. 
    
    > > O: k=u,v,w                   (I want (in order of
    > preference) u, v or w)
    > > R: k=Reject                  (But I hate all of
    > those)
    > > O: k=?                       (What do you like
    > then?)
    > > R: k=x,y,z                   (I like (in order of
    > preference) x, y and z)
    > 
    > This will never work since  ``k(R) Intersection k(O)
    > = Empty''.
    > If it did, then O: cheated in its offer! (and should
    > be banned
    > from operating ;-))
    
    I didn't say it would work. I know the intersection
    is empty. I tried to show that learning what values
    the other side may like is more naturally done with
    inquiries than with forced depositions. The only
    improvement that I see from your proposal is that in
    case a value gets Reject-ed, the sender knows what
    values the other side would have liked. (Because
    most other things have been taken care of, I think.)
    But that effect can be achieved by an inquiry, not
    by protocol changes that require more state.
    
    Martins Krikis, Intel Corp.
    
    Disclaimer: these opinions are mine and may not
                be those of my employer
    
    
    
    
    __________________________________________________
    Do You Yahoo!?
    LAUNCH - Your Yahoo! Music Experience
    http://launch.yahoo.com
    


Home

Last updated: Thu May 23 20:18:32 2002
10278 messages in chronological order