Subject: iSCSI: Parameter negotiation Q

From: Michael Schoberg <[email-masked]>
Date: Wed, 9 Oct 2002 17:37:33 -0500

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.

---

From: "Julian Satran" <[email-masked]>
Date: Thu, 10 Oct 2002 07:35:09 +0200

Because the initiator may not want to send that much/little.

Julo

Michael Schoberg <[email-masked]>
Sent by: [email-masked]
10/10/02 00:37
 
        To:     "IPS Reflector (E-mail)" <[email-masked]>
        cc: 
        Subject:        iSCSI: Parameter negotiation Q

11.14  FirstBurstLength

   Use: LO

---

From: Paul Koning <[email-masked]>
Date: Wed, 9 Oct 2002 20:21:47 -0400

>>>>> "Michael" == Michael Schoberg <[email-masked]> writes:

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

The initiator is required to send exactly FirstBurstLength if it sends
non-immediate unsolicited data (unless the total length of the write
is less) -- section 2.2.4.2.  The target wants to know what that
length will be so it can plan buffering accordingly.  Not all targets
will care, but some will (that's why the rule is there).

     paul