[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Google
  Web www.spinics.net

Re: Calculating the VA in iSER header




VA is a concept introduced in an Infiniband annex to support iSER.  It appears in the expanded iSER header for Infiniband use only to support the non-Zero Based Virtual Address (non-ZBVA) used in Infiniband vs the ZBVA used in IETF.

"The DataDescriptorOut describes the I/O buffer starting with the immediate unsolicited data (if any), followed by the non-immediate unsolicited data (if any) and solicited data."  If non-ZBVA mode is used, then VA points to the beginning of this buffer.  So in your example, the VA field in the expanded iSER header will be zero.  Note that for IETF, ZBVA is assumed and there is no provision to specify a different VA in the iSER header.

Tagged offset (TO) refers to the offset within a tagged buffer in RDMA Write and RDMA Read Request Messages.  When sending non-immediate unsolicited data, Send Message types are used and the TO field is not present.  Instead, the buffer offset is appropriately represented by the Buffer Offset field in the SCSI Data-Out PDU.  Note that Tagged Offset is not the same as write VA and it does not appear in the iSER header.

Mike


Erez Zilber <erezz@xxxxxxxxxxxx>
Sent by: ips-bounces@xxxxxxxx

04/15/2008 06:40 AM

To
ips@xxxxxxxx
cc
Subject
Calculating the VA in iSER header





We're trying to understand what should be the write VA (tagged offset)
in the iSER header for WRITE commands. If unsolicited data is to be
sent, should the VA be the original VA or should it be original VA +
FirstBurstLength?


Example:


InitialR2T=No

FirstBurstLength = 1000


Base address of the registered buffer = 0


Now, what should be the VA in the iSER header? 0 or 1000?


We read the following paragraph in the iSER spec, but didn't get an
answer from there:


* If there is solicited data to be transferred for the SCSI write or
bidirectional command, as indicated by the Expected Data Transfer
Length in the SCSI Command PDU exceeding the value of
UnsolicitedDataSize, the iSER layer at the initiator MUST do the
following:

a. It MUST allocate a Write STag for the I/O Buffer defined by
the qualifier DataDescriptorOut. The DataDescriptorOut
describes the I/O buffer starting with the immediate
unsolicited data (if any), followed by the non-immediate
unsolicited data (if any) and solicited data. This means
that the BufferOffset for the SCSI Data-out for this
command is equal to the TO. This implies that a zero TO
for this STag points to the beginning of this I/O Buffer.


Thanks,

--

____________________________________________________________

Erez Zilber | 972-9-971-7689

Software Engineer, Storage Solutions

Voltaire – _The Grid Backbone_

__

www.voltaire.com <http://www.voltaire.com/>



_______________________________________________
Ips mailing list
Ips@xxxxxxxx
https://www.ietf.org/mailman/listinfo/ips

_______________________________________________
Ips mailing list
Ips@xxxxxxxx
https://www.ietf.org/mailman/listinfo/ips

[IETF]     [Linux iSCSI]     [Linux SCSI]     [Linux Resources]     [Yosemite News]     [IETF Announcements]     [IETF Discussion]     [SCSI]

Add to Google Powered by Linux