Subject: RE: iSCSI: Parameter negotiation Q

From: Eddy Quicksall <[email-masked]>
Date: Thu, 10 Oct 2002 08:27:52 -0400

If the target were allowed to just declare a maximum, the initiator would be
required to always send that amount when sending non-immediate unsolicited.
But maybe it would not be able to.
 
See 9.3.4:
If the Expected Data Transfer Length is higher than the FirstBurstLength
(the negotiated maximum amount of unsolicited data the target will accept),
the initiator MUST send the maximum amount of unsolicited data OR ONLY the
immediate data, if any.
 
Eddy

-----Original Message-----
From: Michael Schoberg [mailto:[email-masked]]
Sent: Wednesday, October 09, 2002 6:38 PM
To: IPS Reflector (E-mail)
Subject: iSCSI: Parameter negotiation Q

11.14  FirstBurstLength

   Use: LO
   Senders: Initiator and Target
   Scope: SW
   Irrelevant when: SessionType=Discovery
   Irrelevant when: ( InitialR2T=Yes and ImmediateData=No )

   FirstBurstLength=<numerical-value-512-to-(2**24-1)>

   Default is 65536 (64 Kbytes).
   Result function is Minimum.

   The initiator and target negotiate the maximum amount in bytes of
   unsolicited data an iSCSI initiator may send to the target during the
   execution of a single SCSI command. This covers the immediate data
   (if any) and the sequence of unsolicited Data-Out PDUs (if any) that
   follow the command.

   FirstBurstLength MUST NOT exceed MaxBurstLength. 

I understand we're past the revision stage on iSCSI, but I'm confused by
some of the negotiation logic.  If FirstBurstLength only relates to the
number of bytes Initiator->Target, why would there be a need to negotiate
the value versus just having the target declare a maximum (if not equal to
the default)?

Thanks.