|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] iSCSI: need for new data SNACK code?Julian, I am still unclear about the need to add the new data SNACK code. IMHO, this can only be confusing to both initiator and target implementers - to have two codes that have identical semantics on the wire. The only remaining reason that I see from David (attached below) is that the new code makes the initiator aware that it must request status retransmission. IOW, you're expecting the initiator to be careful enough to use the new code, but somehow you don't expect it to be attentive enough to discard the status PDU unless it had used this new code in an *outbound* SNACK. I completely miss this rationale. I'd buy the new code if it's meant to convey something different to *targets* because they need to process these SNACK PDUs. I see nothing that the targets need to different in satisfying either SNACK. Both parties are aware of the fact of PDU size change, it it had happened. The only two changes from the rev14 text that I propose are that we add: a) The first status PDU must always be dropped after a MaxRecvDataSegmentLength change, if ever a data SNACK is employed for the task. Initiator MUST issue a status SNACK to recover the status PDU (i.e. move the onus of retransmitting status from the target to the initiator). b) A SNACK requesting an R2T, Data or Status PDU for a task MUST be issued before the status for the task is acknowledged. I'll be glad to see any technical reasons that I am overlooking, that require two codes. I'd assume Elizabeth would be the process co-chair, if need be. Regards. -- Mallikarjun Mallikarjun Chadalapaka Networked Storage Architecture Network Storage Solutions Hewlett-Packard MS 5668 Roseville CA 95747 cbm@rose.hp.com T.30 (Resegmenting may come as a surprize - suggested a different request) Ouch - the new SNACK type code was inserted in the middle of the sequence making this change not backwards compatible with earlier versions. Please use 3 for the new R-Data SNACK and leave 0, 1 and 2 unchanged from -14. I am ok with the Initiator deciding whether it needs a new Response and using the existing Status SNACK mechanism to get it - that's definitely cleaner than my proposed abuse of the service response code. The current working draft uses a MAY for the initiator requesting a status retransmit - I prefer Mallikarjun's proposal on the list that the initiator MUST discard the first Response PDU and MUST use a Status SNACK to get one that is certain to reflect any resegmentation. I still disagree with Mallikarjun about the new R-Data SNACK type code - I would prefer to see this code used so that the initiator is clearly aware that it is in a situation where it MUST request status retransmission. Getting this wrong risks returning incomplete data on a READ.
Home Last updated: Thu Jul 11 18:18:52 2002 11281 messages in chronological order |