Re: iSCSI/iWARP drafts and flow control

Caitlin Bestler <[email protected]>
Newsgroups gmane.ietf.ips,gmane.ietf.rddp
Message-ID <[email protected]>
On Friday, August 15, 2003, at 08:04 PM, Mike Ko wrote:

> As I indicated to Caitlin in an earlier e-mail, since each iSCSI
> control-type PDU from the target to the initiator is associated with a
> StatSN, the ExpStatSN from the initiator can be used to advance the
> "credit" at the target.

Agreed.

>
> The question is for iSCSI control-type PDUs from the initiator to the
> target, what is the mechanism for the target to advance the "credit" at
> the initiator?  For PDUs where the Immediate flag is not set, the CmdSN
> and MaxCmdSN mechanism in iSCSI are already available and the new 
> "credit"
> scheme is not necessary.  The unsolicited SCSI Data-out PDUs are 
> covered
> by FirstBurstLength and again the new "credit" scheme is not needed.  
> The
> "credit" scheme is needed for PDUs where the Immediate flag is set or 
> the
> SNACK Request (note that SNACKs are not needed in iSER).  For these 
> PDUs,
> the target may not be able to advance the "credit" at the initiator
> individually.  One possibility is to wait for the initiator to issue an
> iSCSI control-type PDU with a new CmdSN but without the Immediate flag,
> and if the target responds with an iSCSI control-type PDU with ExpCmdSN
> set to CmdSN + 1, then "credit" at the initiator is restored to its 
> full
> negotiated (or by definition) value.

My proposal is to apply a "leaky bucket" algorithm. "Extra" credits are
granted for each CmdSN credit granted, up to a maximum. Each extra
send decrements a fixed amount from the credits. In a pinch, Nop
commands can be used to advance the CmdSN.

It allows for bursts, and the credit-scoring can be done entirely
when sending a message that needs an "extra" credit.


>
> As Caitlin pointed out, since no one has yet identified a specific need
> for per-session negotiation of these credits, a simple rule enumerated 
> in
> the draft may be sufficient.
>

Well, their negotiated credits in either case. It's just whether
they are negotiated on a per-session basis by target and
initiator, or negotiated on a mailing list on a per-protocol
basis. If the volume of the mailing list negotiation gets
too high, everyone will quickly agree to the per-session
negotiations. ;-)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.