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

    Re: iSCSI: invalid key value

    How can this be rejected, if at least one of the values
    is understood and supported?  One of the original reasons
    to negotiate digest methods, authentication methods, and
    such is so newer methods can be added to iSCSI as they
    become available.  If I have an initiator that sends:
    and a target that supports CRC32C, it should pick CRC32C,
    rather than sending back a notunderstood.  This way, the
    initiator can say what it wants, and the target can pick
    from the set of methods it supports.
    If we let the target reject these, we will degenerate
    iSCSI login into a "try this, nope, try that, nope, then
    let's try this" sort of negotiation:
    I->T DataDigest=LatestGreatest,NextBestThing,CRC32C,none
    T->I reject
    I->T DataDigest=NextBestThing,CRC32C,none
    T->I reject
    I->T DataDigest=CRC32C,none
    T->I DataDigest=CRC32C
    The initiator had to guess at which value the target didn't
    like, then keep trying to log in with different sets of
    methods until they were reduced to the subset known by the
    target.  This would default the purpose of having a relatively
    simple negotiation for these things.
    Steve is right, the only good way to do this is to accept
    the value that's understood, even if it's "none", rejecting
    only if none of the values are understood.  If the initiator
    didn't want "none", it shouldn't have offered.
    BTW, if "CRC32C" is corrupted into "#$C32C", we will have
    much worse problems than text key corruption, and trying
    to get around it this way will not work.
    Mark wrote:
    > I disagree,
    > This is an initiator error and the login should be rejected as such.
    > NotUnderStood should be returned in the key with the login rejected.
    > Kevin Lemay
    > Agilent Technologies
    > -----Original Message-----
    > From: Steve Senum []
    > Sent: Friday, January 25, 2002 7:57 AM
    > To: ietf-ips
    > Cc: Eddy Quicksall
    > Subject: Re: iSCSI: invalid key value
    > Eddy,
    > If someone sends me "DataDigest=#$C32C,none".
    > I will respond "DataDigest=none".
    > I think responding with "DataDigest=NotUnderstoood"
    > or one of the other special responses would be wrong,
    > as there is nothing wrong with the key ("DataDigest").
    > Since I support "none", and can't tell "#$C32C"
    > is really "CRC32C", I believe "DataDigest=none"
    > is the only correct response.
    > Steve Senum
    > -----------------------------------------
    > Subject: iSCSI: invalid key value
    >    Date: Fri, 25 Jan 2002 10:17:12 -0500
    >    From: Eddy Quicksall <>
    >      To: "ips@ece. cmu. edu (E-mail)" <>
    > If a key has a value that is not valid, do you know how I respond?
    > For example, DataDigest=#$C32C,none. The valid values are CRC32C,none.
    > If I say DataDigest=NotUnderstood, wouldn't that mean the key was not
    > understood?
    > If I say DataDigest=Reject, that would mean I don't support the key for the
    > current initiator.
    > If I say DataDigest=Irrelevant, that would mean the digest is not relevant
    > for
    > the current negotiation.
    > If I say DataDigest=none, that would mean I don't support CRC32C when in
    > reality
    > I do. It could be that, since there is no digest in login,
    > the 1st two letters got changed.
    > If I treat it as a protocol error and send a response with status == 0200 or
    > 0201, then the initiator does not know why.
    > Eddy
    Mark A. Bakke
    Cisco Systems


Last updated: Fri Jan 25 12:17:52 2002
8473 messages in chronological order