|
But that only requires holding a Data-Out PDU header while
the
corresponding data is in the RX pipe - once the data digest
CRC
has been checked, the Data-Out
PDU headers can be discarded -
they don't have to be held until the status is sent and
acked.
Reject is primarily intended for errors that can be
detected
on receipt of the PDU.
Thanks,
--David
David, In some situations, for example, one or more
DATA-OUT PDUs of a WRITE are CRC ERROR. If the implementation(just like mine)
choose to use Pipeline fashion process in which TX and RX are seperated as two
stages, then it seems we have no choice but to hold those CRC ERROR DATA-OUT
PDU headers until the REJECTs sent out. As we do not know
how many DATA-OUT PDU will become CRC ERROR in RX stage, so we choose
to reserve all DATA-OUT PDU headers in the end.
Best
Regards, Jason HU
From: Black_David at emc.com Subject: RE: [Ips] Send Reject PDU when orignal
to-be-rejected PDU is notavailable Date: Wed, 16 Apr 2008 00:30:10
-0400 To: hzj_wuying at hotmail.com; ips at ietf.org
Jason,
The CmdSN window allows the target to control the
resources consumed
by commands.
I don't understand the need to save "all PDU header
comes from the
Initiator until corresponding statSN is explicitly
ACKed". What purpose is that
accomplishing (e.g., why save all
the iSCSI Data-Out PDU headers for a SCSI
WRITE)?
In any case, the original PDU header is
required for a Reject in order
for the initiator to
figure out what was rejected. If the initiator
cannot figure that out, it is going to have a very
difficult time
recovering from the Reject.
Thanks,
--David
---------------------------------------------------- David
L. Black, Distinguished Engineer EMC Corporation, 176 South St.,
Hopkinton, MA 01748 +1 (508)
293-7953
FAX: +1 (508)
293-7786 black_david at emc.com
Mobile: +1 (978)
394-7754 ----------------------------------------------------
Hi David,
Thank you for the suggestion. A little
more to consider is that it seems that whatever mechanisms we use, as a
target, we must reserve all PDU header comes from Initiator until the
coressponding statSN is explicitly acked. For a resource-limted iscsi
target engine(all SCSI data is on host, so it is not in this question), It
can be considered as a big memory consumer and becomes a bottlenack.
Best Regards, Jason
From: Black_David at emc.com Subject: RE: [Ips] Send Reject PDU when
orignal to-be-rejected PDU is notavailable Date: Tue, 15 Apr 2008
23:04:15 -0400 To: hzj_wuying at hotmail.com; ips at ietf.org
The original PDU header has to be sent back so
that the initiator
knows what was rejected. iSCSI has a
number of mechanisms that
can be used by the target to control resource
consumption and
those should be
used to ensure that adequate resources are
available to deal
with the PDU that is to be
rejected.
Thanks,
--David
---------------------------------------------------- David L.
Black, Distinguished Engineer EMC Corporation, 176 South St.,
Hopkinton, MA 01748 +1 (508)
293-7953
FAX: +1 (508)
293-7786 black_david at emc.com
Mobile: +1 (978)
394-7754 ----------------------------------------------------
Dears,
I am curently
implement iscsi target on a resource-limted device. In my
implementation, orignal to-be-rejected PDU is not available when it
realised that a Reject should be sent to initiator. But
as RFC3720 said, Target must send back the orignal PDU as
the Reject's payload. So my question is: Why we need
to send back the orignal PDU ? Can we simply eliminate
it? Thanks!
Best Regards,
Jason
“七件武器,七种完美” 立刻体验!
Windows Live Writer,支持离线撰写博客内容,随时随地想写就写。 立即使用!
Windows Live Writer,支持离线撰写博客内容,随时随地想写就写。 立即使用!
|