Subject: [storm] iSER clarification from Arne Redlich

From: Mike Ko <[email-masked]>
Date: Thu, 20 Aug 2009 15:53:46 -0700

In response to the question from Arne Redlich:

>From the perspective of the iSCSI layer, it is sending one large SCSI Data-in PDU to the initiator.  The iSER layer is responsible for packetizing the data into RDMA Write messages.  Hence the DataSegmentLength should be the full Data-in length.

Mike

-----  from Arne Redlich sent on June 22, 2009 to the IPS mailing list  -----

I'm unclear on the granularity with which an iSER target is supposed to
transfer Data-In via RDMA writes. Here's the pieces of information I'm
trying to tie together:

(1) The iSER spec replaces the initiator's MaxRecvDataSegmentLength with
InitiatorMaxRecvDSL, but this only applies to control type PDUs
(2) MaxBurstLength limits the size of Data-{In,Out} sequences, however,
the iSER spec is silent about Data-In sequences.
(3) RFC 5046, 7.3.5 (SCSI Data-In):
 "2. It MUST generate and send an RDMA Write Message containing the read
data to the initiator [...]
  c. It MUST use DataSegmentLength from the SCSI Data-in PDU to
determine the amount of data to be sent in the RDMA Write Message."

What is the iSCSI layer at the target supposed to use as
DataSegmentLength? MaxBurstLength? The full Data-In length?