Return-Path: <owner-ips-outgoing@ece.cmu.edu>
Received: from newbox.ece.cmu.edu (localhost [127.0.0.1])
	by newbox.ece.cmu.edu (Cyrus v2.1.12) with LMTP; Fri, 08 Aug 2003 09:26:41 -0400
X-Sieve: CMU Sieve 2.2
Received: from osgood.ece.cmu.edu (OSGOOD.ECE.CMU.EDU [128.2.129.25])
	by newbox.ece.cmu.edu (Postfix) with ESMTP id AE46D32DB
	for <ipsml@ece.cmu.edu>; Fri,  8 Aug 2003 09:26:41 -0400 (EDT)
Received: by osgood.ece.cmu.edu (Postfix, from userid 953)
	id 71D0D87; Fri,  8 Aug 2003 09:26:41 -0400 (EDT)
Received: from sos.ece.cmu.edu (SOS.ECE.CMU.EDU [128.2.129.27])
	by osgood.ece.cmu.edu (Postfix) with ESMTP
	id DE3AF6E; Fri,  8 Aug 2003 09:26:38 -0400 (EDT)
Received: by sos.ece.cmu.edu (Postfix)
	id 1FB4889E1; Fri,  8 Aug 2003 09:26:22 -0400 (EDT)
Delivered-To: ips-outgoing@sos.ece.cmu.edu
Received: from hazard.ece.cmu.edu (HAZARD.ECE.CMU.EDU [128.2.129.24])
	by sos.ece.cmu.edu (Postfix) with ESMTP id F23AC89E0
	for <ips-outgoing@sos.ece.cmu.edu>; Fri,  8 Aug 2003 09:26:21 -0400 (EDT)
Received: by hazard.ece.cmu.edu (Postfix)
	id A91F78D; Fri,  8 Aug 2003 09:26:21 -0400 (EDT)
Delivered-To: ips-outgoing@ece.cmu.edu
Received: by hazard.ece.cmu.edu (Postfix, from userid 953)
	id 7DCD599; Fri,  8 Aug 2003 09:26:21 -0400 (EDT)
Received: from sos.ece.cmu.edu (SOS.ECE.CMU.EDU [128.2.129.27])
	by hazard.ece.cmu.edu (Postfix) with ESMTP id 36E6287
	for <ips-outgoing@ece.cmu.edu>; Fri,  8 Aug 2003 09:26:18 -0400 (EDT)
Received: by sos.ece.cmu.edu (Postfix, from userid 363)
	id 065F889EE; Fri,  8 Aug 2003 09:26:18 -0400 (EDT)
X-Original-To: ips@sos.ece.cmu.edu
Delivered-To: ips@sos.ece.cmu.edu
Received: from osgood.ece.cmu.edu (OSGOOD.ECE.CMU.EDU [128.2.129.25])
	by sos.ece.cmu.edu (Postfix) with ESMTP id 9739A89E0
	for <ips@sos.ece.cmu.edu>; Fri,  8 Aug 2003 09:26:16 -0400 (EDT)
Received: by osgood.ece.cmu.edu (Postfix)
	id 2ABCE6F; Fri,  8 Aug 2003 09:26:16 -0400 (EDT)
Delivered-To: ips@ece.cmu.edu
Received: by osgood.ece.cmu.edu (Postfix, from userid 953)
	id EAB3283; Fri,  8 Aug 2003 09:26:15 -0400 (EDT)
Received: from MAHO3MSX2.corp.emc.com (maho3msx2.corp.emc.com [128.221.11.32])
	by osgood.ece.cmu.edu (Postfix) with ESMTP id 37E816F
	for <ips@ece.cmu.edu>; Fri,  8 Aug 2003 09:26:13 -0400 (EDT)
Received: by maho3msx2.corp.emc.com with Internet Mail Service (5.5.2653.19)
	id <Q2NRGGRF>; Fri, 8 Aug 2003 09:26:12 -0400
Message-ID: <B459CE1AFFC52D4688B2A5B842CA35EA7A4E02@corpmx14.us.dg.com>
From: Black_David@emc.com
To: Julian_Satran@il.ibm.com, eddy_quicksall@ivivity.com
Cc: ips@ece.cmu.edu
Subject: RE: checking immediate data
Date: Fri, 8 Aug 2003 09:26:10 -0400 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain
Sender: owner-ips@ece.cmu.edu
Precedence: bulk
X-Spam-Status: No, hits=-8.0 required=5.0
	tests=BAYES_10,NO_REAL_NAME,QUOTED_EMAIL_TEXT
	version=2.50
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp)

Eddy and Julian

In the current specification, the target requirement also avoids
an interoperability problem if a broken initiator sends immediate
data that it has no business sending - since in the absence of the
requirement, target acceptance of the immediate data will be
implementation-dependent, the result is an annoying "sometimes
it works, sometimes it doesn't" situation.

It's better to have the initiator fail the first time it tries this
and get fixed, as opposed to building up an installed base where this
works when it shouldn't, as that would eventually cause removal of
the ImmediateData negotiation key, as targets would always have to
accept immediate data to deal with broken initiators who don't
know how not to send it.

Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
black_david@emc.com        Mobile: +1 (978) 394-7754
----------------------------------------------------

> -----Original Message-----
> From: Julian Satran [mailto:Julian_Satran@il.ibm.com] 
> Sent: Friday, August 08, 2003 1:25 AM
> To: Eddy Quicksall
> Cc: Ips@Ece.Cmu.Edu (ips@ece.cmu.edu); owner-ips@ece.cmu.edu
> Subject: Re: checking immediate data
> 
> 
> The reason beyond this was that a 'highly optimized target may have 
> prepared already the R2T. I guess that you are objecting to 
> the second 
> MUST in the sentence  and I guess that except for recovery it 
> is a bit too 
> strong. For recovery however you might end up having a 
> different sequence 
> in recovery vs. original.
> 
> Regards,
> Julo
> 
> 
> 
> Eddy Quicksall <eddy_quicksall@ivivity.com> 
> Sent by: owner-ips@ece.cmu.edu
> 07/08/2003 19:34
> 
> To
> "Ips@Ece.Cmu.Edu (ips@ece.cmu.edu)" <ips@ece.cmu.edu>
> cc
> 
> Subject
> checking immediate data
> 
> 
> 
> 
> 
> 
> Section 12.11 says:
>  
> If ImmediateData is set to No and InitialR2T is set to Yes, then the
> initiator MUST NOT send unsolicited data and the target MUST reject
> unsolicited data with the corresponding response code.
>  
>  
> If the initiator says ImmediateData=No and the target has the 
> capability 
> of taking immediate data BUT the initiator sends immediate 
> data anyway, 
> why should the target be responsible to make that check (as 
> long as it 
> isn't going to break the target)? 
>  
> Eddy
>  
> 
