
From david.black@emc.com  Wed Aug  8 09:17:42 2012
Return-Path: <david.black@emc.com>
X-Original-To: storm@ietfa.amsl.com
Delivered-To: storm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CF87F11E80C5 for <storm@ietfa.amsl.com>; Wed,  8 Aug 2012 09:17:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.478
X-Spam-Level: 
X-Spam-Status: No, score=-102.478 tagged_above=-999 required=5 tests=[AWL=0.121, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lwzoMw3-PpvJ for <storm@ietfa.amsl.com>; Wed,  8 Aug 2012 09:17:41 -0700 (PDT)
Received: from mexforward.lss.emc.com (hop-nat-141.emc.com [168.159.213.141]) by ietfa.amsl.com (Postfix) with ESMTP id DCAD711E80D5 for <storm@ietf.org>; Wed,  8 Aug 2012 09:17:40 -0700 (PDT)
Received: from hop04-l1d11-si01.isus.emc.com (HOP04-L1D11-SI01.isus.emc.com [10.254.111.54]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q78GHdqM016678 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <storm@ietf.org>; Wed, 8 Aug 2012 12:17:39 -0400
Received: from mailhub.lss.emc.com (mailhubhoprd02.lss.emc.com [10.254.221.253]) by hop04-l1d11-si01.isus.emc.com (RSA Interceptor) for <storm@ietf.org>; Wed, 8 Aug 2012 12:17:31 -0400
Received: from mxhub24.corp.emc.com (mxhub24.corp.emc.com [128.222.70.136]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q78GHUBs017803 for <storm@ietf.org>; Wed, 8 Aug 2012 12:17:30 -0400
Received: from mx15a.corp.emc.com ([169.254.1.189]) by mxhub24.corp.emc.com ([128.222.70.136]) with mapi; Wed, 8 Aug 2012 12:17:29 -0400
From: "Black, David" <david.black@emc.com>
To: "storm@ietf.org" <storm@ietf.org>
Date: Wed, 8 Aug 2012 12:17:28 -0400
Thread-Topic: iSCSI - exchange count
Thread-Index: Ac1ZOXxpax03poRETBq12DKtgGMvyAcR0LaA
Message-ID: <8D3D17ACE214DC429325B2B98F3AE71208E80699@MX15A.corp.emc.com>
References: <8D3D17ACE214DC429325B2B98F3AE71208D3ACC3@MX15A.corp.emc.com>
In-Reply-To: <8D3D17ACE214DC429325B2B98F3AE71208D3ACC3@MX15A.corp.emc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-EMM-MHVC: 1
Subject: Re: [storm] iSCSI - exchange count
X-BeenThere: storm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Storage Maintenance WG <storm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/storm>, <mailto:storm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/storm>
List-Post: <mailto:storm@ietf.org>
List-Help: <mailto:storm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/storm>, <mailto:storm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Aug 2012 16:17:42 -0000

> The important question is: Is "6" the right number of exchanges that SHOU=
LD be
> allowed?  There's nothing special about that number ... it "seemed like a=
 good idea at
> the time".

Here's a little more detail/insight into the thinking behind the number 6, =
in
the hope of engendering discussion ... this is about the overall login,
not just number of exchanges for an individual text key.

I see value in the fact that 6 is significantly larger than 3, as 3 would b=
e too small.
I see some value in guiding implementers to think about a larger number.  W=
hile 6 is
arbitrary, there does seem to be a range here - I would have no problem wit=
h 7 or 5,
but both 3 and 10 seem unreasonable.

Also, I'm passing along an off-list editorial suggestion:

> An iSCSI initiator or target MAY terminate a negotiation that does not
> terminate within an implementation-specific reasonable time or number of
> exchanges, but SHOULD allow at least 6 exchanges.

The use of "terminate" twice in the above sentence with different meanings =
is a bit
peculiar.  The second instance of "terminate" should be changed to "complet=
e" so that
the new text would be:

   An iSCSI initiator or target MAY terminate a negotiation that does not
   complete within an implementation-specific reasonable time or number of
   exchanges, but SHOULD allow at least 6 exchanges.

Thanks,
--David


> -----Original Message-----
> From: storm-bounces@ietf.org [mailto:storm-bounces@ietf.org] On Behalf Of
> david.black@emc.com
> Sent: Tuesday, July 03, 2012 12:33 PM
> To: storm@ietf.org
> Subject: [storm] iSCSI - exchange count
> Importance: High
>=20
> <Draft co-author hat on>
>=20
> I wanted to extract this change from Mallikarjun's long list of normative
> changes to call it out for attention.
>=20
> The important question is: Is "6" the right number of exchanges that SHOU=
LD be
> allowed?
> There's nothing special about that number ... it "seemed like a good idea=
 at
> the time".
>=20
> Alternate suggestions are welcome, especially if this change could cause =
any
> problems for current implementations.
>=20
> Section 6.2
> [from]
> An iSCSI initiator or target MAY terminate a negotiation that does not en=
d
> within a reasonable time or number of exchanges.
>=20
> [to]
> An iSCSI initiator or target MAY terminate a negotiation that does not
> terminate within an implementation-specific reasonable time or number of
> exchanges, but SHOULD allow at least 6 exchanges.
>=20
> Thanks,
> --David
> ----------------------------------------------------
> David L. Black, Distinguished Engineer
> EMC Corporation, 176 South St., Hopkinton, MA=A0 01748
> +1 (508) 293-7953=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 FAX: +1 (508) 293-7=
786
> david.black@emc.com=A0=A0=A0=A0=A0=A0=A0 Mobile: +1 (978) 394-7754
> ----------------------------------------------------
>=20
>=20
> _______________________________________________
> storm mailing list
> storm@ietf.org
> https://www.ietf.org/mailman/listinfo/storm


From david.black@emc.com  Mon Aug 13 15:27:59 2012
Return-Path: <david.black@emc.com>
X-Original-To: storm@ietfa.amsl.com
Delivered-To: storm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9D24B21F8620 for <storm@ietfa.amsl.com>; Mon, 13 Aug 2012 15:27:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.487
X-Spam-Level: 
X-Spam-Status: No, score=-102.487 tagged_above=-999 required=5 tests=[AWL=0.111, BAYES_00=-2.599, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OvW4iXXlpahY for <storm@ietfa.amsl.com>; Mon, 13 Aug 2012 15:27:55 -0700 (PDT)
Received: from mexforward.lss.emc.com (hop-nat-141.emc.com [168.159.213.141]) by ietfa.amsl.com (Postfix) with ESMTP id 65BD521F84CE for <storm@ietf.org>; Mon, 13 Aug 2012 15:27:54 -0700 (PDT)
Received: from hop04-l1d11-si03.isus.emc.com (HOP04-L1D11-SI03.isus.emc.com [10.254.111.23]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q7DMRoKX010462 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 13 Aug 2012 18:27:51 -0400
Received: from mailhub.lss.emc.com (mailhub.lss.emc.com [10.254.222.129]) by hop04-l1d11-si03.isus.emc.com (RSA Interceptor); Mon, 13 Aug 2012 18:27:36 -0400
Received: from mxhub16.corp.emc.com (mxhub16.corp.emc.com [128.222.70.237]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q7DMRa4s009987; Mon, 13 Aug 2012 18:27:36 -0400
Received: from mx15a.corp.emc.com ([169.254.1.189]) by mxhub16.corp.emc.com ([128.222.70.237]) with mapi; Mon, 13 Aug 2012 18:27:36 -0400
From: "Black, David" <david.black@emc.com>
To: Michael Ko <mkosjc@gmail.com>, "storm@ietf.org" <storm@ietf.org>
Date: Mon, 13 Aug 2012 18:27:35 -0400
Thread-Topic: [storm] Proposed text changes for the connection allocation problem
Thread-Index: Ac1p/Erbt/+tI1jERi+X6Dsu9vzZJgPoa0Ag
Message-ID: <8D3D17ACE214DC429325B2B98F3AE71208F127E3@MX15A.corp.emc.com>
References: <CAP_=6dLGh8D_0WUeSLcej0QJ4_k2KPtxh_JZBy+HpEizrEjfFA@mail.gmail.com>
In-Reply-To: <CAP_=6dLGh8D_0WUeSLcej0QJ4_k2KPtxh_JZBy+HpEizrEjfFA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_8D3D17ACE214DC429325B2B98F3AE71208F127E3MX15Acorpemccom_"
MIME-Version: 1.0
X-EMM-MHVC: 1
Subject: Re: [storm] Proposed text changes for the connection allocation problem
X-BeenThere: storm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Storage Maintenance WG <storm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/storm>, <mailto:storm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/storm>
List-Post: <mailto:storm@ietf.org>
List-Help: <mailto:storm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/storm>, <mailto:storm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Aug 2012 22:27:59 -0000

--_000_8D3D17ACE214DC429325B2B98F3AE71208F127E3MX15Acorpemccom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Mike,

Thanks for posting this new text, and I apologize for the delayed response =
-
too much "stuff" going on in Vancouver ...

I think we could also use some additional text that summarizes the new/old,=
 old/new
and new/new implementation interactions.  Some comments on your posted text=
 ...

> If the iSCSI Layer on the initiator side allocates the connection resourc=
es
> to support RCaP only after it receives the final Login Response PDU from =
the
> target, then it may not be able to handle the number of unexpected iSCSI
> control-type PDUs (as declared by the MaxOutstandingUnexpectedPDUs key fr=
om
> the initiator) that can be sent by the target before the buffer resources
> are allocated at the initiator side.  In this case the iSERHelloRequired =
key
> MUST be negotiated to Yes so that the initiator can allocate the connecti=
on
> resources before sending the iSER Hello Message.  See section 5.1.3 for m=
ore
> details.

That "MUST be negotiated to Yes" seems wrong, as that can't be done if the =
target
responds with NotUnderstood.  Also, that text doesn't provide a sufficientl=
y blunt
warning, IMHO - it ought to state that the consequences of "may not be able=
 to
handle" include failure of the iSER session caused by closure of the underl=
ying
RCaP connection.

> As the iSERHelloRequired key is not defined in [RFC5046], an initiator/ta=
rget
> must be able to deal with a target/initiator that does not understand the=
 key
> or support the iSER Hello exchanges.

That's correct, although I would change:
"must be able to deal with" ->"needs to be able to deal with".

> For a target, if the iSERHelloRequired key is not negotiated, it MUST sti=
ll
> respond with the iSER HelloReply Message when it receives the iSER Hello =
Message.
> If the iSERHelloRequired key is negotiated to No or NotUnderstood, a targ=
et MAY
> choose to terminate the connection; otherwise it SHOULD delay sending any
> unexpected control-type PDUs until one of the following events has occurr=
ed:
>
> 1. A PDU is received from the initiator after it sends the final Login Re=
sponse PDU.
>
> 2. A system configurable timeout period, say one second, has expired.

That's ok, I think additional text is needed somewhere to point out that th=
ere is
known target code that sends one PDU and then delays - that might go in the=
 additional
summary text that I suggest above, and also should be included as part of t=
he
rationale for:

> For an initiator, if the iSERHelloRequired key is negotiated to No or Not=
Understood,
> it MAY choose to terminate the connection; otherwise it SHOULD do one of =
the following:
>
> 1. Allocate the connection resources before sending the final Login Reque=
st PDU.
>
> 2. Allocate one or more buffers for receiving unexpected control-type PDU=
s from
> the target before sending the final Login Request PDU.  This reduces the =
possibility
> of the unexpected control-type PDUs causing the RCaP connection to close =
before
> the connection resources have been allocated.


Thanks,
--David

From: storm-bounces@ietf.org [mailto:storm-bounces@ietf.org] On Behalf Of M=
ichael Ko
Sent: Tuesday, July 24, 2012 8:27 PM
To: storm@ietf.org
Subject: [storm] Proposed text changes for the connection allocation proble=
m

These are the changes I intend to incorporate into the existing draft to so=
lve the connection allocation problem by using the iSER Hello exchanges.  P=
lease comment.

5.1.1  Initiator Behavior

original:

If the outcome of the iSCSI negotiation is to enable iSER-assisted mode, th=
en on the initiator side, prior to sending the Login Request with the T (Tr=
ansit) bit set to 1 and the NSG (Next Stage) field set to FullFeaturePhase,=
 the iSCSI Layer MUST request the iSER Layer to allocate the connection res=
ources necessary to support RCaP by invoking the Allocate_Connection_Resour=
ces Operational Primitive.

replacement:

If the outcome of the iSCSI negotiation is to enable iSER-assisted mode, th=
en on the initiator side, prior to sending the Login Request with the T (Tr=
ansit) bit set to 1 and the NSG (Next Stage) field set to FullFeaturePhase,=
 the iSCSI Layer SHOULD request the iSER Layer to allocate the connection r=
esources necessary to support RCaP by invoking the Allocate_Connection_Reso=
urces Operational Primitive.

deleted:

If the iSER Layer at the initiator is successful in allocating the connecti=
on resources necessary to support RCaP, the following events MUST occur in =
the specified sequence:  [The numbered items will be retained but without t=
he numbering.]

new:

If the iSCSI Layer on the initiator side allocates the connection resources=
 to support RCaP only after it receives the final Login Response PDU from t=
he target, then it may not be able to handle the number of unexpected iSCSI=
 control-type PDUs (as declared by the MaxOutstandingUnexpectedPDUs key fro=
m the initiator) that can be sent by the target before the buffer resources=
 are allocated at the initiator side.  In this case the iSERHelloRequired k=
ey MUST be negotiated to Yes so that the initiator can allocate the connect=
ion resources before sending the iSER Hello Message.  See section 5.1.3 for=
 more details.

5.1.3  iSER Hello Exchange

new:

The connection resources can be allocated at the initiator side after it ha=
s received the final Login Response PDU from the target.  To prevent the po=
tential problem caused by the target sending the number of unexpected iSCSI=
 control-type PDUs as determined by the MaxOustandingUnexpectedPDUs key all=
owed in the FullFeaturePhase, the iSER Hello exchanges can be used.  This a=
llows the initiator to allocate the connection resources before sending the=
 iSER Hello Message.  The iSERHelloRequired key is used by the initiator to=
 determine if it is dealing with a target that supports the iSER Hello exch=
anges.

As the iSERHelloRequired key is not defined in [RFC5046], an initiator/targ=
et must be able to deal with a target/initiator that does not understand th=
e key or support the iSER Hello exchanges.

For a target, if the iSERHelloRequired key is not negotiated, it MUST still=
 respond with the iSER HelloReply Message when it recieves the iSER Hello M=
essage.  If the iSERHelloRequired key is negotiated to No or NotUnderstood,=
 a target MAY choose to terminate the connection; otherwise it SHOULD delay=
 sending any unexpected control-type PDUs until one of the following events=
 has occurred:

1. A PDU is received from the initiator after it sends the final Login Resp=
onse PDU.

2. A system configurable timeout period, say one second, has expired.

For an initiator, if the iSERHelloRequired key is negotiated to No or NotUn=
derstood, it MAY choose to terminate the connection; otherwise it SHOULD do=
 one of the following:

1. Allocate the connection resources before sending the final Login Request=
 PDU.

2. Allocate one or more buffers for receiving unexpected control-type PDUs =
from the target before sending the final Login Request PDU.  This reduces t=
he possibility of the unexpected control-type PDUs causing the RCaP connect=
ion to close before the connection resources have been allocated.

10.1.3.4 iSER Protocol Errors

original:

Conversely, it is a protocol error if the iSER Hello Message is sent by the=
 iSER Layer at the initiator when iSERHelloRequired is negotiated to "No".

new:

Conversely, if the iSER Hello Message is sent by the iSER Layer at the init=
iator when iSERHelloRequired is negotiated to "No", the iSER Layer at the t=
arget MAY treat this as a protocol error or respond with an iSER HelloReply=
 Message.

Mike

--_000_8D3D17ACE214DC429325B2B98F3AE71208F127E3MX15Acorpemccom_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:p=3D"urn:schemas-m=
icrosoft-com:office:powerpoint" xmlns:a=3D"urn:schemas-microsoft-com:office=
:access" xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s=3D"=
uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs=3D"urn:schemas-microsof=
t-com:rowset" xmlns:z=3D"#RowsetSchema" xmlns:b=3D"urn:schemas-microsoft-co=
m:office:publisher" xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadshee=
t" xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns=
:odc=3D"urn:schemas-microsoft-com:office:odc" xmlns:oa=3D"urn:schemas-micro=
soft-com:office:activation" xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc=3D"http://m=
icrosoft.com/officenet/conferencing" xmlns:D=3D"DAV:" xmlns:Repl=3D"http://=
schemas.microsoft.com/repl/" xmlns:mt=3D"http://schemas.microsoft.com/share=
point/soap/meetings/" xmlns:x2=3D"http://schemas.microsoft.com/office/excel=
/2003/xml" xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" xmlns:ois=
=3D"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir=3D"http://=
schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds=3D"http://www.w3=
.org/2000/09/xmldsig#" xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint=
/dsp" xmlns:udc=3D"http://schemas.microsoft.com/data/udc" xmlns:xsd=3D"http=
://www.w3.org/2001/XMLSchema" xmlns:sub=3D"http://schemas.microsoft.com/sha=
repoint/soap/2002/1/alerts/" xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#"=
 xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" xmlns:sps=3D"http://=
schemas.microsoft.com/sharepoint/soap/" xmlns:xsi=3D"http://www.w3.org/2001=
/XMLSchema-instance" xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/so=
ap" xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udc=
p2p=3D"http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf=3D"http:/=
/schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss=3D"http://sche=
mas.microsoft.com/office/2006/digsig-setup" xmlns:dssi=3D"http://schemas.mi=
crosoft.com/office/2006/digsig" xmlns:mdssi=3D"http://schemas.openxmlformat=
s.org/package/2006/digital-signature" xmlns:mver=3D"http://schemas.openxmlf=
ormats.org/markup-compatibility/2006" xmlns:m=3D"http://schemas.microsoft.c=
om/office/2004/12/omml" xmlns:mrels=3D"http://schemas.openxmlformats.org/pa=
ckage/2006/relationships" xmlns:spwp=3D"http://microsoft.com/sharepoint/web=
partpages" xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/20=
06/types" xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/200=
6/messages" xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/Sli=
deLibrary/" xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortal=
Server/PublishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" xmlns:=
st=3D"&#1;" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta http-equi=
v=3DContent-Type content=3D"text/html; charset=3Dus-ascii"><meta name=3DGen=
erator content=3D"Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Courier New";
	color:black;
	font-weight:normal;
	font-style:normal;
	text-decoration:none none;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:10.0pt;font-family:"Courier New";color:black'>Mike,<o:p></o:p></sp=
an></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Co=
urier New";color:black'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><s=
pan style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>Thanks=
 for posting this new text, and I apologize for the delayed response -<o:p>=
</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-=
family:"Courier New";color:black'>too much &#8220;stuff&#8221; going on in =
Vancouver ...<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font=
-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span=
></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Cour=
ier New";color:black'>I think we could also use some additional text that s=
ummarizes the new/old, old/new<o:p></o:p></span></p><p class=3DMsoNormal><s=
pan style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>and ne=
w/new implementation interactions.&nbsp; Some comments on your posted text =
...<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:10.0=
pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p><p cl=
ass=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";c=
olor:black'>&gt; If the iSCSI Layer on the initiator side allocates the con=
nection resources<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'=
font-size:10.0pt;font-family:"Courier New";color:black'>&gt; to support RCa=
P only after it receives the final Login Response PDU from the<o:p></o:p></=
span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"=
Courier New";color:black'>&gt; target, then it may not be able to handle th=
e number of unexpected iSCSI<o:p></o:p></span></p><p class=3DMsoNormal><spa=
n style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&gt; con=
trol-type PDUs (as declared by the MaxOutstandingUnexpectedPDUs key from<o:=
p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;fon=
t-family:"Courier New";color:black'>&gt; the initiator) that can be sent by=
 the target before the buffer resources<o:p></o:p></span></p><p class=3DMso=
Normal><span style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>&gt; are allocated at the initiator side.&nbsp; In this case the iSERHel=
loRequired key<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'fon=
t-size:10.0pt;font-family:"Courier New";color:black'>&gt; MUST be negotiate=
d to Yes so that the initiator can allocate the connection<o:p></o:p></span=
></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Cour=
ier New";color:black'>&gt; resources before sending the iSER Hello Message.=
&nbsp; See section 5.1.3 for more<o:p></o:p></span></p><p class=3DMsoNormal=
><span style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&gt=
; details.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-si=
ze:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";color:black'>That &#8220;MUST be negotiated to Yes&#8221; seems wrong=
, as that can&#8217;t be done if the target<o:p></o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";colo=
r:black'>responds with NotUnderstood.&nbsp; Also, that text doesn&#8217;t p=
rovide a sufficiently blunt<o:p></o:p></span></p><p class=3DMsoNormal><span=
 style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>warning, =
IMHO - it ought to state that the consequences of &#8220;may not be able to=
<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;=
font-family:"Courier New";color:black'>handle&#8221; include failure of the=
 iSER session caused by closure of the underlying<o:p></o:p></span></p><p c=
lass=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";=
color:black'>RCaP connection.<o:p></o:p></span></p><p class=3DMsoNormal><sp=
an style=3D'font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&n=
bsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;f=
ont-family:"Courier New";color:black'>&gt; As the iSERHelloRequired key is =
not defined in [RFC5046], an initiator/target<o:p></o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";colo=
r:black'>&gt; must be able to deal with a target/initiator that does not un=
derstand the key<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'f=
ont-size:10.0pt;font-family:"Courier New";color:black'>&gt; or support the =
iSER Hello exchanges.<br><br><o:p></o:p></span></p><p class=3DMsoNormal><sp=
an style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>That&#8=
217;s correct, although I would change:<o:p></o:p></span></p><p class=3DMso=
Normal style=3D'text-indent:.5in'><span style=3D'font-size:10.0pt;font-fami=
ly:"Courier New";color:black'> &#8220;must be able to deal with&#8221; -&gt=
;&#8220;needs to be able to deal with&#8221;.<o:p></o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";colo=
r:black'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'fo=
nt-size:10.0pt;font-family:"Courier New";color:black'>&gt; For a target, if=
 the iSERHelloRequired key is not negotiated, it MUST still<br>&gt; respond=
 with the iSER HelloReply Message when it receives the iSER Hello Message.<=
o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;f=
ont-family:"Courier New";color:black'>&gt; If the iSERHelloRequired key is =
negotiated to No or NotUnderstood, a target MAY<o:p></o:p></span></p><p cla=
ss=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";co=
lor:black'>&gt; choose to terminate the connection; otherwise it SHOULD del=
ay sending any<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'fon=
t-size:10.0pt;font-family:"Courier New";color:black'>&gt; unexpected contro=
l-type PDUs until one of the following events has occurred:<o:p></o:p></spa=
n></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Cou=
rier New";color:black'>&gt;<o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal=
><span style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&gt=
; 1. A PDU is received from the initiator after it sends the final Login Re=
sponse PDU.<br>&gt;<br>&gt; 2. A system configurable timeout period, say on=
e second, has expired.<o:p></o:p></span></p><p class=3DMsoNormal><span styl=
e=3D'font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o=
:p></span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-fam=
ily:"Courier New";color:black'>That&#8217;s ok, I think additional text is =
needed somewhere to point out that there is<o:p></o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";colo=
r:black'>known target code that sends one PDU and then delays - that might =
go in the additional<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:10.0pt;font-family:"Courier New";color:black'>summary text th=
at I suggest above, and also should be included as part of the<o:p></o:p></=
span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"=
Courier New";color:black'>rationale for:<o:p></o:p></span></p><p class=3DMs=
oNormal><span style=3D'font-size:10.0pt;font-family:"Courier New";color:bla=
ck'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-si=
ze:10.0pt;font-family:"Courier New";color:black'>&gt; For an initiator, if =
the iSERHelloRequired key is negotiated to No or NotUnderstood,<o:p></o:p><=
/span></p><p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:=
"Courier New";color:black'>&gt; it MAY choose to terminate the connection; =
otherwise it SHOULD do one of the following:<br>&gt; <br>&gt; 1. Allocate t=
he connection resources before sending the final Login Request PDU.<br>&gt;=
 <br>&gt; 2. Allocate one or more buffers for receiving unexpected control-=
type PDUs from<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'fon=
t-size:10.0pt;font-family:"Courier New";color:black'>&gt; the target before=
 sending the final Login Request PDU.&nbsp; This reduces the possibility<br=
>&gt; of the unexpected control-type PDUs causing the RCaP connection to cl=
ose before<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-si=
ze:10.0pt;font-family:"Courier New";color:black'>&gt; the connection resour=
ces have been allocated.<br><br><o:p></o:p></span></p><p class=3DMsoNormal>=
<span style=3D'font-size:10.0pt;font-family:"Courier New";color:black'><o:p=
>&nbsp;</o:p></span></p><div><p class=3DMsoNormal><span style=3D'font-size:=
10.0pt;font-family:"Courier New";color:black'>Thanks,<br>--David</span><spa=
n style=3D'font-size:11.0pt;font-family:"Courier New";color:black'><o:p></o=
:p></span></p></div><p class=3DMsoNormal><span style=3D'font-size:10.0pt;fo=
nt-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p><div style=
=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><di=
v><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0i=
n 0in 0in'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-fam=
ily:"Tahoma","sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt;=
font-family:"Tahoma","sans-serif"'> storm-bounces@ietf.org [mailto:storm-bo=
unces@ietf.org] <b>On Behalf Of </b>Michael Ko<br><b>Sent:</b> Tuesday, Jul=
y 24, 2012 8:27 PM<br><b>To:</b> storm@ietf.org<br><b>Subject:</b> [storm] =
Proposed text changes for the connection allocation problem<o:p></o:p></spa=
n></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoN=
ormal style=3D'margin-bottom:12.0pt'>These are the changes I intend to inco=
rporate into the existing draft to solve the connection allocation problem =
by using the iSER Hello exchanges.&nbsp; Please comment.<br><br>5.1.1&nbsp;=
 Initiator Behavior<br><br>original:<br><br>If the outcome of the iSCSI neg=
otiation is to enable iSER-assisted mode, then on the initiator side, prior=
 to sending the Login Request with the T (Transit) bit set to 1 and the NSG=
 (Next Stage) field set to FullFeaturePhase, the iSCSI Layer MUST request t=
he iSER Layer to allocate the connection resources necessary to support RCa=
P by invoking the Allocate_Connection_Resources Operational Primitive.<br><=
br>replacement:<br><br>If the outcome of the iSCSI negotiation is to enable=
 iSER-assisted mode, then on the initiator side, prior to sending the Login=
 Request with the T (Transit) bit set to 1 and the NSG (Next Stage) field s=
et to FullFeaturePhase, the iSCSI Layer SHOULD request the iSER Layer to al=
locate the connection resources necessary to support RCaP by invoking the A=
llocate_Connection_Resources Operational Primitive.<br><br>deleted:<br><br>=
If the iSER Layer at the initiator is successful in allocating the connecti=
on resources necessary to support RCaP, the following events MUST occur in =
the specified sequence:&nbsp; [The numbered items will be retained but with=
out the numbering.]<br><br>new:<br><br>If the iSCSI Layer on the initiator =
side allocates the connection resources to support RCaP only after it recei=
ves the final Login Response PDU from the target, then it may not be able t=
o handle the number of unexpected iSCSI control-type PDUs (as declared by t=
he MaxOutstandingUnexpectedPDUs key from the initiator) that can be sent by=
 the target before the buffer resources are allocated at the initiator side=
.&nbsp; In this case the iSERHelloRequired key MUST be negotiated to Yes so=
 that the initiator can allocate the connection resources before sending th=
e iSER Hello Message.&nbsp; See section 5.1.3 for more details.<br><br>5.1.=
3&nbsp; iSER Hello Exchange<br><br>new:<br><br>The connection resources can=
 be allocated at the initiator side after it has received the final Login R=
esponse PDU from the target.&nbsp; To prevent the potential problem caused =
by the target sending the number of unexpected iSCSI control-type PDUs as d=
etermined by the MaxOustandingUnexpectedPDUs key allowed in the FullFeature=
Phase, the iSER Hello exchanges can be used.&nbsp; This allows the initiato=
r to allocate the connection resources before sending the iSER Hello Messag=
e.&nbsp; The iSERHelloRequired key is used by the initiator to determine if=
 it is dealing with a target that supports the iSER Hello exchanges.<br><br=
>As the iSERHelloRequired key is not defined in [RFC5046], an initiator/tar=
get must be able to deal with a target/initiator that does not understand t=
he key or support the iSER Hello exchanges.<br><br>For a target, if the iSE=
RHelloRequired key is not negotiated, it MUST still respond with the iSER H=
elloReply Message when it recieves the iSER Hello Message.&nbsp; If the iSE=
RHelloRequired key is negotiated to No or NotUnderstood, a target MAY choos=
e to terminate the connection; otherwise it SHOULD delay sending any unexpe=
cted control-type PDUs until one of the following events has occurred:<br><=
br>1. A PDU is received from the initiator after it sends the final Login R=
esponse PDU.<br><br>2. A system configurable timeout period, say one second=
, has expired.<br><br>For an initiator, if the iSERHelloRequired key is neg=
otiated to No or NotUnderstood, it MAY choose to terminate the connection; =
otherwise it SHOULD do one of the following:<br><br>1. Allocate the connect=
ion resources before sending the final Login Request PDU.<br><br>2. Allocat=
e one or more buffers for receiving unexpected control-type PDUs from the t=
arget before sending the final Login Request PDU.&nbsp; This reduces the po=
ssibility of the unexpected control-type PDUs causing the RCaP connection t=
o close before the connection resources have been allocated.<br><br>10.1.3.=
4 iSER Protocol Errors<br><br>original:<br><br>Conversely, it is a protocol=
 error if the iSER Hello Message is sent by the iSER Layer at the initiator=
 when iSERHelloRequired is negotiated to &quot;No&quot;.<br><br>new:<br><br=
>Conversely, if the iSER Hello Message is sent by the iSER Layer at the ini=
tiator when iSERHelloRequired is negotiated to &quot;No&quot;, the iSER Lay=
er at the target MAY treat this as a protocol error or respond with an iSER=
 HelloReply Message.<br><br>Mike<o:p></o:p></p></div></div></body></html>=

--_000_8D3D17ACE214DC429325B2B98F3AE71208F127E3MX15Acorpemccom_--

From mkosjc@gmail.com  Sun Aug 19 18:48:39 2012
Return-Path: <mkosjc@gmail.com>
X-Original-To: storm@ietfa.amsl.com
Delivered-To: storm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B90B921F863C for <storm@ietfa.amsl.com>; Sun, 19 Aug 2012 18:48:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level: 
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BwbTrm4f0vyM for <storm@ietfa.amsl.com>; Sun, 19 Aug 2012 18:48:38 -0700 (PDT)
Received: from mail-qc0-f172.google.com (mail-qc0-f172.google.com [209.85.216.172]) by ietfa.amsl.com (Postfix) with ESMTP id AE17321F863B for <storm@ietf.org>; Sun, 19 Aug 2012 18:48:37 -0700 (PDT)
Received: by qcac10 with SMTP id c10so4659188qca.31 for <storm@ietf.org>; Sun, 19 Aug 2012 18:48:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=yjiqQiH6AR7/gj+M+cZu7UnEA9UXMeZ8/JEaOP4/bWY=; b=bl3rMb1w7S96+zdpI6M6Y7Vrxx0gh8g0KETkwtffxMUFsFO1mF32tvoF8QLAJpvqa5 LfQbMeZgnPyAfTyZ39RO33GOA7LtuSxinaMwW0qcbxgWC/PiWvhar0t+Jqt1Tw3vzLsn h5ck9QPb2cXNbDpGo0sMHIOmc+2mFvHct3MDZg9FPJV62EDhwKDvY2WKB566B8BehebP QohdiMYH+9pPiHvMZEevS8QvijR+lTBwLF34sPU6y/I3ED8px/4yEQ2dVWYEtJeObbFx /eoOUqjzF38235In2aEkC/cUJonVd7OjPtB8ho0flzPqsxlcC3rC3/VDIBYv2rdnk9MD +hTQ==
MIME-Version: 1.0
Received: by 10.229.135.4 with SMTP id l4mr11406987qct.39.1345427316588; Sun, 19 Aug 2012 18:48:36 -0700 (PDT)
Received: by 10.229.231.205 with HTTP; Sun, 19 Aug 2012 18:48:36 -0700 (PDT)
In-Reply-To: <8D3D17ACE214DC429325B2B98F3AE71208F127E3@MX15A.corp.emc.com>
References: <CAP_=6dLGh8D_0WUeSLcej0QJ4_k2KPtxh_JZBy+HpEizrEjfFA@mail.gmail.com> <8D3D17ACE214DC429325B2B98F3AE71208F127E3@MX15A.corp.emc.com>
Date: Sun, 19 Aug 2012 18:48:36 -0700
Message-ID: <CAP_=6dKKntRy77oxMdmradM68aKTCCpAmhdeGG6d1FufqmwYEw@mail.gmail.com>
From: Michael Ko <mkosjc@gmail.com>
To: "Black, David" <david.black@emc.com>
Content-Type: multipart/alternative; boundary=00248c6a560e46c11104c7a8b5f9
Cc: "storm@ietf.org" <storm@ietf.org>
Subject: Re: [storm] Proposed text changes for the connection allocation problem
X-BeenThere: storm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Storage Maintenance WG <storm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/storm>, <mailto:storm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/storm>
List-Post: <mailto:storm@ietf.org>
List-Help: <mailto:storm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/storm>, <mailto:storm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Aug 2012 01:48:39 -0000

--00248c6a560e46c11104c7a8b5f9
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Changed =93must be able to deal with=94 to =93needs to be able to deal with=
=94 as
suggested.

For the rest of the suggestions, I have created new text that replaces the
"new" text in section 5.1.3:

An initiator that conforms to [RFC5046] allocates connection resources
before seding the Login Request with the T (Transit) bit set to 1 and the
NSG (Next Stage) field set to FullFeaturePhase.  (For brevity, this is
referred to as "early" connection allocation.)  The current iSER
specification relaxes this requirement to allow an initiator to allocate
connection resources after it receives the final Login Response PDU from
the target.  (For brevity, this is referred to as "late" connection
allocation.)  To prevent the potential problem caused by the target sending
the number of unexpected iSCSI control-type PDUs as determined by the
MaxOustandingUnexpectedPDUs key allowed in the FullFeaturePhase when "late"
connection allocation is practised, the iSER Hello exchanges MUST be used.
This allows the initiator to allocate the connection resources before
sending the iSER Hello Messages.  The iSERHelloRequired key is used by the
initiator to determine if it is dealing with a target that supports the
iSER Hello exchanges.

In the following summary where "late" connection allocation is practised,
an initiator that follows [RFC5046] is referred to as an "old" initiator;
otherwise it is referred to as a "new" initiator.  Similarly, a target that
does not support the iSERHelloRequired key (and responds with
"NotUnderstood" when negotiating the iSERHelloRequired key) is referred to
as an "old" target; otherwise it is referred to as a "new" target.  Note
that an "old" target can still support the iSER Hello exchanges but this
fact is not known by the initiator.  A "new" target can also respond with
"No" when negotiating the iSERHelloREquired key.  In this case its beahvior
with respect to "late" connection allocation is similar to an "old" target.

A "new" initiator will work fine with a "new" target.

For an "old" initiator and an "old" target, the failure by the initiator to
handle the number of unexpected iSCSI control-type PDUs that are sent by
the target before the buffer resources are allocated at the initiator can
result in the failure of the iSER session caused by closure of the
underlying RCaP connection.  For the "old" target, there is known
implementation that sends one unexpected iSCSI control-type PDU after
sending the final Login Response and then waits awhile before sending the
next one.  This tends to alleviate somewhat the buffer allocation problem
at the initiator.

For a "new" initiator and an "old" target, the failure by the initiator to
handle the number of unexpected iSCSI control-type PDUs that are sent by
the target before the buffer resources are allocated at the initiator can
result in the failure of the iSER session caused by closure of the
underlying RCaP connection.  A "new" initiator MAY choose to terminate the
connection; otherwise it SHOULD do one of the following:

1. Allocate the connection resources before sending the final Login Request
PDU.

2. Allocate one or more buffers for receiving unexpected control-type PDUs
from the target before sending the final Login Request PDU.  This reduces
the possibility of the unexpected control-type PDUs causing the RCaP
connection to close before the connection resources have been allocated.

For an "old" initiator and a "new" target, if the iSERHelloRequired key is
not negotiated, a "new" target MUST still respond with the iSER HelloReply
Message when it receives the iSER Hello Message.  If the iSERHelloRequired
key is negotiated to "No" or "NotUnderstood", a "new" target MAY choose to
terminate the connection; otherwise it SHOULD delay sending any unexpected
control-type PDUs until one of the following events has occurred:

1. A PDU is received from the initiator after it sends the final Login
Response PDU.

2. A system configurable timeout period, say one second, has expired.

Mike

On Mon, Aug 13, 2012 at 3:27 PM, Black, David <david.black@emc.com> wrote:

> Mike,****
>
> ** **
>
> Thanks for posting this new text, and I apologize for the delayed respons=
e
> -****
>
> too much =93stuff=94 going on in Vancouver ...****
>
> ** **
>
> I think we could also use some additional text that summarizes the
> new/old, old/new****
>
> and new/new implementation interactions.  Some comments on your posted
> text ...****
>
> ** **
>
> > If the iSCSI Layer on the initiator side allocates the connection
> resources****
>
> > to support RCaP only after it receives the final Login Response PDU fro=
m
> the****
>
> > target, then it may not be able to handle the number of unexpected iSCS=
I
> ****
>
> > control-type PDUs (as declared by the MaxOutstandingUnexpectedPDUs key
> from****
>
> > the initiator) that can be sent by the target before the buffer resourc=
es
> ****
>
> > are allocated at the initiator side.  In this case the iSERHelloRequire=
d
> key****
>
> > MUST be negotiated to Yes so that the initiator can allocate the
> connection****
>
> > resources before sending the iSER Hello Message.  See section 5.1.3 for
> more****
>
> > details.****
>
> ** **
>
> That =93MUST be negotiated to Yes=94 seems wrong, as that can=92t be done=
 if the
> target****
>
> responds with NotUnderstood.  Also, that text doesn=92t provide a
> sufficiently blunt****
>
> warning, IMHO - it ought to state that the consequences of =93may not be
> able to****
>
> handle=94 include failure of the iSER session caused by closure of the
> underlying****
>
> RCaP connection.****
>
> ** **
>
> > As the iSERHelloRequired key is not defined in [RFC5046], an
> initiator/target****
>
> > must be able to deal with a target/initiator that does not understand
> the key****
>
> > or support the iSER Hello exchanges.
>
> ****
>
> That=92s correct, although I would change:****
>
>  =93must be able to deal with=94 ->=93needs to be able to deal with=94.**=
**
>
> ** **
>
> > For a target, if the iSERHelloRequired key is not negotiated, it MUST
> still
> > respond with the iSER HelloReply Message when it receives the iSER Hell=
o
> Message.****
>
> > If the iSERHelloRequired key is negotiated to No or NotUnderstood, a
> target MAY****
>
> > choose to terminate the connection; otherwise it SHOULD delay sending a=
ny
> ****
>
> > unexpected control-type PDUs until one of the following events has
> occurred:****
>
> >** **
>
> > 1. A PDU is received from the initiator after it sends the final Login
> Response PDU.
> >
> > 2. A system configurable timeout period, say one second, has expired.**=
*
> *
>
> ** **
>
> That=92s ok, I think additional text is needed somewhere to point out tha=
t
> there is****
>
> known target code that sends one PDU and then delays - that might go in
> the additional****
>
> summary text that I suggest above, and also should be included as part of
> the****
>
> rationale for:****
>
> ** **
>
> > For an initiator, if the iSERHelloRequired key is negotiated to No or
> NotUnderstood,****
>
> > it MAY choose to terminate the connection; otherwise it SHOULD do one o=
f
> the following:
> >
> > 1. Allocate the connection resources before sending the final Login
> Request PDU.
> >
> > 2. Allocate one or more buffers for receiving unexpected control-type
> PDUs from****
>
> > the target before sending the final Login Request PDU.  This reduces th=
e
> possibility
> > of the unexpected control-type PDUs causing the RCaP connection to clos=
e
> before****
>
> > the connection resources have been allocated.
>
> ****
>
> ** **
>
> Thanks,
> --David****
>
> ** **
>
> *From:* storm-bounces@ietf.org [mailto:storm-bounces@ietf.org] *On Behalf
> Of *Michael Ko
> *Sent:* Tuesday, July 24, 2012 8:27 PM
> *To:* storm@ietf.org
> *Subject:* [storm] Proposed text changes for the connection allocation
> problem****
>
> ** **
>
> These are the changes I intend to incorporate into the existing draft to
> solve the connection allocation problem by using the iSER Hello exchanges=
.
> Please comment.
>
> 5.1.1  Initiator Behavior
>
> original:
>
> If the outcome of the iSCSI negotiation is to enable iSER-assisted mode,
> then on the initiator side, prior to sending the Login Request with the T
> (Transit) bit set to 1 and the NSG (Next Stage) field set to
> FullFeaturePhase, the iSCSI Layer MUST request the iSER Layer to allocate
> the connection resources necessary to support RCaP by invoking the
> Allocate_Connection_Resources Operational Primitive.
>
> replacement:
>
> If the outcome of the iSCSI negotiation is to enable iSER-assisted mode,
> then on the initiator side, prior to sending the Login Request with the T
> (Transit) bit set to 1 and the NSG (Next Stage) field set to
> FullFeaturePhase, the iSCSI Layer SHOULD request the iSER Layer to alloca=
te
> the connection resources necessary to support RCaP by invoking the
> Allocate_Connection_Resources Operational Primitive.
>
> deleted:
>
> If the iSER Layer at the initiator is successful in allocating the
> connection resources necessary to support RCaP, the following events MUST
> occur in the specified sequence:  [The numbered items will be retained bu=
t
> without the numbering.]
>
> new:
>
> If the iSCSI Layer on the initiator side allocates the connection
> resources to support RCaP only after it receives the final Login Response
> PDU from the target, then it may not be able to handle the number of
> unexpected iSCSI control-type PDUs (as declared by the
> MaxOutstandingUnexpectedPDUs key from the initiator) that can be sent by
> the target before the buffer resources are allocated at the initiator
> side.  In this case the iSERHelloRequired key MUST be negotiated to Yes s=
o
> that the initiator can allocate the connection resources before sending t=
he
> iSER Hello Message.  See section 5.1.3 for more details.
>
> 5.1.3  iSER Hello Exchange
>
> new:
>
> The connection resources can be allocated at the initiator side after it
> has received the final Login Response PDU from the target.  To prevent th=
e
> potential problem caused by the target sending the number of unexpected
> iSCSI control-type PDUs as determined by the MaxOustandingUnexpectedPDUs
> key allowed in the FullFeaturePhase, the iSER Hello exchanges can be used=
.
> This allows the initiator to allocate the connection resources before
> sending the iSER Hello Message.  The iSERHelloRequired key is used by the
> initiator to determine if it is dealing with a target that supports the
> iSER Hello exchanges.
>
> As the iSERHelloRequired key is not defined in [RFC5046], an
> initiator/target must be able to deal with a target/initiator that does n=
ot
> understand the key or support the iSER Hello exchanges.
>
> For a target, if the iSERHelloRequired key is not negotiated, it MUST
> still respond with the iSER HelloReply Message when it recieves the iSER
> Hello Message.  If the iSERHelloRequired key is negotiated to No or
> NotUnderstood, a target MAY choose to terminate the connection; otherwise
> it SHOULD delay sending any unexpected control-type PDUs until one of the
> following events has occurred:
>
> 1. A PDU is received from the initiator after it sends the final Login
> Response PDU.
>
> 2. A system configurable timeout period, say one second, has expired.
>
> For an initiator, if the iSERHelloRequired key is negotiated to No or
> NotUnderstood, it MAY choose to terminate the connection; otherwise it
> SHOULD do one of the following:
>
> 1. Allocate the connection resources before sending the final Login
> Request PDU.
>
> 2. Allocate one or more buffers for receiving unexpected control-type PDU=
s
> from the target before sending the final Login Request PDU.  This reduces
> the possibility of the unexpected control-type PDUs causing the RCaP
> connection to close before the connection resources have been allocated.
>
> 10.1.3.4 iSER Protocol Errors
>
> original:
>
> Conversely, it is a protocol error if the iSER Hello Message is sent by
> the iSER Layer at the initiator when iSERHelloRequired is negotiated to
> "No".
>
> new:
>
> Conversely, if the iSER Hello Message is sent by the iSER Layer at the
> initiator when iSERHelloRequired is negotiated to "No", the iSER Layer at
> the target MAY treat this as a protocol error or respond with an iSER
> HelloReply Message.
>
> Mike****
>

--00248c6a560e46c11104c7a8b5f9
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Changed =93must be able to deal with=94 to =93needs to be able to deal with=
=94 as suggested.<br><br>For the rest of the suggestions, I have created ne=
w text that replaces the &quot;new&quot; text in section 5.1.3:<br><br>An i=
nitiator that conforms to [RFC5046] allocates connection resources before s=
eding the Login Request with the T (Transit) bit set to 1 and the NSG (Next=
 Stage) field set to FullFeaturePhase.=A0 (For brevity, this is referred to=
 as &quot;early&quot; connection allocation.)=A0 The current iSER specifica=
tion relaxes this requirement to allow an initiator to allocate connection =
resources after it receives the final Login Response PDU from the target.=
=A0 (For brevity, this is referred to as &quot;late&quot; connection alloca=
tion.)=A0 To prevent the potential problem caused by the target sending the=
 number of unexpected iSCSI control-type PDUs as determined by the MaxOusta=
ndingUnexpectedPDUs key allowed in the FullFeaturePhase when &quot;late&quo=
t; connection allocation is practised, the iSER Hello exchanges MUST be use=
d.=A0 This allows the initiator to allocate the connection resources before=
 sending the iSER Hello Messages.=A0 The iSERHelloRequired key is used by t=
he initiator to determine if it is dealing with a target that supports the =
iSER Hello exchanges.<br>

<br>In the following summary where &quot;late&quot; connection allocation i=
s practised, an initiator that follows [RFC5046] is referred to as an &quot=
;old&quot; initiator; otherwise it is referred to as a &quot;new&quot; init=
iator.=A0 Similarly, a target that does not support the iSERHelloRequired k=
ey (and responds with &quot;NotUnderstood&quot; when negotiating the iSERHe=
lloRequired key) is referred to as an &quot;old&quot; target; otherwise it =
is referred to as a &quot;new&quot; target.=A0 Note that an &quot;old&quot;=
 target can still support the iSER Hello exchanges but this fact is not kno=
wn by the initiator.=A0 A &quot;new&quot; target can also respond with &quo=
t;No&quot; when negotiating the iSERHelloREquired key.=A0 In this case its =
beahvior with respect to &quot;late&quot; connection allocation is similar =
to an &quot;old&quot; target.<br>

<br>A &quot;new&quot; initiator will work fine with a &quot;new&quot; targe=
t.<br><br>For an &quot;old&quot; initiator and an &quot;old&quot; target, t=
he failure by the initiator to handle the number of unexpected iSCSI contro=
l-type PDUs that are sent by the target before the buffer resources are all=
ocated at the initiator can result in the failure of the iSER session cause=
d by closure of the underlying RCaP connection.=A0 For the &quot;old&quot; =
target, there is known implementation that sends one unexpected iSCSI contr=
ol-type PDU after sending the final Login Response and then waits awhile be=
fore sending the next one.=A0 This tends to alleviate somewhat the buffer a=
llocation problem at the initiator.<br>

<br>For a &quot;new&quot; initiator and an &quot;old&quot; target, the fail=
ure by the initiator to handle the number of unexpected iSCSI control-type =
PDUs that are sent by the target before the buffer resources are allocated =
at the initiator can result in the failure of the iSER session caused by cl=
osure of the underlying RCaP connection.=A0 A &quot;new&quot; initiator MAY=
 choose to terminate the connection; otherwise it SHOULD do one of the foll=
owing:<br>

<br>1. Allocate the connection resources before sending the final Login Req=
uest PDU.<br><br>2. Allocate one or more buffers for receiving unexpected c=
ontrol-type PDUs from the target before sending the final Login Request PDU=
.=A0 This reduces the possibility of the unexpected control-type PDUs causi=
ng the RCaP connection to close before the connection resources have been a=
llocated.<br>

<br>For an &quot;old&quot; initiator and a &quot;new&quot; target, if the i=
SERHelloRequired key is not negotiated, a &quot;new&quot; target MUST still=
 respond with the iSER HelloReply Message when it receives the iSER Hello M=
essage.=A0 If the iSERHelloRequired key is negotiated to &quot;No&quot; or =
&quot;NotUnderstood&quot;, a &quot;new&quot; target MAY choose to terminate=
 the connection; otherwise it SHOULD delay sending any unexpected control-t=
ype PDUs until one of the following events has occurred:<br>

<br>1. A PDU is received from the initiator after it sends the final Login =
Response PDU.<br><br>2. A system configurable timeout period, say one secon=
d, has expired.<br><br>Mike<br><br><div class=3D"gmail_quote">On Mon, Aug 1=
3, 2012 at 3:27 PM, Black, David <span dir=3D"ltr">&lt;<a href=3D"mailto:da=
vid.black@emc.com" target=3D"_blank">david.black@emc.com</a>&gt;</span> wro=
te:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div link=3D"blue" vlink=3D"purple" lang=3D"=
EN-US"><div><p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-fam=
ily:&quot;Courier New&quot;">Mike,<u></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;"><u></u>=A0<u></u></span></p><p class=3D"MsoNormal"><span s=
tyle=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">Thanks for po=
sting this new text, and I apologize for the delayed response -<u></u><u></=
u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">too much =93stuff=94 going on in Vancouver ...<u></u><u></=
u></span></p><p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-fa=
mily:&quot;Courier New&quot;"><u></u>=A0<u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">I think we could also use some additional text that summar=
izes the new/old, old/new<u></u><u></u></span></p><p class=3D"MsoNormal"><s=
pan style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">and new/=
new implementation interactions.=A0 Some comments on your posted text ...<u=
></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;"><u></u>=A0<u></u></span></p><p class=3D"MsoNormal"><span s=
tyle=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; If the i=
SCSI Layer on the initiator side allocates the connection resources<u></u><=
u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; to support RCaP only after it receives the final Logi=
n Response PDU from the<u></u><u></u></span></p><p class=3D"MsoNormal"><spa=
n style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; targe=
t, then it may not be able to handle the number of unexpected iSCSI<u></u><=
u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; control-type PDUs (as declared by the MaxOutstandingU=
nexpectedPDUs key from<u></u><u></u></span></p><p class=3D"MsoNormal"><span=
 style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; the in=
itiator) that can be sent by the target before the buffer resources<u></u><=
u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; are allocated at the initiator side.=A0 In this case =
the iSERHelloRequired key<u></u><u></u></span></p><p class=3D"MsoNormal"><s=
pan style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; MUS=
T be negotiated to Yes so that the initiator can allocate the connection<u>=
</u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; resources before sending the iSER Hello Message.=A0 S=
ee section 5.1.3 for more<u></u><u></u></span></p><p class=3D"MsoNormal"><s=
pan style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; det=
ails.<u></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;"><u></u>=A0<u></u></span></p><p class=3D"MsoNormal"><span s=
tyle=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">That =93MUST =
be negotiated to Yes=94 seems wrong, as that can=92t be done if the target<=
u></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">responds with NotUnderstood.=A0 Also, that text doesn=92t =
provide a sufficiently blunt<u></u><u></u></span></p><p class=3D"MsoNormal"=
><span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">warni=
ng, IMHO - it ought to state that the consequences of =93may not be able to=
<u></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">handle=94 include failure of the iSER session caused by cl=
osure of the underlying<u></u><u></u></span></p><p class=3D"MsoNormal"><spa=
n style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">RCaP conne=
ction.<u></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;"><u></u>=A0<u></u></span></p><p class=3D"MsoNormal"><span s=
tyle=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; As the i=
SERHelloRequired key is not defined in [RFC5046], an initiator/target<u></u=
><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; must be able to deal with a target/initiator that doe=
s not understand the key<u></u><u></u></span></p><p class=3D"MsoNormal"><sp=
an style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; or s=
upport the iSER Hello exchanges.<br>

<br><u></u><u></u></span></p><p class=3D"MsoNormal"><span style=3D"font-siz=
e:10.0pt;font-family:&quot;Courier New&quot;">That=92s correct, although I =
would change:<u></u><u></u></span></p><p class=3D"MsoNormal" style=3D"text-=
indent:.5in">

<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;"> =93mu=
st be able to deal with=94 -&gt;=93needs to be able to deal with=94.<u></u>=
<u></u></span></p><p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;fo=
nt-family:&quot;Courier New&quot;"><u></u>=A0<u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; For a target, if the iSERHelloRequired key is not neg=
otiated, it MUST still<br>&gt; respond with the iSER HelloReply Message whe=
n it receives the iSER Hello Message.<u></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; If the iSERHelloRequired key is negotiated to No or N=
otUnderstood, a target MAY<u></u><u></u></span></p><p class=3D"MsoNormal"><=
span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; ch=
oose to terminate the connection; otherwise it SHOULD delay sending any<u><=
/u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; unexpected control-type PDUs until one of the followi=
ng events has occurred:<u></u><u></u></span></p><p class=3D"MsoNormal"><spa=
n style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt;<u></u=
>=A0<u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; 1. A PDU is received from the initiator after it send=
s the final Login Response PDU.<br>&gt;<br>&gt; 2. A system configurable ti=
meout period, say one second, has expired.<u></u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;"><u></u>=A0<u></u></span></p><p class=3D"MsoNormal"><span s=
tyle=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">That=92s ok, =
I think additional text is needed somewhere to point out that there is<u></=
u><u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">known target code that sends one PDU and then delays - tha=
t might go in the additional<u></u><u></u></span></p><p class=3D"MsoNormal"=
>
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">summar=
y text that I suggest above, and also should be included as part of the<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">rationale for:<u></u><u></u></span></p><p class=3D"MsoNorm=
al"><span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;"><u=
></u>=A0<u></u></span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;">&gt; For an initiator, if the iSERHelloRequired key is neg=
otiated to No or NotUnderstood,<u></u><u></u></span></p><p class=3D"MsoNorm=
al">

<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; i=
t MAY choose to terminate the connection; otherwise it SHOULD do one of the=
 following:<br>&gt; <br>&gt; 1. Allocate the connection resources before se=
nding the final Login Request PDU.<br>

&gt; <br>&gt; 2. Allocate one or more buffers for receiving unexpected cont=
rol-type PDUs from<u></u><u></u></span></p><p class=3D"MsoNormal"><span sty=
le=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; the target=
 before sending the final Login Request PDU.=A0 This reduces the possibilit=
y<br>

&gt; of the unexpected control-type PDUs causing the RCaP connection to clo=
se before<u></u><u></u></span></p><p class=3D"MsoNormal"><span style=3D"fon=
t-size:10.0pt;font-family:&quot;Courier New&quot;">&gt; the connection reso=
urces have been allocated.<br>

<br><u></u><u></u></span></p><p class=3D"MsoNormal"><span style=3D"font-siz=
e:10.0pt;font-family:&quot;Courier New&quot;"><u></u>=A0<u></u></span></p><=
div><p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quo=
t;Courier New&quot;">Thanks,<br>

--David</span><span style=3D"font-size:11.0pt;font-family:&quot;Courier New=
&quot;"><u></u><u></u></span></p></div><p class=3D"MsoNormal"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;"><u></u>=A0<u></u>=
</span></p>

<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt"><div><div style=3D"border:none;border-top:solid #b5c4df 1.0pt;paddin=
g:3.0pt 0in 0in 0in"><p class=3D"MsoNormal"><b><span style=3D"font-size:10.=
0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b>=
<span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-s=
erif&quot;"> <a href=3D"mailto:storm-bounces@ietf.org" target=3D"_blank">st=
orm-bounces@ietf.org</a> [mailto:<a href=3D"mailto:storm-bounces@ietf.org" =
target=3D"_blank">storm-bounces@ietf.org</a>] <b>On Behalf Of </b>Michael K=
o<br>

<b>Sent:</b> Tuesday, July 24, 2012 8:27 PM<br><b>To:</b> <a href=3D"mailto=
:storm@ietf.org" target=3D"_blank">storm@ietf.org</a><br><b>Subject:</b> [s=
torm] Proposed text changes for the connection allocation problem<u></u><u>=
</u></span></p>

</div></div><p class=3D"MsoNormal"><u></u>=A0<u></u></p><p class=3D"MsoNorm=
al" style=3D"margin-bottom:12.0pt">These are the changes I intend to incorp=
orate into the existing draft to solve the connection allocation problem by=
 using the iSER Hello exchanges.=A0 Please comment.<br>

<br>5.1.1=A0 Initiator Behavior<br><br>original:<br><br>If the outcome of t=
he iSCSI negotiation is to enable iSER-assisted mode, then on the initiator=
 side, prior to sending the Login Request with the T (Transit) bit set to 1=
 and the NSG (Next Stage) field set to FullFeaturePhase, the iSCSI Layer MU=
ST request the iSER Layer to allocate the connection resources necessary to=
 support RCaP by invoking the Allocate_Connection_Resources Operational Pri=
mitive.<br>

<br>replacement:<br><br>If the outcome of the iSCSI negotiation is to enabl=
e iSER-assisted mode, then on the initiator side, prior to sending the Logi=
n Request with the T (Transit) bit set to 1 and the NSG (Next Stage) field =
set to FullFeaturePhase, the iSCSI Layer SHOULD request the iSER Layer to a=
llocate the connection resources necessary to support RCaP by invoking the =
Allocate_Connection_Resources Operational Primitive.<br>

<br>deleted:<br><br>If the iSER Layer at the initiator is successful in all=
ocating the connection resources necessary to support RCaP, the following e=
vents MUST occur in the specified sequence:=A0 [The numbered items will be =
retained but without the numbering.]<br>

<br>new:<br><br>If the iSCSI Layer on the initiator side allocates the conn=
ection resources to support RCaP only after it receives the final Login Res=
ponse PDU from the target, then it may not be able to handle the number of =
unexpected iSCSI control-type PDUs (as declared by the MaxOutstandingUnexpe=
ctedPDUs key from the initiator) that can be sent by the target before the =
buffer resources are allocated at the initiator side.=A0 In this case the i=
SERHelloRequired key MUST be negotiated to Yes so that the initiator can al=
locate the connection resources before sending the iSER Hello Message.=A0 S=
ee section 5.1.3 for more details.<br>

<br>5.1.3=A0 iSER Hello Exchange<br><br>new:<br><br>The connection resource=
s can be allocated at the initiator side after it has received the final Lo=
gin Response PDU from the target.=A0 To prevent the potential problem cause=
d by the target sending the number of unexpected iSCSI control-type PDUs as=
 determined by the MaxOustandingUnexpectedPDUs key allowed in the FullFeatu=
rePhase, the iSER Hello exchanges can be used.=A0 This allows the initiator=
 to allocate the connection resources before sending the iSER Hello Message=
.=A0 The iSERHelloRequired key is used by the initiator to determine if it =
is dealing with a target that supports the iSER Hello exchanges.<br>

<br>As the iSERHelloRequired key is not defined in [RFC5046], an initiator/=
target must be able to deal with a target/initiator that does not understan=
d the key or support the iSER Hello exchanges.<br><br>For a target, if the =
iSERHelloRequired key is not negotiated, it MUST still respond with the iSE=
R HelloReply Message when it recieves the iSER Hello Message.=A0 If the iSE=
RHelloRequired key is negotiated to No or NotUnderstood, a target MAY choos=
e to terminate the connection; otherwise it SHOULD delay sending any unexpe=
cted control-type PDUs until one of the following events has occurred:<br>

<br>1. A PDU is received from the initiator after it sends the final Login =
Response PDU.<br><br>2. A system configurable timeout period, say one secon=
d, has expired.<br><br>For an initiator, if the iSERHelloRequired key is ne=
gotiated to No or NotUnderstood, it MAY choose to terminate the connection;=
 otherwise it SHOULD do one of the following:<br>

<br>1. Allocate the connection resources before sending the final Login Req=
uest PDU.<br><br>2. Allocate one or more buffers for receiving unexpected c=
ontrol-type PDUs from the target before sending the final Login Request PDU=
.=A0 This reduces the possibility of the unexpected control-type PDUs causi=
ng the RCaP connection to close before the connection resources have been a=
llocated.<br>

<br>10.1.3.4 iSER Protocol Errors<br><br>original:<br><br>Conversely, it is=
 a protocol error if the iSER Hello Message is sent by the iSER Layer at th=
e initiator when iSERHelloRequired is negotiated to &quot;No&quot;.<br>

<br>new:<br><br>Conversely, if the iSER Hello Message is sent by the iSER L=
ayer at the initiator when iSERHelloRequired is negotiated to &quot;No&quot=
;, the iSER Layer at the target MAY treat this as a protocol error or respo=
nd with an iSER HelloReply Message.<br>

<br>Mike<u></u><u></u></p></div></div></div></blockquote></div><br>

--00248c6a560e46c11104c7a8b5f9--
